试论 C 中的结构化程序设计
摘要:C 语言是一种很好的结构化程序设计语言;结构化程序设计方法可以概括为自
顶向下、逐步求精、模块化、限制使用 goto 语句,将原来较为复杂的问题化简为一系列
简单模块的设计;一个程序的任何逻辑问题均可用顺序结构、选择结构和循环结构这 3 种
基本结构来描述。
关键词:结构化程序设计;顺序结构;选择结构;循环结构;算法
当前, 计算 机技术飞速 发展 ,程序设计技术已从结构化程序设计技术向面向对象程
序设计技术过渡,对一个规模较大的应用程序,总体框架是由面向对象程序设计构搭而成
,而在局部实现时仍需采用结构化程序设计技术。C 语言是一种很好的结构化程序设计语
言,因此,笔者论述了 C 中的的结构化程序设计的方法。 论文联盟 编辑
。
结构化程序设计(STRUCTURED PROGRAMING,简称 SP)的概念是由荷兰学者
E· 等人在 20 世纪 60 年代后期提出的,是以模块化设计为中心,将原来较为
复杂的问题化简为一系列简单模块的设计,也就是将—个大的计算任务划分为一个个比较
小的任务,这些小任务均由函数来完成。而函数既可以是 C 的标准库函数。也可以是自定
义函数。在 C 中,一个具备一定规模的 C 程序往往是由多个函数组成,其中必有一个名为
main 的主函数,由 main 来调用其他函数,必要的话,其他函数还可以调用另外的函数。
同一函数可以被一个或多个函数调用一次或多次。模块的独立性还为扩充已有的系统、建
立新系统带来了不少的方便,因为我们可以充分利用现有的模块作积木式的扩展。
结构化程序设计的思想是一个程序的任何逻辑问题,均可用顺序结构、选择结构和循
环结构这 3 种基本结构来描述。顺序结构的程序流程是按语句的书写顺序依次执行;选择
结构是对给定条件进行判断,根据判断结果决定执行两分支中的一个分支或多分支中的一
个分支;循环结构是在给定条件成立的情况下,反复执行某个程序段。实现这些程序流程
的语句都是流程控制语句。流程控制语句在程序设计中起着重要的作用,通过 3 种基本控
制结构使结构化程序具有唯一的人口和出口,没有死循环,而且程序的静态形式与动态执
行形式之间具有良好的对应关系。在 C 语言中,有 4 种语句是顺序执行的:①空语句,光
有一个分号“;”作为语句结束符,它表示什么也不做。②表达式语句,表达式后面加一个
分号,表达式语句主要有赋值语句、自加减运算符构成的语句和逗号表达式语句。③函数
调用语句,它是由一个函数调用加上一个分号组成的。④复合语句,由“{”和“}”把一些变量
说明和语句组合放在一起,又称为语句块。选择语句有 if 语句和 switch 语句。循环语句
有 for,while 和 do-while 语句以及一些辅助流程转向语句如 continue,break,goto 等。顺序
结构,选择结构和循环结构共同作为各种复杂程序的基本构造单元,由这 3 种结构经过反
复嵌套构成的程序称为结构化程序,也就是说,结构化程序是由上述 3 种基本结构组成的
。但如果在编程过程中无限制地使用转移语句(goto),会使程序的控制流程强制性地向前
或向后跳转而导致程序的流程无序可循,结构杂乱无章。结构化构造减少了程序的复杂性
,提高了可靠性、可测试性和可维护性,使用少数的基本结构,就可使程序逻辑结构清晰
,易读易懂,并且容易验证程序的正确性。对—个初学计算机语言的人来说。最重要的就
是要有正确的程序流程概念,不仅要懂得而且要灵活应用。由此可见,用结构化方法设计
的结构是清晰的,有利于编写出结构良好的程序。因此。结构化程序设计方法的主要原则
可以概括为自顶向下,逐步求精,模块化,限制使用 goto 语句。将程序设计针对的问题
进行分解,直到分解到对应于一个个功能更简单,又独立的模块,每个模块再分解到上述
3 种基本程序结构。
实质上,结构化程序设计主要强调的是程序。程序=算法+数据结构+程序设计方法+
语言工具和环境,其中算法是灵魂。是解决“做什么”和“怎么做”的问题;数据结构是加工
对象;语言是工具;编程需要采用合适的方法。具体解决问题包含的步骤:①分析问题,
找出解决问题的模型;②根据模型设计出适合 计算 机特点的处理方法即算法;③进行编
程程序,以实现算法;④上机编辑(.c)、编译(.obj)、连接(.exe)、运行所编制的程序,直到
得出正确结果;⑤对结果进行分析,整理出文字材料。 论文联盟 编辑。
现在人们已经认识到,程序设计的任务不只是编写出一个能得到正确结果的程序,还
应考虑程序的质量。否则将会使程序质量低下、可靠性差、开发周期长、维护费用高,这
也就是我们平常说的“软件危机”,它会严重阻碍计算机应用的 发展 。由于大多高级语言都
支持结构化程序设计方法,其语法上都含有表示 3 种基本结构的语句,所以用结构化程序
设计方法设计的模块结构到程序的实现是直接转换的,只需用相应的语句结构代替标准的
控制结构即可。