C语言程序结构

C语言一经出现就以其功能丰富,表达能力强,灵活方便,应用面广等特点迅速在全世界普及和推广。C语言不但执行效率高而且可移植性好,可以用来开发应用软件,驱动,操作系统等。C语言也是其他众多高级语言的鼻祖语言,所以说学习C语言是进入编程世界的必修课。

C程序主要包括以下几个部分:

·预处理指令

·函数

·变量

·语句&表达式

·注释

C Hello World 实例:

代码实例:

Hello World 实例

·程序的第一行#include 是预处理指令,告诉C编译器在实际编译之前要包含stdio.h文件

·下一行int main()是主函数,程序从这里开始执行

·下一行/* ... */将会被编译器忽略,这里放置的内容称为注释

·下一行printf(...)是C语言中另一个可用的函数,会在屏幕上显示消息"Hello World"

·下一行 return 0; 终止main()函数,并返回0

运行结果

运行结果

C程序结构

简单来说,一个C程序就是由若干头文件和函数组成。

以 Hello World 实例分析:

#include 就是一条预处理命令,stdio.h是一个头文件。

为什么要使用头文件呢?

C语言的要求:函数必须先"声明"(或定义),否者编译器就不识别该函数,而printf()函数的声明就在头文件stdio.h中。

#include 表示把文件stdio.h中的所有内容拷贝到"这里"。

“ ”:尖括号表示在默认文件中去寻找需要包含的文件。

“ " " ”:双引号表示在当前目录中去查找,如果在当前目录中找不到就会到默认文件中去查找

函数就是实现代码逻辑的一个小单元。

一个函数主要包含以下几个部分:

·返回值类型

·函数名

·形式参数

·函数体

一个简单的函数示例

注意:在最新的C标准中,main函数前的类型为int而不是void

一个C程序有且只有一个主函数,即main函数

C程序就是执行主函数里的代码,也可以说这个主函数就是一个C程序中的唯一入口

这个道理就好比每一个电梯只有一扇门,我们如果想要乘坐电梯的话就必须从这扇门进入;而main前面的int就是主函数的类型,就好比电梯是什么材料制作的。

printf()是格式化输出函数,它的功能就是在屏幕上输出指定的信息,例如:

printf("Hello World"); //表示在屏幕上输出Hello World

return是函数的返回值,根据函数的类型不同,返回的值也是不同的。

程序解释——注释

注释是为了使别人能看懂你写的程序,也为了使你在一段时间后还能看懂你曾经写的程序而设定的。注释是写给程序员看的,不是写给电脑看的。所以,注释的内容C编译器在编译时会被自动忽略。

C语言注释有两种:

多行注释: /* 注释内容 */

单行注释://注释一行

以下是多行注释和单行注释的例子:

运行结果:

在运行结果中并没有看见注释中的内容,正说明注释在编译的时候会自动忽略掉

注:\n与%d都是是转义字符,\n表示换行。常用的转义字符还有:\t:"水平制表符"(Tab键);

%d十一占位符:表示读入一个十进制整数

·%s:表示读入一个字符串(字符串:就是多个字符组成的一个序列);

例:printf("%s","我爱中国"); //在屏幕上输出:我爱中国、

注:字符串需要用双引号引起来

·%f/%lf:表示读入一个浮点数(小数);

例:printf("%f",3.14); //在屏幕上输出:3.14

·%.3f:表示小数后保留三位有效数字,最后一位四舍五入;

例:printf("%.3f",3.1415926); //在屏幕上输出3.142

C程序的编译

首先,为什么要编译?

程序员写的代码,属于"高级语言",计算机无法识别。计算机只能识别0和1。所以,要把源代码转化为计算机能识别的文件。

C程序的编译大致有以下几个步骤:

·预处理:把程序员写的源代码,进行"预加工",把#include包含的文件内容拷贝到这里,还有宏替换等其他预处理(预处理后得到的还是源程序)。

·编译:把预处理后的源程序加工成"汇编程序"(汇编程序:使用"汇编语言"编写的程序,汇编语言是一种"低级语言",直接控制计算机的CPU,内存等)。

·汇编:把汇编程序加工成二进制程序(二进制程序:全部由0和1组成的程序)。

·链接:把二进制程序,和所需要的"库文件","组合加工"成计算机可以执行的文件。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200406A04J1T00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券