第5章 分支结构程序设计
分支结构是C语言三大基本结构之一,也是结构化程序设计必需的基本结构。分支结构程序主要使用流程控制语句实现,流程控制语句是专门用于控制程序执行流程的语句,也称为“过程化语句”。主要的流程控制语句有if和else语句、switch语句以及条件表达式语句等。
本章的学习重点:
◆ 简单的if语句。
◆ if-else语句执行规则。
◆ 嵌套的if-else语句。
◆ switch语句。
◆ break语句。
◆ 嵌套的switch语句。
5.1 结构化程序设计思想
1976年,美国著名软件设计大师、图灵奖获得者Niklaus Wirth出版了名为《Algorithms +Data Structure = Programs》的软件设计专著,书中提出了“算法”和“数据结构”的概念,并将程序设计与这两个概念紧密结合起来,提出了著名论断:
程序=算法+数据结构
这就是结构化程序设计的基础。结构化程序设计是软件开发领域广泛采用的一种程序设计方法。这种方法的特点是:层次分明,结构清晰,程序可靠性高,程序设计的质量和效率高。结构化程序设计中,任何程序都可以用顺序结构、分支结构和循环结构这三种基本结构表示。由以上三种基本结构进行有机组合构成的程序称为结构化程序。
结构化程序设计的基本思想是:
1. 自顶向下。
2. 逐步细化。
3. 模块化设计。
4. 结构化程序编码。
采用上述设计思想的目的是:将一个复杂任务按照功能进行拆分,并逐层细化,以便于理解和描述,最终形成由若干独立模块组成的树状层次结构,如图5-1所示。
图5-1 结构化程序框架
结构化程序具有如下特点:
1. 程序由各不同功能的模块构成,各模块又可按不同类型分成一个或多个子模块。
2. 每个子模块由一个或多个程序单元组成,各子模块间可互相调用程序单元。
3. 一个程序单元由顺序、分支、循环三种基本结构组成。
在计算机技术飞速发展的今天,结构化程序设计也存在很多缺陷和不足。例如,在大型多任务、多文件软件系统中,采用结构化设计时,由于数据存储与处理相对独立,随着数据量的增大,程序将难以开发和维护,文件之间的数据交互也更加困难。另外,结构化程序设计使软件的后期维护和升级异常困难,由于其结构在程序初始开发时已经设计完成,因此在增加某些功能模块时会变得异常困难。
所以,在使用结构化程序设计时,一定要为后期的程序维护和升级预留足够的空间和结构,以便于实际操作更加清晰和容易。