当前位置:
首页
文章
后端
详情

关于C语言的第一个程序的详细分析

当前很多比较流行的编程语言,例如 Java、Python、C++ 等,都是基于 C 语言,说 C 语言是现代编程语言的开山鼻祖也毫不为过。如果想要成为一个程序编程高手,那么学习 C 语言是必不可少的。下面我将通过 C 语言一个简单的代码程序,详细分析程序的内容。

一、代码

#include <stdio.h>
int main()
{
    puts("Hello World");
    return 0;
}

二、头文件

#include&lt;stdio.h&gt;

当C语言开发者编写了许多的常用函数,并把它们分别放在不同的文件下,而这些文件就被称之头文件。如果想要使用这些函数,就得把函数所在头文件引入,否则编译器就找不到函数。

这个概念和 Java 中的导包、Python 中的倒库有一些相似,在 Java 和 Python 中可以通过 import 关键字来导入包和库,这样才可以调用包或者库中所有的方法或者函数。

在C语言中,引入头文件使用的是 ​#include​ 命令,并把文件名放在​ &lt;&gt; ​之间。​#include ​和​ &lt;&gt; ​之间可以有空格,也可以没有。

头文件是以​ .h ​作为后缀,C语言代码文件中则是以​ .c ​作为后缀,它们都属于文本文件,在本质上没有什么区别。

#include 命令的作用不过就是把头文件中的内容复制到当前文件下面,然后跟着当前文件一起编译。如果你把头文件的内容复制到当前文件中,那么这样你就不用引入头文件。

注:头文件并不是 C 语言中必须要引入的部分,如果下面程序要实现的功能没有头文件里面的函数,那么就不需要将头文件引入。例如:

int main(){
    return 0;
}

这里没有使用 puts 函数,也因此无需引入头文件。

三、函数的概念

puts("Hello World")

这行代码在显示器上会显示出“Hello World”,相当于 Java 中​ System.out.println​或者 Python 中的 ​print​,有输出打印的意思。

在 C 语言中,有一些语句不需要带括号,而有的则是必须要带括号,而这一些带括号的就被称之为函数(Function)。

虽然我们在敲代码的过程,只需要一句代码就能够实现想要的效果。但是实现这些功能的底层都比较复杂,往往是软件和硬件的结合,还需要考虑到方方面面。如果要把这些功能都让程序员来完成,那么无疑就会增大程序员的学习成本以及降低编程效率。

因此,这些代码早就被专门分类放在不同的文件里,而且每一段代码都有一个自己唯一的名字。当我们需要使用这个功能的时候,只需要在对应的名字后面加上一个 () 就可以了。像这种一段代码就可以独立完成某一些功能,一次编写后就可以反复调用,也就被称之为函数。就如 puts(),它就是一段写好了,具有输出功能的代码。

四、自定义函数和main函数

C 语言中自身就有的函数就被称之为库函数(Library Function)。库(Library)在编程语言中是一个很基本的概念,可以简单地把它看作是一些个函数的集合,在磁盘上相当于是一个文件夹,函数就是它下面的子文件。

C 语言自身携带的库称作标准库(Standard Library),而其他公司或者是个人开发的库,叫做第三方库(Third-Party Library)。

当然,如果标准库和第三方库都没有自己想要的函数方法,也可以编写自己的函数,拓展程序的功能,而这一系列操作也就是自定义函数。在编写和使用方式上,自定义函数和库函数是一致的,只是不同的机构、不同的人编写而已。

如上面的代码,​int main(){ 功能 };

  • int    是 integer 的缩写,意思是"整数”。它在这里的意思,就是为了告诉我们,这个函数返回的值只能是整数。
  • main    是这个函数的名字。
  • ()    表示这是函数定义。
  • {};    大括号里面则是这个函数要实现的功能。

注:

C语言规定,每一个程序都必须有且仅有一个 main 函数,而 main 函数也被称之为主函数,是程序的入口函数,每一个程序都是从 main 函数开始,直到 main 函数结束。(遇到 return 或者执行到函数末尾,函数才结束。)

这一点就相当于 Java 中的 main 主方法,必须有这一个 main 方法,Java程序才可以运行。

所以说,如果没有 main 函数,那么 C 语言程序就不知道开始的入口,在运行的时候也就会产生报错。

五、总结

以上就是关于通过一段简单的 C 语言程序初步了解 C 语言的详细内容,想要了解更多关于 C 语言的其他内容,可以阅读浏览W3Cschool相关内容的文章,如果本篇文章有帮助到您的学习,也希望大家能够对我们多多地关注和支持!


免责申明:本站发布的内容(图片、视频和文字)以转载和分享为主,文章观点不代表本站立场,如涉及侵权请联系站长邮箱:xbc-online@qq.com进行反馈,一经查实,将立刻删除涉嫌侵权内容。

同类热门文章

深入了解C++中的new操作符:使用具体实例学习

C++中的new操作符是动态分配内存的主要手段之一。在程序运行时,我们可能需要动态地创建和销毁对象,而new就是为此提供了便利。但是,使用new也常常会引发一些问题,如内存泄漏、空指针等等。因此,本文将通过具体的示例,深入介绍C++中的new操作符,帮助读者更好地掌握其使用。


深入了解C++中的new操作符:使用具体实例学习

怎么用Java反射获取包下所有类? 详细代码实例操作

Java的反射机制就是在运行状态下,对于任何一个类,它能知道这个类的所有属性和方法;对于任何一个对象,都能调用这个对象的任意一个方法。本篇文章将通过具体的代码示例,展示如何通过Java反射来获取包下的所有类。


怎么用Java反射获取包下所有类? 详细代码实例操作

了解Java中的volati关键字的作用 以及具体使用方法

本篇文章将和大家分享一下Java当中的volatile关键字,下面将为各位小伙伴讲述volatile关键字的作用以及它的具体使用方法。


了解Java中的volati关键字的作用 以及具体使用方法

Java Map 所有的值转为String类型

可以使用 Java 8 中的 Map.replaceAll() 方法将所有的值转为 String 类型: 上面的代码会将 map 中所有的值都转为 String 类型。 HashMap 是 Java

Java Map 所有的值转为String类型

员工线上学习考试系统

有点播,直播,在线支付,三级分销等功能,可以对学员学习情况的监督监控,有源码,可二次开发。支持外网和局域网私有化部署,经过测试源码完整可用!1、视频点播:视频播放,图文资料,课件下载,章节试学,限时免

员工线上学习考试系统