学科分类
目录
C语言

函数的概念

日常生活中解决实际问题时,经常把一个大任务分解为多个较小任务,由多人分工协作完成。用C语言编写程序时也采用类似的方法,当要完成的任务需要编写成千上万行代码时,一般先将任务划分为若干程序模块,每个模块用来实现一个特定的功能;然后再分别实现各个模块;最后将实现的所有模块组成一个完整的程序。这样的思路不仅易于理解、便于操作,而且“好”的模块便于重复使用,可以大量减少编写重复代码的工作量,提高编程效率。

例如,战斗类游戏程序,需要多次发射炮弹、转换方向、统计战绩,那么设计程序时,可以考虑模块化设计,将发射炮弹功能、转向功能、统计战绩功能分别看做是一个模块进行设计,并编写代码实现对应的功能。

如果发射炮弹的动作需要编写100行的代码,在每次实现发射炮弹的地方重复编写这100行代码,程序会变得很“臃肿”,可读性也非常差。为了解决代码重复编写的问题,可以将发射炮弹的代码提取出来放在一个{}中,并为这段代码起个名字,这样每次发射炮弹时只需通过这个名字调用发射炮弹的代码即可。上述过程中提取出来用于实现某项特定功能的代码可以看作是程序中定义的一个函数。

在C语言中,函数是最简单的程序模块。函数被视为程序设计的基本逻辑单位,一个C程序是由一个main()函数和若干个其他函数组成的。程序执行从main()函数开始,由main()函数调用其他函数实现相应功能,直到程序结束。

C语言中的函数可分为库函数与自定义函数。库函数由系统提供,在文件头部包含相应的库之后就可以直接调用库中的函数,例如,前面学习的格式化输出输入函数printf()与scanf(),这两个函数就是库函数,它们定义在标准库stdio.h中。如果文件头部包含stdio.h标准库,那么该文件就可以直接调用库中的函数。自定义函数是用户自行定义的函数,是为了解决用户自己的业务问题。

在C语言中,定义和调用函数时,要注意以下几个问题:

(1)C程序的执行是从main()函数开始的。

(2)一个C程序由一个或多个程序模块组成,每一个程序模块都是一个源程序文件。一个源程序文件由一个或多个函数以及其他有关内容(如指令、数据声明与定义等)组成。

(3)所有函数都是平行的,即函数定义是分别进行的,是互相独立的。一个函数并不从属于另一个函数,即函数不能嵌套定义。

点击此处
隐藏目录