通过以上两个例子,我们对C语言程序的组成和结构有了初步和直观的了解,总结如下:
1)一个C语言程序的主体结构是由一个或若干个函数构成的。这些函数的代码以一个或若干个文件的形式保存。这些函数中必须有且只能有一个名为main的主函数。
2)主函数main是程序的入口,它可以出现在程序的任何位置。一个C语言程序总是从主函数main开始执行。
3)C语言程序中的函数包括:主函数main,用户自定义函数(例如,例1-2中的area),系统提供的库函数(例如,输出函数printf)。
4)函数由函数头和函数体两部分组成,函数头由函数类型的定义、函数名和参数表组成,函数体由声明部分(所使用变量和函数的说明)和若干执行语句组成。
5)语句由关键字和表达式组成,每个语句和声明部分的结尾都必须加分号。复合语句的开头和结尾分别使用左花括号{和右花括号}。
关键字是由C语言系统规定的具有特定功能的固定字母组合。例如,例1-2中的int、double和return就是关键字。
用运算符将操作对象连接起来、符合C语言语法的式子称为 表达式 。表达式的组成元素有变量、常量、函数调用、运算符。这些组成元素是以标识符和关键字等形式存在的。例如,例1-2中的h2=1.5*h1和w1=20.5都是表达式。
6)程序中“/* */”内的文字是程序的注释部分,是便于理解程序的解释性附加文本,程序编译器完全忽略注释部分的内容。此外,在调试程序时,也可以将一部分代码转换为注释保留,而不必删除,以提高程序调试的效率。
另外,一些C语言开发工具还支持用“//”标识注释部分,如果某行程序代码前面插入了符号“//”,那么该符号后面的部分就变为注释行,并且本行有效,不能跨行。一般情况下,如果注释内容在程序中占用多行,习惯用“/* */”,而单行注释内容用“//”标识即可。
从以上分析可以发现,C语言程序的组织和构造与日常文章的结构很类似,如表1-1所示。
表1-1 文章和C语言程序对应的层次结构
在一般语言的学习过程中,首先学字、词组,然后造句、阅读范文,最后写作文。现在学习计算机语言,我们也同样遵循这个规律,即先学习常量、变量的类型和定义方法,然后依次学习表达式、语句和函数等,同时阅读一些程序范例,最后编写程序。当然二者也有本质上的区别,学习一般语言以形象思维为主,而学习计算机语言是以逻辑思维为主。C语言程序的层次结构如图1-4所示。
图1-4 C语言程序的层次结构