2.1 C语言源程序

一个C语言源程序,是由一个或多个函数定义顺序组成的,其中必须有一个函数名为main的主函数。C语言源程序的主要组成部分有:编译预处理命令、注释和声明。而主函数则是被编译程序翻译成一个机器语言形式的主程序段,任何其他函数都将被编译程序翻译成机器语言形式的子程序段。

2.1.1 熟悉源程序的特点

通过对第1章的学习,我们总结出了C语言源程序的几个特点:

(1)一个C语言源程序可以由一个或多个源文件组成。

(2)每个源文件可由一个或多个函数组成。

(3)一个源程序不论由多少个文件组成,都有一个且只能有一个main()函数,即主函数。

(4)源程序中可以有预处理命令(“include”命令仅为其中的一种),预处理命令通常应放在源文件或源程序的最前面。

(5)每一个说明、每一个语句都必须以分号结尾,预处理命令除外。

(6)标识符和关键字之间必须至少加一个空格以示间隔。若已有明显的间隔符,可以不用再添加。

2.1.2 函数

C语言源程序中的函数并非数学中那些高深莫测的函数,它只是完成特定数据处理任务,功能上独立的一个程序段而已。

1.函数的定义

任何一个函数定义都是由函数首部和函数体构成。函数体必须用大括号“{”和“}”括起来,函数体必须紧接在函数首部之后。格式如下:

    函数定义=函数首部+函数体
    int main(void)()      // 函数首部
    {                     // 函数体
    ……
    return 0;
    }
2.函数体的成分

C语言源程序中,函数体的成分是由0条或多条变量组成的定义序列;1条或多条语句顺序组成的语句序列。格式如下:

    函数体的主要成分:变量定义序列+语句序列
    int r=5;
    int f=3;
    int s;     // 变量定义序列
    s=r*f;    // 语句序列

提示

变量定义序列和语句序列都是由分号“;”结尾的。

3.变量定义序列

C语言程序中的变量定义序列,被编译程序转变为机器语言程序中,存放多个数据的内存单元地址;而C语言源程序函数体中的语句序列,则被编译程序翻译成对这些内存单元中的数据,进行运算处理的机器指令序列。

【例2-1】编写一段程序,实现两个数相乘的功能。(源代码\ch02\2-1)

运行上述程序,结果如图2-1所示。

图2-1 变量定义序列

【代码解析】

main()是主函数的函数名,表示这是一个主函数,也是函数的首部。而函数体就是大括号里面的一系列语句。定义的三个整型变量r、s、f构成了一组变量序列,最后通过语句序列(s=r*f)输出需要的答案。