admin 管理员组文章数量: 887018
2024年2月29日发(作者:crontab每隔10执行一次)
...
c 语言程序设计流程图详解
介绍常见的流程图符号及流程图的例子。
本章例 1 - 1 的算法的流程图如图 1 - 2 所示。本章例 1 - 2 的算法的流程图如图 1 - 3 所示。
在流程图中, 判断框左边的流程线表示判断条件为真时的流程,
时的流程,有时就在其左、右流程线的上方分别标注
注“真”、“假”或“T、”“F或”“Y、”“N”右边的流程线表示条件为假
“真”、“假”或“T、”“F或”“Y、”“N”
...
...
另外还规定,流程线是从下往上或从右向左时,必须带箭头,除此以外,都不画箭头,流程
线的走向总是从上向下或从左向右。
2. 算法的结构化描述
早期的非结构化语言中都有 go to 语句,它允许 程序 从一个地方直接跳转到另一个地方去。
执行这样做的好处是 程序 设计十分方便灵活, 减少了人工复杂度, 但其缺点也是十分突出的,
一大堆跳转语句使得 程序 的流程十分复杂紊乱, 难以看懂也难以验证 程序 的正确性, 如果有
错,排起错来更是十分困难。 这种转来转去的流程图所表达的混乱与复杂,
程序 人员处境的一个生动写照。而结构化
正是软件危机中
程序 设计,就是要把这团乱麻理清。
“建筑
经过研究,人们发现,任何复杂的算法,都可以由顺序结构、选择(分支)结构和循环结构
这三种基本结构组成,因此,我们构造一个算法的时候,也仅以这三种基本结构作为
不允许从一个结构直接转到另一个结构的内部去。
结构化方法。遵循这种方法的
(1) 顺序结构
顺序结构是简单的线性结构,各框按顺序执行。其流程图的基本形态如图
的执行顺序为: A→B→C 。
(2) 选择(分支)结构
这种结构是对某个给定条件进行判断, 条件为真或假时分别执行不同的框的内容。
A,否则什么也不做。
其基本形
A,否则执 状有两种,如图 1-5 a )、b)所示。图 1-5 a )的执行序列为:当条件为真时执行
行 B;图 1 - 5 b )的执行序列为:当条件为真时执行
1 - 4 所示,语句
单元 ”,遵守三种基本结构的规范, 基本结构之间可以并列、 可以相互包含, 但不允许交叉,
正因为整个算法都是由三种基本结构组成
的,就像用模块构建的一样,所以结构清晰,易于正确性验证,易于纠错,这种方法,就是
程序 设计,就是结构化 程序 设计。
流程图的画法 ,就可以画出任何算法的流程图。 相应地,只要规定好三种基本结构的
(3) 循环结构
循环结构有两种基本形态:
a. while 型循环
如图 1 - 6 所示。
其执行序列为:当条件为真时,反复执行
句。
b. do-while 型循环
如图 1 - 7 所示。A,一旦条件为假,跳出循环,执行循环紧后的语
while 型循环和 do - while 型循环。
...
...
执行序列为:首先执行 A,再判断条件,条件为真时,一直循环执行
束循环,执行循环紧后的下一条语句。
A,一旦条件为假,结
在图 1 - 6 、图 1 - 7 中, A 被称为循环体,条件被称为循环控制条件。要注意的是:
1) 在循环体中,必然对条件要判断的值进行修改,使得经过有限次循环后,循环一定能
结束,如图 1 - 3 中的 i = i - 1 。
2) 当型循环中循环体可能一次都不执行,而直到型循环则至少执行一次循环体。
3) 直到型循环可以很方便地转化为当型循环,而当型循环不一定能转化为直到型循环。
例如,图 1 - 7 可以转化为图 1 - 8 。
七,用 N-S 图描述算法
N - S 图是另一种算法表示法, 是由美国人 I . Nassi 和 erman 共同提出的, 其根据
是:
既然任何算法都是由前面介绍的三种结构组成,所以各基本结构之间的流程线就是多余的,
因此, N - S 图也是算法的一种结构化描述方法。
N - S 图中, 一个算法就是一个大矩形框,
图描述如下所示:
3. 顺序结构
如图 1 - 9 所示,执行顺序先 A 后 B。
4. 选择结构
对应于图 1 - 5 的 N - S 图为图 1 - 1 0 。图 1-10 a) 条件为真时执行 A,条件为假时执行 B。
图 1 - 1 0
b 条件为真时执行 A,为假时什么都不做。
框内又包含若干基本的框, 三种基本结构的 N - S
5. 循环结构
1) while 型循环的 N - S 图如图 1 - 11 所示,条件为真时一直循环执行循环体
为假时才跳出循环。
2) do-while 型循环的 N - S 图如图 1 - 1 2 ,一直循环执行循环体 A,直到条件为假时才跳出
循环。A,直到条件
...
...
本章例 1 - 1 的 N - S 图如图 1 - 1 3 ,例 1 - 2 的 N - S 图如图 1 - 1 4 。应该说, N - S 图比
流程图更直观易懂,而且相对简练一些。
八,用 PAD 图描述算法
PAD (Problem Analysis Diagram
表示法,与前述的流程图、
),是近年来在软件开发中被广泛使用的一种算法的图形
N - S 图是一维的
N - S 图相比,流程图、 N - S 图都是自上而下的顺序描述,而
PAD 图除了自上而下以外,还有自左向右的展开,所以,如果说流程图、
算法描述的话,则 PAD 图就是二维的,它能展现算法的层次结构,更直观易懂。
下面是 PAD 图的几种基本形态:
6. 顺序结构:
如图 1 - 1 5 所示。
7. 选择结构
(1) 单分支选择,条件为真执行 A,如图 1-16 a )。
(2) 两分支选择,如图 1-16 b) ,条件为真执行 A,为假执行 B。
(3) 多分支选择, 如图 1-16 c) ,当 I = I1 时执行 A,I= I2 时执行 B,I = I3 时执行 C,I = I4
时执行D。
8. 循环结构
如图 1 - 1 7 所示。图 1-17 a) 为 while 型循环,图 1-17 b) 为 do - while 型循环。
本章例 1 . 1 的 PA D 图如图 1 - 1 8 ,例 1 - 2 的 PA D 图如图 1 -
...
...
版权声明:本文标题:c语言程序设计流程图详解 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/free/1709164912h539062.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论