C语言从入门到精通(第6版)
上QQ阅读APP看书,第一时间看更新

2.2.2 流程图

流程图用图框来代表不同性质的操作,用流程线来指示算法的执行方向。由于它直观形象,易于理解,所以应用广泛。

1.流程图符号

在表2.1中列出了一些常见的流程图符号,其中,起止框用来标识算法的开始和结束;输入/输出框用来表示数据的输入和输出;判断框用来判断给定的条件,根据条件成立与否来决定如何执行后续操作;处理框用来表示变量的计算或赋值;流程线用于表示算法的流向;注释框用于表示算法的注释;连接点用于将画在不同地方的流程线连接起来。

表2.1 流程图符号

为了提高算法质量,Bohra和Jacopini提出了3种基本结构,即顺序结构、选择结构和循环结构,且任何一个算法都可由这3种基本结构组成。这3种基本结构之间可以并列,也可以相互包含,但不允许交叉,即不允许从一个结构直接转到另一个结构的内部去。

2.顺序结构

顺序结构是最简单的线性结构。在顺序结构的程序中,各操作按照它们出现的先后顺序执行。如图2.1所示,在执行完A框指定的操作后,接着执行B框指定的操作。顺序结构中只有一个入口点A和一个出口点B。

【例2.3】输出数学、语文成绩。

本实例要求输入两个数,代表数学、语文成绩,分别赋给变量math和chinese,再将这两个数输出。其流程图可以采用顺序结构来实现,如图2.2所示。

图2.1 顺序结构

图2.2 输出数学、语文成绩

3.选择结构

选择结构也称为分支结构,其常见形式有两种,如图2.3和图2.4所示。

图2.3 选择结构1

图2.4 选择结构2

选择结构中必须包含一个判断框。图2.3所代表的含义是:根据给定的条件P是否成立,选择执行A框还是B框。图2.4所代表的含义是:根据给定的条件P进行判断,如果条件成立则执行A框,否则什么也不做。

【例2.4】判断输入的数是否为偶数。

本实例要求输入一个数,判断该数是否为偶数,并给出相应提示。其流程图可以采用选择结构来实现,如图2.5所示。

4.循环结构

在循环结构中,会反复地执行一系列操作,直到条件不成立时才终止循环。按照判断条件出现的位置,可将循环结构分为当型循环结构和直到型循环结构。

当型循环的流程结构如图2.6所示。先判断条件P是否成立,如果成立,则执行A框;执行完A框后,再判断条件P是否成立,如果成立,接着再执行A框;如此反复,直到条件P不成立为止,此时不执行A框,跳出循环。

直到型循环的流程结构如图2.7所示。先执行A框,然后判断条件P是否成立,如果条件P成立则再执行A;然后判断条件P是否成立,如果成立,接着再执行A框;如此反复,直到条件P不成立,此时不执行A框,跳出循环。

图2.5 判断一个数是否为偶数

图2.6 当型循环

图2.7 直到型循环

【例2.5】计算1+2+3+…+100的结果。

本实例要求计算1和100之间(包括1和100)所有整数之和。其流程图可以用当型循环结构来表示,如图2.8所示;也可以用直到型循环结构来表示,如图2.9所示。

图2.8 当型循环结构求和

图2.9 直到型循环结构求和