C语言程序设计框图

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.2
3.2.3 if语句的嵌套
二分支结构
例3.11 计算分段函数的值:
#include <stdio.h>
#include <math.h>
main( )
{ float x,y;
scanf("%f",&x);
if(x<0) y=x;
else if(x<=1) y=exp(x);
else if(x<10) y=log10(x);
C语言程序设计电子教案
3.1 程序结构框图
3.1.5 结构化程序的语句
第3章 控制结构
表达式语句:由“表ห้องสมุดไป่ตู้式+分号”构成。如赋值语句、
函数调用语句。
空语句:只由一个分号构成。空语句执行不产生任何动
作,常用于循环体中。
控制语句:完成一定的程序流程控制功能。如if-else
,switch-case,for,while,do-while,break, continue,goto,return。
结构化程序:由3种基本结构经过反复组合、嵌套构成的 程序。
结构化程序设计方法:
自顶向下,逐步细化 模块化设计 结构化编码
C语言程序设计电子教案
3.1 程序结构框图
3.1.4 结构化程序设计
第3章 控制结构
结构化程序设计具有以下特点:
一个程序单元由顺序、分支、循环这3种基本结构组成。3种基本 结构经过反复嵌套,可以表示任何复杂的算法。
if (表达式) 语句;
例如:
if(x>y) printf(“max=%d”,x);
假(0)
表达式
真(非0)
语句
C语言程序设计电子教案
第3章 控制结构
3.2 二分支结构
3.2.2 不平衡if语句
例3.8 设计一个程序,从键盘输入3个整数,按由小到大的顺序输出。 解题思路 三个整数x、y、z,两两比较,始终保持x的值最小,z的值最
C语言程序设计电子教案
3.1
3.1.3 N-S图
程序结构框图
第3章 控制结构
例3.6 将例3.2中的算法用N-S图表示,如下图所示。
C语言程序设计电子教案
3.1 程序结构框图
3.1.4 结构化程序设计
第3章 控制结构
结构化程序设计的基本思想是:任何程序都由顺序结构、 分支结构和循环结构这三种基本结构组成。
语句组 n; break; 语句组n+1 ; [break;]]
C语言程序设计电子教案
3.3 多分支结构
3.3.1 多分支switch语句
switch语句(开关语句)
执行过程:
switch
第3章 控制结构
表达式
case
case
常量表达式1 常量表达式2
语句组1
语句组2
case 常量表达式n
default
复合语句:由一对大括号括起来的一条或多条语句。
被括起来的语句可以是这4类的任何一类语句,常用于函数
体或循环体。
C语言程序设计电子教案
3.2
3.2.1 二分支if语句
二分支结构
第3章 控制结构
基本形式:
if (表达式) 语句1;
else 语句2;
真(非0)表达式
假 (0)
语句1
语句2
例如: if(x>y)
else…... 通过“if语句的嵌套”可实现“多分支结构

C语言程序设计电子教案
3.2
3.2.3 if语句的嵌套
二分支结构
第3章 控制结构
示例: if (a==b)
if(b==c) printf(“a==b==c”);
else printf(“a!=b”);
修改: if (a==b) { if(b==c)
if (expr1) statement1
else if(expr3) statement3 else statement4
内嵌if
if (expr1)
if (expr2) else
statement1 statement2
内嵌if
else
if(expr3) else
statement3 statement4
C语言程序设计电子教案
3.1
3.1.2 流程图
程序结构框图
第3章 控制结构
例3.4 将例3.2中的算法用流程图表示,如下图所示。
C语言程序设计电子教案
3.1
3.1.3 N-S图
程序结构框图
第3章 控制结构
N-S图是程序算法的另一种图形表示,它是由美 国人I.Nassi和B.Shneiderman共同提出来的,其依 据是:因为任何算法都是由顺序结构、分支(选择) 结构、循环结构这三种结构所组成,所以可以不需 要各结构之间的流程线,全部算法写在一个矩形框 内,矩形框内由顺序、选择、循环三种结构组成。
内嵌if
C语言程序设计电子教案
3.2
3.2.3 if语句的嵌套
二分支结构
例3.11 计算分段函数的值:
第3章 控制结构
x x 0
y
ex log
10
0 x 1 x 1 x 10
sin x 10
C语言程序设计电子教案
C语言程序设计电子教案
3.1 程序结构框图
3.1.3 N-S图
3种基本结构的N-S图
第3章 控制结构
顺序结构: 分支结构:
它是按照语句 它是根据给定条件
出现的先后顺 进行判断,选择其
序依次执行的 中的一个分支执行
。如上图所示 ,先执行A模 块,再执行B
。如上图所示,P 表示条件,当P成 立时执行分支A模 块,否则执行分支
C语言程序设计电子教案
第3章 控制结构
第3章 控制结构
返回总目录
C语言程序设计电子教案
目录
3.1 程序结构框图 3.2 二分支结构 3.3 多分支结构 3.4 循环结构 3.5 break与continue语句 3.6
第3章 控制结构
返回总目录
C语言程序设计电子教案
第3章 控制结构
●基本要求: 1)熟悉C语言的程序结构框图; 2)熟悉C语言的二分支结构、多分支结构和循 环结构; 3)熟练掌握结构化程序设计方法。
大,不满足此条件,则其值进行交换。基N-S图如图3.10所示,可以编写出程 序如下:
#include <stdio.h>
main( )
{ int x,y,z,temp;
printf("Input x,y,z=");
scanf("%d,%d,%d",&x,&y,&z); if(x>y) {temp=x; x=y; y=temp; } if(x>z) {temp=x; x=z; z=temp; } if(y>z) {temp=y; y=z; z=temp; } printf("%d,%d,%d\n",x,y,z); }
语、汉语)进行算法的描述。
返回目录
C语言程序设计电子教案
3.1 程序结构框图
3.1.1 自然语言描述
第3章 控制结构
例3.2 求s=1+2+3+…+100之和。 解题思路 要将1~100累加到s变量上去,如果采用先初始化 变量s=0,然后用语句序列s=s+1;s=s+2;…则要重复写100个 加法赋值语句,很显然,这种算法不可取。改用下述算法。 算法步骤: (1) 设s=0,n=0; (2) 变量n值加1,即n=n+1; (3) 将n加到变量s中,即s=s+n; (4) 如果n值小于100,返回去执行第2步。否则执行第5步; (5) 输出s变量的值。
C语言程序设计电子教案
3.2
3.2.3 if语句的嵌套
二分支结构
第3章 控制结构
● 嵌套的一般形式
if (expr1) if (expr2) statement1 else statement2
内嵌if
if (expr1)
if (expr2)
内嵌if
statement1
else
statement3
else
y=sin(x);
printf("Y=%6.2f\n",y);
}
第3章 控制结构
C语言程序设计电子教案
3.2
3.2.3 if语句的嵌套
二分支结构
第3章 控制结构
if ~ else 配对原则:缺省{ }时,else总是和 它上面离它最近的未配对的if配对
if(……) if(……) if(……) else…... else…...
printf(“max=%d”,x); else
printf(“max=%d”,y);
返回目录
C语言程序设计电子教案
3.2
3.2.1 二分支if语句
二分支结构
第3章 控制结构
例3.7 求两个整数x、y中较大的数,并赋给变量max。 解题思路 x、y值由输入函数输入,根据其大小判断,大的赋给max变量 。其N-S图如图3.8所示,可以编写如下程序。 #include <stdio.h> main( ) {
常用流程图符号
第3章 控制结构
表示算法 的开始或 结束;
表示数据 的输入和 输出;在 实际中输 入输出也 常用矩形 框表示。
用来对给定的 条件进行判断 ,根据条件成 立与否来决定 其后的操作, 它有一个入口 和两个出口;
用来表 示一般 的数据 处理;
表示算 法执行 流程;
用来链 接画在 不同地 点的流 程图。
printf(“a==b==c”); } else
printf(“a!=b”);
实现if ~ else 正确配对方法:加{ }
C语言程序设计电子教案
3.3 多分支结构
3.3.1 多分支switch语句
第3章 控制结构
if 语句的嵌套实现多分支:
如果分支较多,则嵌套的if语句层数就越多,程 序不但冗长而且理解也比较困难。因此,C语言 又提供了一种专门用于处理多分支结构的条件选 择语句,称为switch语句,又称开关语句。
●学习重点: 1)流程图、N-S图、循环结构; 2)结构化程序设计方法。
C语言程序设计电子教案
3.1 程序结构框图
3.1.1 自然语言描述
第3章 控制结构
程序设计的关键是算法。 算法是实际问题求解步骤的描述。有了正确有效的
算法,就可以用任何一种计算机语言编写程序,解 决各种问题。 算法可采用自然语言、流程图或N-S图等进行描述。 自然语言描述:用人们日常所使用的语言(如英
C语言程序设计电子教案
3.1
3.1.2 流程图
程序结构框图
第3章 控制结构
流程图是一种传统的算法描述方法, 它用几种不同的几何图来代表不同性质的操作; 用流程线来指示算法的执行方向.
用流程图表示的算法简单直观,容易转化成相应的语 言程序。
C语言程序设计电子教案
3.1 程序结构框图
3.1.2 流程图
... 语句组n
语句组n+1
C语言程序设计电子教案
3.3 多分支结构
3.3.1 多分支switch语句
第3章 控制结构
说明:
switch后面的表达式的值类型可以是整型、字符型或枚 举型。 当表达式的值与某个case中的常量表达式的值相等时, 就执行相应的case后的语句序列,直到遇到break语句或到 达switch结构末尾。 多个连续的case语句可以共用一个语句序列。 case 后的不同常量表达式的值不能相等。 break的作用是改变程序在switch结构中的执行流程, 将程序流程跳出switch语句,转到switch语句后的下一条语 句去执行。 switch语句中允许嵌套switch语句。
模块。
B模块。
当型循环:
当条件满足时,重 复执行某一操作。 如上图所示,当条 件P为“真”时,反 复执行A模块操作, 直到P为“假”时才 终止循环,继续执 行循环后面的语句 。
直到型循环:
它是先执行循环体操作,再 判断条件,如果条件满足, 则继续执行循环体操作,直 到条件不满足时,才退出循 环。如上图所示,首先执行A 模块操作,然后再判断给定 的条件P是否成立,如果成立 ,反复执行A模块操作,直到 条件P不成立。
int x,y, max; printf("Input x,y="); scanf("%d,%d",&x,&y); if(x>y)
max=x; else
max=y; printf("Max=%d\n",max); }
C语言程序设计电子教案
3.2
3.2.2 不平衡if语句
二分支结构
第3章 控制结构
基本形式:
一个大的程序由若干个不同功能的小模块组成。 每个小模块只有一个入口和一个出口。 程序中不能有无穷循环(死循环)。 程序中不能有在任何条件下都执行不到的语句(死语句)。 用结构化思想设计出来的计算机程序,具有清晰的模块界面,因
此,在书写程序时,我们应根据逻辑结构和层次深度的不同,采 用缩进对齐的方式,将程序模块写在不同的位置,这样可以提高 程序的可读性,有助于调试程序,找出程序的逻辑错误。
返回目录
C语言程序设计电子教案
3.3 多分支结构
3.3.1 多分支switch语句
switch语句(开关语句)
第3章 控制结构
一般形式: switch( 表达式) { case 常量表达式1:
case 常量表达式2: …….
case 常量表达式n: [default: }
语句组 1; break; 语句组 2; break;
相关文档
最新文档