c语言程序设计流程图详解

介绍常见的流程图符号及流程图的例子。
本章例1 - 1的算法的流程图如图1 - 2所示。本章例1 - 2的算法的流程图如图1 - 3所示。
在流程图中,判断框左边的流程线表示判断条件为真时的流程,右边的流程线表示条件为假时的流程,有时就在其左、右流程线的上方分别标注“真”、“假”或“T”、“F”或“Y”、“N”


另外还规定,流程线是从下往上或从右向左时,必须带箭头,除此以外,都不画箭头,流程线的走向总是从上向下或从左向右。

2. 算法的结构化描述
早期的非结构化语言中都有go to语句,它允许 程序从一个地方直接跳转到另一个地方去。
执行这样做的好处是 程序设计十分方便灵活,减少了人工复杂度,但其缺点也是十分突出的,一大堆跳转语句使得 程序的流程十分复杂紊乱,难以看懂也难以验证 程序的正确性,如果有错,排起错来更是十分困难。这种转来转去的流程图所表达的混乱与复杂,正是软件危机中 程序人员处境的一个生动写照。而结构化 程序设计,就是要把这团乱麻理清。
经过研究,人们发现,任何复杂的算法,都可以由顺序结构、选择(分支)结构和循环结构这三种基本结构组成,因此,我们构造一个算法的时候,也仅以这三种基本结构作为“建筑单元”,遵守三种基本结构的规范,基本结构之间可以并列、可以相互包含,但不允许交叉,不允许从一个结构直接转到另一个结构的内部去。正因为整个算法都是由三种基本结构组成的,就像用模块构建的一样,所以结构清晰,易于正确性验证,易于纠错,这种方法,就是结构化方法。遵循这种方法的 程序设计,就是结构化 程序设计。
相应地,只要规定好三种基本结构的 流程图的画法,就可以画出任何算法的流程图。
(1) 顺序结构
顺序结构是简单的线性结构,各框按顺序执行。其流程图的基本形态如图1 - 4所示,语句
的执行顺序为:A→B→C。
(2) 选择(分支)结构
这种结构是对某个给定条件进行判断,条件为真或假时分别执行不同的框的内容。其基本形状有两种,如图1-5 a)、b)所示。图1-5 a)的执行序列为:当条件为真时执行A,否则执行B;图1 - 5 b)的执行序列为:当条件为真时执行A,否则什么也不做。

(3) 循环结构
循环结构有两种基本形态: while型循环和do - while型循环。
a. while 型循环
如图1 - 6所示。
其执行序列为:当条件为真时,反复执行A,一旦条件为假,跳出循环,执行循环紧后的语句。
b. do-while型循环
如图1 - 7所示。

执行序列为:首先执行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 - 1 0。图1-10 a)条件为真时执行A,条件为假时执行B。图1 - 1 0
b 条件为真时执行A,为假时什么都不做。

3. 循环结构
1) while型循环的N - S图如图1 - 11所示,条件为真时一直循环执行循环体A,直到条件为假时才跳出循环。
2) do-while型循环的N - S图如图1 - 1 2,一直循环执行循环体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图都是自上而下的顺序描述,而PAD图除了自上而下以外,还有自左向右的展开,所以,如果说流程图、N - S图是一维的算法描述的话,则PAD图就是二维的,它能展现算法的层次结构,更直观易懂。
下面是PAD图的几种基本形态:
1. 顺序结构:
如图1 - 1 5所示。
2. 选择结构
(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。

3. 循环结构
如图1 - 1 7所示。图1-17 a)为while型循环,图1-17 b)为do - while型循环。

本章例1 . 1的PA D图如图1 - 1 8,例1 - 2的PA D图如图1 - 1 9


转帖网址:http://yangxiufeng.bokee.com/
  • 8
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
C语言是一种强大的系统级编程语言,它的功能模块和流程图设计可以帮助开发者组织和理解程序结构。以下是一些主要的功能模块和创建流程图的基本步骤: 1. **预处理**: 包括宏定义、条件编译(#if/#ifdef/#ifndef)等,这些用于设置编译选项或引入头文件。 2. **函数定义**: C语言以函数为基本单位组织代码,包括主函数(main())、库函数和自定义函数。流程图中会看到输入/输出、调用关系等。 3. **数据类型**: 如整型、浮点型、字符型等,它们定义了变量的存储空间和操作方式。 4. **控制结构**: 基本的流程控制有顺序、分支(if-else、switch)、循环(for、while、do-while)。 5. **指针**: C语言支持指针,可以用来间接访问内存地址,流程图中会体现指针的使用及其作用。 6. **数组和结构体**: 可以组织数据并操作,流程图可能会展示数据的存储和传递过程。 7. **输入/输出**: C标准库提供了一系列函数处理标准输入输出,如printf(), scanf()等。 创建流程图的步骤: 1. 确定程序的主要功能和执行流程。 2. 使用流程图符号(如矩形表示函数,箭头表示控制流)画出每个模块或函数。 3. 添加注释,解释关键步骤和决策点。 4. 显示数据流动,包括输入参数、局部变量、全局变量和返回值。 5. 根据控制结构调整箭头方向,展示条件分支和循环。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值