首页 理论教育C语言程序设计基础:分治与信息隐藏

C语言程序设计基础:分治与信息隐藏

【摘要】:这些“零部件”既可以是自己设计的,也可以是别人设计的,或者是现成的标准产品。这就是所谓的信息隐藏的思想。显然,在进行模块化程序设计时,我们应该遵循信息隐藏的原则。C程序由一个或多个函数组成,有且仅有一个名为main的主函数。图5.1C程序结构

前面章节中的程序都是规模相对较小的程序。在实际应用中,典型的商业软件通常有数十万、数百万、数千万行代码甚至更多。为了降低开发大规模软件的复杂度,程序员必须将大的问题分解为若干个小问题,小问题再分解为更小的问题。这种把较大的任务分解成若干个较小、较简单的任务,并提炼出公用任务的方法,称为分而治之。它是人们解决复杂问题的一种常用方法。

模块化程序设计就体现了这种“分而治之”的思想。在结构化程序设计中,主要采用功能分解的方法来实现模块化程序设计,功能分解是一个自顶向下、逐步求精的过程,即一步一步地把大功能分解为小功能,从上到下,逐步求精,各个击破,直到完成最终的程序。模块化程序设计不仅使程序更容易理解,也更容易调试和维护。

函数是C语言中模块化程序设计的最小单位,既可以把每个函数都看作是一个模块,也可以将若干相关的函数合并成一个模块。如果把程序设计比作制造机器,那么函数就好比是它的“零部件”,可以将这些“零部件”单独设计、调试、测试好,用的时候拿出来装配,并进行总体调试。这些“零部件”既可以是自己设计的,也可以是别人设计的,或者是现成的标准产品。

图5.1显示了一个典型的C程序结构。如图所示,一个C程序可以由一个或多个源程序文件组成,一个源程序文件又可以由一个或多个函数组成。设计得当的函数可以把函数内部的信息(包括数据和具体的操作的细节)对不需要这些信息的其他模块隐藏起来,既不能访问,让使用者不必关注函数内部是如何做的,只知道它能做什么以及如何使用它即可,从而使整个程序的结构更加紧凑,逻辑也更加清晰。这就是所谓的信息隐藏的思想。显然,在进行模块化程序设计时,我们应该遵循信息隐藏的原则。

模块化程序设计在C语言中通过函数来体现。C程序由一个或多个函数组成,有且仅有一个名为main的主函数。一个可以运行的C程序总是从主函数开始执行,完成对其他函数的调用后再返回到main函数,执行完main函数后结束整个程序运行。(www.chuimin.cn)

主函数常常通过调用其他函数来实现它的功能,这些被调用的函数可以分为两类:标准库函数和用户自定义函数。

图5.1 C程序结构