一个完整的C语言程序是什么样的?

为了创建完整的 C语言程序需要在 C 源文件中输入代码。任何文本编辑器(比如 Windows 中的“记事本”)都可以创建 C 源文件,它们的文件名通常以“.c”结尾。 

在计算机中通常把文件名后面的以“.”引领的字符串称为文件的扩展名或后缀名,比如:
  • word 文件名中的“.doc”;
  • 文本文件名中的“.txt”;
  • 可执行文件名中的“.exe”。

文件的扩展名是计算机中用来表示文件类型的一种方式,比如文件名中带有“.doc”扩展名的文件都是 word 文档,用 Word 软件可以打开它。文件名中带有“.c”扩展名的文件都是 C语言源文件,可以用我们在上一节中提到的 C语言编译器来编译处理成计算机可以执行的文件(扩展名为“.exe”)。

完整的 C语言源程序通常由注释块、预处理指令、main( ) 函数三部分组成(如图 1)。

完整的C语言源程序的组成
图 1:完整的 C语言源程序的组成

C语言源程序通常以注释开头。注释描述了文件中这段代码的意图,也可能包含一些许可协议或版权信息。在文件的开头或其他任何地方添加注释不是必需的,但加上注释是个很好的编程习惯,这些注释有助于我们更好的理解代码的含义。

C语言中的注释有两种表示方式:
  • “块注释”,用符号“/*”和“*/”包围起来,可以放在程序的任意位置;
  • “行注释”,用符号“//”表示,一行内“//”之后的内容都是注释。

以“#”号打头的语句都是预处理指令。
  • #include 指令告诉 C 编译器要使用的外部代码所在的库文件名(称之为头文件),stdio.h 和 stdlib.h是最常见的头文件:
    • stdio 库中包含了那些能在终端设备读写数据(输入输出)的程序代码(函数);
    • stdlib 库中包含了分配计算机内存、中止运行程序以及获取随机数等的程序代码(函数)。
  • #define 指令定义程序中用到的一些不会变化的值(称之为常量)。

main( ) 函数是 C 程序源文件中的主体。对任何 C语言程序来讲,main( ) 函数是程序中所有代码的起点,每个C语言程序都有一个 main( ) 函数,由 main( ) 函数在需要的时候调用其他函数。代码清单 1 中的 main( ) 函数调用了 printf( ) 函数和 system( ) 函数。printf( ) 函数包含在头文件 stdio.h 中,system( ) 函数包含在头文件 stdlib.h 中。

代码清单 1:C语言源程序文件示例
/*
我的第一个 C 语言程序。
屏幕第 1 行显示“Hello,World!”;
屏幕第 2 行显示“圆周率约等于 3.14159”;
*/

#include <stdio.h>      //预处理指令 #include 包含头文件 stdio.h
#include <stdlib.h>     //预处理指令 #include 包含头文件 stdlib.h
#define PI 3.14159      //预处理指令 #define 定义常量 PI 的值

int main( )                          //main 主函数(每一个 C 程序都必须包含它)
{                                    //函数体开始符
    printf("Hello,World!\n");        //printf 函数
    printf("圆周率约等于%f\n",PI);   //printf 函数
    system("pause");                 //system 函数
    return 0;                        //函数返回值
}                                    //函数体结束符
 
C语言程序的一般形式如图 2 所示:

C语言程序的一般形式
图 2:C语言程序的一般形式