算法的描述方法主要有如下几种。例如,用传统流程图表示的顺序结构如图3.2所示,用NS图表示的顺序结构如图3.2所示,表示先执行A操作,再执行B操作,两者是顺序执行的关系。......
2025-09-30
前面章节中的程序都是规模相对较小的程序。在实际应用中,典型的商业软件通常有数十万、数百万、数千万行代码甚至更多。为了降低开发大规模软件的复杂度,程序员必须将大的问题分解为若干个小问题,小问题再分解为更小的问题。这种把较大的任务分解成若干个较小、较简单的任务,并提炼出公用任务的方法,称为分而治之。它是人们解决复杂问题的一种常用方法。
模块化程序设计就体现了这种“分而治之”的思想。在结构化程序设计中,主要采用功能分解的方法来实现模块化程序设计,功能分解是一个自顶向下、逐步求精的过程,即一步一步地把大功能分解为小功能,从上到下,逐步求精,各个击破,直到完成最终的程序。模块化程序设计不仅使程序更容易理解,也更容易调试和维护。
函数是C语言中模块化程序设计的最小单位,既可以把每个函数都看作是一个模块,也可以将若干相关的函数合并成一个模块。如果把程序设计比作制造机器,那么函数就好比是它的“零部件”,可以将这些“零部件”单独设计、调试、测试好,用的时候拿出来装配,并进行总体调试。这些“零部件”既可以是自己设计的,也可以是别人设计的,或者是现成的标准产品。
图5.1显示了一个典型的C程序结构。如图所示,一个C程序可以由一个或多个源程序文件组成,一个源程序文件又可以由一个或多个函数组成。设计得当的函数可以把函数内部的信息(包括数据和具体的操作的细节)对不需要这些信息的其他模块隐藏起来,既不能访问,让使用者不必关注函数内部是如何做的,只知道它能做什么以及如何使用它即可,从而使整个程序的结构更加紧凑,逻辑也更加清晰。这就是所谓的信息隐藏的思想。显然,在进行模块化程序设计时,我们应该遵循信息隐藏的原则。
模块化程序设计在C语言中通过函数来体现。C程序由一个或多个函数组成,有且仅有一个名为main的主函数。一个可以运行的C程序总是从主函数开始执行,完成对其他函数的调用后再返回到main函数,执行完main函数后结束整个程序运行。(https://www.chuimin.cn)
主函数常常通过调用其他函数来实现它的功能,这些被调用的函数可以分为两类:标准库函数和用户自定义函数。
图5.1 C程序结构
相关文章
算法的描述方法主要有如下几种。例如,用传统流程图表示的顺序结构如图3.2所示,用NS图表示的顺序结构如图3.2所示,表示先执行A操作,再执行B操作,两者是顺序执行的关系。......
2025-09-30
一个循环结构的循环体内又包含另外一个完整的循环结构,称为循环的嵌套。循环嵌套层数可以是多层,称为多重循环。在某些具有规律性重复计算的问题中,如果被重复计算部分的某个局部又包含着另外的重复计算问题,就可以通过使用循环的嵌套结构来处理。while和for 3种循环控制结构均可互相嵌套,并且可以多层嵌套以适应不同的应用,下面列出最常见的几种二层循环嵌套结构:多层循环嵌套时,外层循环每执行一次,内层循环就完整执行一遍。......
2025-09-30
A.与参数x的类型相同B.无法确定C.void类型D.int类型3.为了避免嵌套的条件语句if-else的二义性,C语言规定()。A.else与缩排位置相同的if配对B.else与同一行上的if配对C.else与其之后最近的if配对D.else与其之前最近的尚未配对的if配对4.设x、y、z和k都是int型变量,则执行表达式:x=后,x的值为()。A.7 B.6 C.5 D.47.在C语言程序中,用关键字()定义无符号型变量。else语句实现两个分支。......
2025-09-30
图1.2分支结构图3.循环结构循环结构可以减少源程序重复编写的工作量,提高程序处理复杂数据的能力,这也是程序设计中最能发挥计算机特长的程序结构。图1.3C语言程序结构......
2025-09-30
用符合C语言规范的方式书写并保存的C程序称为源程序文件,源程序文件不能直接执行,需要将它翻译成计算机能够识别并执行的机器语言程序。编辑是指C语言源程序的输入和修改,程序保存时,文件名由用户自己选定,扩展名一般为“.c”,也可以使用开发环境默认的扩展名。图2.1表明了上述过程。图2.1C语言程序的执行过程本教材选用Microsoft Visual C++6.0 IDE作为教学环境,使用该环境处理C程序的方法请参考附录C。......
2025-09-30
在程序设计中,许多问题的解“隐藏”在多个可能之中。在一个集合内对集合中的每一个元素进行一一测试的方法称为穷举法。穷举方法的实现主要依赖于以下两个基本要点:·搜寻可能值的范围如何确定。程序设计中应据问题的描述具体分析,确定时应尽量缩小搜索范围,提高程序效率。编写程序找出所有的“水仙花数”。程序可以依次取出区间[100,999]之间的每一个数,然后将该数分解为3个数字,按照判定条件判定即可。......
2025-09-30
在C语言中,“=”称为赋值运算符,赋值运算符的左边一定是变量,不能是常量或表达式。赋值表达式可以作为一个运算成分出现在另外的表达式中,从而构成比较复杂的表达式或语句。在赋值表达式计算中,若赋值运算符两边的数据类型不相同时,系统将自动进行类型转换。赋值运算符使用示例。......
2025-09-30
相关推荐