
上QQ阅读APP看书,第一时间看更新
3.3 Goto语句有害
这里探讨的程序结构基于一个编程的范式:结构化编程(Structural Programming)。当然还有别的范式,技术演进的历史进程,通行的就是结构化编程和面向对象编程,而面向对象编程内部的基础还是结构化编程。所以这里也只是说基本的结构化编程的程序结构。
一个计算机程序从结构上来说,有三种结构:顺序(Sequence)、分支(Decision)和循环(Repetition)。科学家证明了只要这三种结构,就可以完备地表达算法。
顺序结构举例:

上面的三条语句是逐一按照次序执行的。
分支结构举例:

循环结构举例:

只要条件i<10成立,就会一直执行下面的两条语句。
还有一种循环语句的表达:

for语句是遍历序列范围内所有的值,运行结果如下:

循环体中,可以通过break语句退出循环,也可以通过continue进行下一轮循环。
结构化程序设计采用“自顶向下,逐步求精”的方法从问题本身开始,经过逐步细化,将解决问题的步骤分解为由基本结构模块组成的结构化程序框图;代码实现时由顺序、选择和循环三种结构通过组合、嵌套构成。据此就比较容易编写出结构良好的程序来。
这些概念由软件大师E.W.Dijkstra在1965年提出。E.W.Dijkstra曾经在1972年获得图灵奖,他是荷兰第一位计算机专业的科学家。他对程序员影响最大的是“Goto语句有害论”。