第3 章 函数和编译预处理v 3.1 函数概述 v 3.2 函数的定义和调用 3.3 函数的参数传递 3.4 函数的嵌套调用和递归调用 3.5 内置函数 3.6 变量和函数的属性 3.7 编译预处理 3.1 概述一个较大的程序不可能完全由一个人从头至尾地完成,更不可能把所有的内容都放在一个主函数中。为了便于规划、组织、编程和调试,一般的做法是把一个大的程序划分为若干个程序模块( 即程序文件) ,每一个模块实现一部分功能。不同的程序模块可以由不同的人来完成。在程序进行编译时,以程序模块为编译单位,即分别对每一个编译单位进行编译。如果发现错误,可以在本程序模块范围内查错并改正。在分别通过编译后,才进行连接,把各模块的目标文件以及系统文件连接在一起形成可执行文件。在一个程序文件中可以包含若干个函数。无论把一个程序划分为多少个程序模块,只能有一个main 函数。程序总是从main 函数开始执行的。在程序运行过程中,由主函数调用其他函数,其他函数也可以互相调用。在C 语言中没有类和对象,在程序模块中直接定义函数。可以认为,一个C 程序是由若干个函数组成的,C 语言被认为是面向函数的语言。C+ 面