
1.1.4 C程序的基本结构
任何一种程序设计语言都具有特定的语法规则和规定的表达方法。一个程序只有严格按照语言规定的语法和表达方式编写,才能保证编写的程序在计算机中能正确地执行,同时也便于阅读和理解。
为了方便读者了解C语言程序的形式和结构,下面介绍两个简单的C程序。
【例1-1】编写程序,在屏幕上输出字符串“Hello,World!”。

【运行结果】这是一个最简单的C程序,其执行结果是在屏幕上显示一行信息:
Hello,World!
【程序说明】
(1)#include为文件包含命令,其作用是把后面尖括号(<>)内指定的头文件“stdio.h”包含到本程序中,这个头文件是C语言编译系统提供的,其中放置着许多与输入/输出操作有关的标准函数原型。由于这个程序需要显示输出,所以必须将这个头文件嵌入到程序中,以便在程序中能够调用头文件中声明的标准输出函数printf(),从而实现在屏幕上显示文本行“Hello,World!”的目的。
(2)main是主函数的函数名,一个C语言程序只能有一个main()函数,main()函数的内容放在一对花括号“{}”内,称为函数体,其中的每一条语句用“;”结束。
(3)/*……*/中和//后的内容为注释,可以增强程序的可读性,注释不参加编译。程序编写者应当重视使用注释,养成良好的编程习惯。
【例1-2】编写程序,实现输出两个数中的较大的数。


【运行结果】
Max=3
【程序说明】
(1)本程序包括main()和被调用函数max()两个函数。max()函数的作用是将x和y中较大者的值赋给变量z。return语句将z的值返回给主调函数main()。
(2)程序的运行从main()函数开始。main()函数在调用max()函数时,将实际参数a、b的值分别传送给max()函数中的形式参数x、y。经过执行max()函数得到一个结果(即max()函数中变量z的值)并把这个值赋给变量c。
从上面程序例子,可以看出C程序主要由main()函数、头文件引用、变量、函数、注释、大括号语句块、分号组成,具体的组成结构如图1.1所示。

图1.1 C程序组成部分
1.main()函数
每个C语言程序必须至少包含一个主函数:main()函数,它是C语言程序中唯一必不可少的组成部分。主函数的格式如下:

函数体可以分为声明部分和执行部分这两部分,声明部分用于定义变量的数据类型,而执行部分用于实现想要结果的指令。
主函数可以放于程序内的任何位置,但是程序执行后将从主函数开始执行,并且也大多数从主函数结束。主函数可以调用其他的函数,但是其他函数不能调用主函数。
2.文件头引用
在C程序中,经常会用到输入函数和数学函数等,而这些函数都被事先编写好放在了各种“头文件”中,开发人员只需引用这些相应的“头文件”即可实现对各种函数的使用。文件头引用的格式如下:

在C程序中加上“头文件”的引用,就是将头文件的内容整体嵌入到所编写的源程序中。使用“头文件”可以提高程序的效率和稳定性,并减少开发人员的劳动量。程序员只需将需要的功能模块用include语句调用并使用即可。C语言中常用的“头文件”有stdio.h(输入/输出函数)、math(数学函数)和string.h(字符和字符串函数)等。
3.变量定义部分
变量是其值可以改变的量。在程序运行时,程序使用变量里存储的各种信息。如果在C语言中使用变量,必须在使用前定义它。
4.函数类型声明部分
此部分的功能是将程序中包含的函数在定义和调用之前进行声明并将有关信息通知编译系统。函数声明不同于函数定义,后者包含了组成函数的实际语句。
5.函数定义部分
此部分的功能是用于完成特定的功能。除了main()主函数和C库函数外,还有其他的用户自定义的函数。这些函数都包括说明部分和函数体,说明部分用于说明函数的名称、类型和属性等信息,而函数体是函数说明部分下面“{}”内的部分代码。
6.注释语句
C程序中的注释以“/*”符号开始,以“*/”结束,注释的内容不会被编译,也不会被执行,它可以出现在程序的任何位置。注释可以占一行或多行,当只占一行时,可以使用“//”来注释。
在程序中放入注释语句,可以提高程序的可读性。当程序规模很大或很复杂时,可以通过注释来规划程序的功能,并便于后期维护。
7.大括号“{}”
“{}”的功能是将组成每个C函数的程序括起来,“{}”中的语句被称为代码块。
8.分号“;”
“;”的功能是表示每条语句的结束,它是C语言程序的必要组成部分。