c语言程序设计流程图详解.docx
《c语言程序设计流程图详解.docx》由会员分享,可在线阅读,更多相关《c语言程序设计流程图详解.docx(7页珍藏版)》请在冰点文库上搜索。
c语言程序设计流程图详解
c语言程序设计流程图详解
c语言程序设计流程图详解
介绍常见的流程图符号及流程图的例子。
本章例1-1的算法的流程图如图1-2所示。
本章例1-2的算法的流程图如图1-3所示。
在流程图中,判断框左边的流程线表示判断条件为真时的流程,右边的流程线表示条件为假时的流程,有时就在其左、右流程线的上方分别标注“真”、“假”或“T”、“F”或“Y”、“N”
注“真”、“假”或“T”、“F”或“Y”、“N”
另外还规定,流程线是从下往上或从右向左时,必须带箭头,除此以外,都不画箭头,流程线的走向总是从上向下或从左向右。
2.算法的结构化描述
早期的非结构化语言中都有goto语句,它允许程序从一个地方直接跳转到另一个地方去。
执行这样做的好处是程序设计十分方便灵活,减少了人工复杂度,但其缺点也是十分突出的,一
执行序列为:
首先执行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和B.Shneiderman共同提出的,其根据是:
既然任何算法都是由前面介绍的三种结构组成,所以各基本结构之间的流程线就是多余的,因此,N-S图也是算法的一种结构化描述方法。
N-S图中,一个算法就是一个大矩形框,框内又包含若干基本的框,三种基本结构的N-S图描述如下所示:
1.顺序结构
如图1-9所示,执行顺序先A后B。
2.选择结构
对应于图1-5的N-S图为图1-10。
图1-10a)条件为真时执行A,条件为假时执行B。
图1-10
b
条件为真时执行A,为假时什么都不做。
3.循环结构
1)while型循环的N-S图如图1-11所示,条件为真时一直循环执行循环体A,直到条件为假时才跳出循环。
2)do-while型循环的N-S图如图1-12,一直循环执行循环体A,直到条件为假时才跳出循环。
本章例1-1的N-S图如图1-13,例1-2的N-S图如图1-14。
应该说,N-S图比流程图更直观易懂,而且相对简练一些。
八,用PAD图描述算法
PAD(ProblemAnalysisDiagram),是近年来在软件开发中被广泛使用的一种算法的图形表示法,与前述的流程图、N-S图相比,流程图、N-S图都是自上而下的顺序描述,而PAD图除了自上而下以外,还有自左向右的展开,所以,如果说流程图、N-S图是一维的算法描述的话,则PAD图就是二维的,它能展现算法的层次结构,更直观易懂。
下面是PAD图的几种基本形态:
1.顺序结构:
如图1-15所示。
2.选择结构
(1)单分支选择,条件为真执行A,如图1-16a)。
(2)两分支选择,如图1-16b),条件为真执行A,为假执行B。
(3)多分支选择,如图1-16c),当I=I1时执行A,I=I2时执行B,I=I3时执行C,I=I4时执行D。
3.循环结构
如图1-17所示。
图1-17a)为while型循环,图1-17b)为do-while型循环。
本章例1.1的PAD图如图1-18,例1-2的PAD图如图1-19