C语言程序设计
上QQ阅读APP看书,第一时间看更新

1.2.1 程序的3种基本结构

结构化程序设计的概念最早由E.W.Dijkstra在1965年提出,是软件发展的一个重要里程碑。它的主要观点是采用自顶向下、逐步求精及模块化的程序设计方法;使用3种基本控制结构构造程序,任何程序都可由顺序、选择、循环3种基本控制结构构造。结构化程序设计主要强调的是程序的易读性。

算法的实现过程是由一系列操作组成的,这些操作之间的执行次序就是程序的控制结构。这3种结构就被称为程序设计的3种基本结构,也是结构化程序设计必须采用的结构。

1.顺序控制结构

顺序控制结构(Sequential Control Structure):表示程序中的各操作是按照它们出现的先后顺序执行的。

顺序结构可以独立使用构成一个简单的完整程序,常见的输入、计算,输出三步曲的程序就是顺序结构。指令A、指令B、指令C可以是一条指令,也可以是多条指令,顺序结构的执行顺序为从上到下执行:A-B-C。

例如,计算圆的面积,其程序的语句顺序就是输入圆的半径r,计算s=3.14159*r*r,输出圆的面积s。

2.选择控制结构

选择控制结构(Selection Control Structure)又称分支控制结构:计算机在执行程序时,一般是按照语句顺序执行的,但在许多情况下需要根据不同的条件来选择所要执行的模块。选择结构有单选择、双选择和多选择3种形式。例如,检测某种条件是否满足,如果条件满足,则执行某些指令,否则执行另外一些指令。例如周末时,根据天气情况决定去郊游还是在房间里学习,就是一种分支控制。

3.循环控制结构

循环控制结构(Loop Control Structure):表示程序反复执行某个或某些操作,直到某条件为假(或为真)时才可终止循环。在循环结构中最主要的是:什么情况下执行循环?哪些操作需要循环执行?

循环结构可以看成是一个条件判断语句和一个回转语句的组合。另外,循环结构有3个要素:循环变量、循环体和循环终止条件,循环结构在程序框图中是利用判断框来表示,判断框内写上条件,两个出口分别对应着条件成立和条件不成立时所执行的不同指令,其中一个要指向循环体,然后再从循环体回到判断框的入口处。

顺序结构、分支结构和循环结构并不彼此孤立,在循环中可以有分支、顺序结构,分支中也可以有循环、顺序结构,其实不管哪种结构,均可广义地把它们看成一个语句。在实际编程过程中常将这3种结构相互结合以实现各种算法,设计出相应程序。但是要编程的问题较大,编写出的程序往往就很长、结构重复多,造成可读性差,难以理解,解决这个问题的方法是将C程序设计成模块化结构。