当我们编写一个较小的C语言程序时,关注点可能在表达式、语句等语言成分上。当面对的程序有成千上万行代码时,我们首先将它划分为若干个程序模块,每个模块用来实现一个特定的功能;然后再分别实现各个模块,组成一个完整的程序系统。这样的思路,易于理解,便于操作,能提高编程效率。这就是通常所说的模块化程序设计思想。
函数是C语言程序的基本模块,通过对模块的调用来实现特定的功能。可以说C语言程序的全部工作都是由各式各样的函数完成的。所以把C语言称为函数式语言。
图5-1所示的是某个程序中若干函数之间的调用关系图,其中每个方框表示一个函数模块,箭头表示其间的调用关系。该图表明main()函数调用了f1()、f2()、f3()函数。相对而言,我们称main()为主调函数,f1()、f2()、f3()为被调函数。f1()调用了g1()、g2()、g3()函数,f3()调用g4()、g5()函数。
图5-1 某程序的函数调用关系
前面的章节已经多次使用过函数,如printf()、scanf()等,只不过这些都是编译系统提供的库函数,也称为标准函数;另一类函数是,为满足用户所需要的功能而专门编写的自定义函数。设计、编写自定义函数是程序员最常见的工作。(www.xing528.com)
使用C语言编写程序,实际上要做两件事情:一是编制不同功能的函数,二是调用这些函数。本章就是在学习有关函数语法规则的基础上,引导读者不断提高编写自定义函数的能力。要达到这个目的,需要读者先熟悉下面的模块化程序设计方法。
①自顶向下对问题进行分解。程序员常常利用这个方法将大问题分解成若干小问题,直到每个小问题都便于用一个函数来实现。
②尽可能地使每个函数能独立完成一项特定的功能。虽然有时因为问题的多个方面互相牵扯,使得这个目标难以圆满实现,但这始终是程序员追求的一个目标。
③尽可能地改进每个函数,使其便于将来的重复使用。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。