三种基本结构流程图
流程图(循环结构)
I←I - 1
N
?能 够 输 出
2:
开始 输入S I←S I←I - 1
当I 被 S整
除
N
Y
输出I
I >1
结束
例3 设计一个计算10个数的平均数的算法。
算法2
S1 S←0;
S7 A ← S/10 ;
S2 I←1;
S3 输入G;
S8 输出A ;
S4 S←S + G;
S5 如果I不大于5,重新执行 S3,否则算法结束.
T←1
I←2
T←T×I
I←I + 1
N
I>5
Y
输出T 结束
最后的结果 开始
i←0,Sum ← 0
i<6
N
Y
i←i+1
Sum ← Sum + i
输出Sum 结束
开始
i ← 0,Sum ← 0
i←i+1 Sum ← Sum + i N
i≥6 Y
输出Sum 结束
I←10
写 出 输
输入10
I←I - 1
出
当I 被 10整
的
除
N
结
Y
果
输出I
吗
?
结束
?
?
是通少变
一过呢式
个 什 么 算 法
,
上 面 两 个 例 子 你 能
?
你 自 己 再 编 一 个 题
若 是
则 输 出 的
归目结
纳 出
试 试
果 是
这看多
: S 10,
开始 输入S I←S-1
当I 被 S整 除
Y
输出I 结束
算法(流程图)的三种基本结构
功能
表示一个算法的 开始和结束
表示一个算法的 输入和输出信息
赋值,执行计算语句, 结果的传送
表示判断某一个条件 是否成立
表示执行步骤的路径 流程进行的方向
程序的三种结构
程序的三种结构
顺序结构
选择结构
循环结构
顺序结构
各操作是按先后顺序执行的。是最简单的一种基本结构。
A
B
其中A和B两个框是顺序执行的。即在完成A框所指定 的操作后,必然接着执行B框所指定的操作,
没有判断框和回指的流程线。
选择结构
又称分支结构。根据是否满足给定条件而从两组操作中选择执行 一种操作。至少有一个判断框,没有回指的流程线。 入口
成立
不成立
P
A
B
出口
选择结构
某一部分的操作可以为空操作。 入口成立Fra bibliotek不成立
P
A
出口
选择结构
某一部分的操作可以为空操作。 入口
成立
不成立
P
B
出口
再来看一个“求较小数”的流程图和程序代码。
循环结构
又称重复结构。用来描述反复执行某一部分算法的操作。 循环结构又分为直到型结构和当型结构。 有回指的流程线
当型结构
条件成立时,反复执行某一部分的操作,当条件不成立时退出 环。 特点:A可能一次也没执行到。 入口
不成立
P
成立
A
出口
直到型结构
先执行某一部分的操作,再判断条件,当条件成立时,退出循 环;条件不成立时,继续循环。
2.用表格描述算法 表格是一种常用的事物关联结构描述方法,在程 序设计中,用来表现规律化算法的一种方式,适合表 达模块关系、数据传递关系、函数变量关系等内容。
流程图程序的三种基本结构语句顺序结构ppt课件共18页
成立
不成立
P
B
出口
循环结构
又称重复结构。即在一定条件下,反复执行某一部分的操作。 循环结构又分为直到型结构和当型结构。
当型结构
条特件点成:立A可时能,一反次复也执没行执某行一到部。分的操作,当条件不成立时退出 环。 入口
不成立
P
成立
A
出口
直到型结构
先特执点行:某先一执部行分,的操后作判,断再,判S断最条少件要,执当条行件一成次立。时,退出循
功能
表示一个算法的 开始和结束
表示一个算法的 输入和输出信息
赋值,执行计算语句, 结果的传送
表示判断某一个条件 是否成立
表示执行步骤的路径 流程进行的方向
程序的结构
流程图 程序的三种结构 语句 顺序结构
程序的三种结构
程序的三种结构
顺序结构
选择结构
循环结构
顺序结构
各操作是按先后顺序执行的。是最简单的一种基本结构。
环;条件不成立时,继续循环。 入口
A
不成立
P
成立 出口
程序的三种基本结构共同特点
只有一个入口。 结构内的每一部分都有机会被执行到。 结构内不存在“死循环”(无终止的循环)。
不正确循环流程图
A
A
p1 B
图中没有一条从入口 到出口的路径通过A框
流程内的死循环
程序的三种基本结构
顺序结构、选择结构、循环结构 已经证明,任何程序均可只用这三种结构实现 只用这三种结构的程序,叫结构化程序。
流程图程序的三种基本结构语句顺序结 构ppt课件
61、辍学如磨刀之石,不见其损,日 有所亏 。 62、奇文共欣赞,疑义相与析。
63、暧暧远人村,依依墟里烟,狗吠 深巷中 ,鸡鸣 桑树颠 。 64、一生复能几,倏如流电惊。 65、少无适俗韵,性本爱丘山。
程序的三种基本结构.ppt
B
真 P假 AB
多分支选择结构
k
k=k1 k=k2
A1
A2 ...
k=kn k=ki
Ai ... An
循环结构 当型循环结构
假 P
真
A
当P为真 A
直到型循环结构
A
假 P 真
A 直到P为真
注:A,B,A1….An可以是一个简单语句,也可以是一个基本结构
第5章 选择语句
• 5.1 if 条件语句 • 5.2 switch多分支选择语句 • 5.3 程序举例
1. 输入一个分数score
2 .score<60
输出 E
3 .60<=score <70 输出 D
4. 70<=score <80 输出 C
5 .80<=score <90 输出 B
6 .90<=score
输出 A
#include<stdio.h>
main( )
{ int score;
程序
scanf(“%d”, &score);
0(N) 表达式
1(Y)
if (x < 0) y = 3 - x ;
语句Biblioteka printf(“y= %6.2f”, y );
}
任给a,b,c三个数,按从小到大的顺序输出。
分析: (1)对于a,b任意两个数:
若a<b,则输出 a , b ; 否则输出 b , a ;
( 2 ) 对于三个数,有6种可能: a<b<c a<c<b b<a<c b<c<a c<a<b c<b<a
结构化程序设计的三种基本结构
结构化程序设计共有以下3种基本结构: 顺序结构 分支结构 (选择结构 )
循环结构,
(1)顺序结构,如图3.1(a)所示,该结构先执行A,再 执行B,两者是顺序执行的关系
A B 流程图
A B
N-S结构图
(2)分支结构,也叫选择结构,如图3.1(b)所示, 该结构先判断条件是否成立,当条件成立时执 行A,否则执行B。该结构只能执行A或B其中之 一
例如: m和n是整形变量,则: scanf (“%d%d”,m,n );是错误的, 应将“m,n”改为“&m,&n” 。
②如果在“格式控制串”中除了格式标识符、修饰符和格式 说明符以外还有其他字符,则应在输入数据时输入与这些字 符相同的字符。例如: scanf ("%d,%d",&m,&n );
输入时两个整数之间应加入“,”: 234,123↙ 因为,在scanf函数中的“格式控制串”中使用了逗号分 隔,所以必须在234后面加一个逗号。
表3.2 scanf函数常用的格式说明符
格式说明符 d o x c s f
功能说明 表示输入带符号的十进制整数 表示输入无符号八进制整数 表示输入十六进制无符号整数 表示输入单个字符 表示输入多个字符,即一个字符串 表示输入实数,可以用小数形式输入
表3.2 scanf函数常用③从键盘输入的数据类型和个数必须与参数表中的数 据类型和个数相匹配。例如:
scanf (“%d,%d”,&m,&n ); 输入数据时的形式:
234,10.5↙ (错误,因为数据类型不匹配) 234,105,123↙ (错误,因为数据个数不匹配) 234,123↙ (正确) ④可以指定输入数据所占的列数,系统自动按指定列 数截取数据。例如:
程序的三种基本结构
• case 常量表达式2:语句2
• case 常量表达式i:语句n
• default
:语句n+1
•}
功能
首先计算表达式的值,然后依次与常量表达式 i(i=1,2,……,n)比较。 ① 若表达式的值与某一个常量表达式, 如 j (1 ≤j ≤ n)相等,则执行语句 j。 ② 若表达式的值与所有的常量表达式 i(i=1,2,……,n)均不
{ int x,y;
scanf(“%d,%d”,&x,&y);
if(x>y)
x=y; y=x; else
Compile Error!
x++; y++;
printf(“%d,%d\n”,x,y);
}
5.1.2 if语句嵌套
一般形式:
if (expr1) if (expr2) statement1 else statement2
• 5.1 if 条件语句 • 5.2 switch多分支选择语句 • 5.3 程序举例
返回
5.1 if条件语句
•if语句是用来判定所给定的条件是否满足,根据判定的结果(真或假)决定 执行给出的两种操作之一。
5.1.1 if语句的三种形式
•1.单分支选择语句的形式: if(表达式) 语句
•
main( )
内嵌if
else
if(expr3) else
statement3 statement4
内嵌if
例 输入两数并判断其大小关系
/*ch4_4.c*/
#include <stdio.h>
main()
{ int x,y;
运行:Enter integer x,y:12,23
流程图、程序的三种基本结构、语句、顺序结构
程序的结构
流程图 程序的三种结构 语句 顺序结构
程序的三种结构
程序的三种结构
顺序结构
选择结构
循环结构
顺序结构
各操作是按先后顺序执行的 是最简单的一种基本结构。 各操作是按先后顺序执行的。是最简单的一种基本结构。 顺序执行
A B
其中A和B两个框是顺序执行的。即在完成 框所指定 其中 和 两个框是顺序执行的。即在完成A框所指定 两个框是顺序执行的 完成 的操作后,必然接着执行B框所指定的操作 框所指定的操作。 的操作后,必然接着执行 框所指定的操作。
流程内的死循环
程序的三种基本结构
顺序结构、选择结构、 顺序结构、选择结构、循环结构 已经证明, 已经证明,任何程序均可只用这三种结构实现 只用这三种结构的程序,叫结构化程序。 只用这三种结构的程序,叫结构化程序。 程序设计核心思想 自顶向下, 自顶向下,精益求精 模块化( 语言的基本组成单位) 模块化(C语言的基本组成单位)
流程图所使用的符号及含义
图框 圆角矩形 平行四边形 矩形 菱形 名称 起止框 功能 表示一个算法的 开始和结束 表示一个算法的 输入和输出信息 赋值,执行计算语句, 赋值,执行计算语句, 结果的传送 表示判断某一个条件 表示判断某一个条件 是否成立 表示执行步骤的路径 流程进行的方向
输入输出框 处理框 判断框 流程线
N-S流程图使用的流程图符号 流程图使用的流程图符号
P A B
1.顺序结构 1.顺序结构 2.选择结构 2.选择结构 选择结构 当P1成立 成立 不成立
A
A
B
直到P 直到 1成立
A
3.循环结构 3.循环结构 循环结构
程序的结构
流程图 程序的三种结构 语句 顺序结构
程序设计3(3种基本结构)
流程图:
3.2.5 条件运算符(了解即可) 若if语句中,在表达式为“真”和“假”时,且都 只执行一个赋值语句给同一个变量赋值时,可以用 简单的条件运算符来处理。例如,若有以下if语句: if (a>b) max=a; else max=b; 可以用下面的条件运算符来处理: max=(a>b)?a∶b; 其中“(a>b)?a∶b”是一个“条件表达式”。它是 这样执行的:如果(a>b)条件为真,则条件表达式 取值a,否则取值b。
3.3.5 示例:
4பைடு நூலகம்
1
1 3 1 5 1 7
例:多项式如下:π/4 =1 - 1/3 + 1/5 - 1/7 + 1/9 ... 计算的项数n由键盘输入,求π。结果保留2位小数。 #include <iomanip> int main(){ int n, sign=1; double sum=0.0; cin>>n; for(int i=1; i<=n; i+=2) { sum = sum + sign*1.0/i; sign = -sign; } // 设置浮点数的小数个数2位 cout<<fixed<<setprecision(2)<<4*sum<<endl; return 0; }
3.3.3 for
for语句使用最为灵活,不仅可以用于循 环次数已经确定的情况,而且可以用于循环 次数不确定而只给出循环结束条件的情况, 它完全可以代替while语句。一般形式为: for(表达式1;表达式2;表达式3) 语句
它的执行过程如下: (1) 先求解表达式1。 (2) 求解表达式2,若其值为真, 则执行for语句中指定的内嵌语句, 然后执行下面第(3)步。若为假, 则结束循环。 (3) 求解表达式3。 (4) 转回上面第(2)步骤继续执 行。
程序的三种基本结构(共24张PPT)
•scanf("%d,%d,%d",&a,&b,&c); •if(a>b) • {temp=a;a=b;b=temp;} •if(a>c) • {temp=a;a=c;c=temp;} •if(b>c) • {temp=b;b=c;c=temp;} •printf("%d,%d,%d",a,b,c);
实现if ~ else 正确配对方法
例: if (a==b)
if(b==c)
printf(“a==b==c〞);
else printf(“a!=b〞);
修改: if (a==b) { if(b==c) printf(“a==b==c〞); } else printf(“a!=b〞);
实现if ~ else 正确配对方法:加{ }
任给a,b,c三个数,按从小到大的顺序输出。
70~89
7,8
else…... else…...
#include <stdio.
else…... 分析: 设score为整型数,在score≥90 的范围内,score可能取100, 99,.
各个case的出现次序不影响执行结果。
{temp=a;a=c;c=temp;}
•
5.2 switch语句
• switch语句是多分支选择语句。if语句只有两个分 支可供选择,而实际问题中常常需要用到多分支的选 择。例如,学生成绩分类〔90分以为‘A’等,80~89分 为‘B’等,70~79分为‘c’ 等,……〕;人口统计分类〔 按年龄分为老、中、青、少、儿童〕;工资统计分类 ;银行存款分类;……等。当然这些都可以用嵌套的if 语句或多分支来处理,但如果分支较多,那么嵌套的if 语句层数多,程序冗长而且可读性降低。C语言提供 switch语句直接处理多分支选择,它的一
流程图程序的三种基本结构语句顺序结构PPT18页
A B
1.顺序结构
P
成立
不成立
A
B
A
直到P1成立
2.选择结构
当P1成立
A
3.循环结构
6、最大的骄傲于最大的自卑都表示心灵的最软弱无力。——斯宾诺莎 7、自知之明是最难得的知识。——西班牙 8、勇气通往天堂,怯懦通往地狱。——塞内加 9、有时候读书是一种巧妙地避开思考的方法。——赫尔普斯 10、阅读一切好书如同和过去最杰出的人谈话。——笛卡儿
不成立
P
成立
A
出口
直到型结构
先特执点行:某先一执部行分,的操后作判,断再,判S断最条少件要,执当条行件一成次立。时,退出循
环;条件不成立时,继续循环。 入口 NhomakorabeaA
不成立
P
成立 出口
程序的三种基本结构共同特点
只有一个入口。 结构内的每一部分都有机会被执行到。 结构内不存在“死循环”(无终止的循环)。
成立
不成立
P
A
B
出口
选择结构
某一部分的操作可以为空操作。 入口
成立
不成立
P
A
出口
选择结构
某一部分的操作可以为空操作。 入口
成立
不成立
P
B
出口
循环结构
又称重复结构。即在一定条件下,反复执行某一部分的操作。 循环结构又分为直到型结构和当型结构。
当型结构
条特件点成:立A可时能,一反次复也执没行执某行一到部。分的操作,当条件不成立时退出 环。 入口
Thank you
程序的结构
流程图 程序的三种结构 语句 顺序结构
顺序结构
各操作是按先后顺序执行的。是最简单的一种基本结构。
程序设计三种基本结构
程序设计三种基本结构在Visual Basic 程序设计语言中,提供了以下三种基本的控制结构:其对应的结流程图如下所示:顺序结构分支结构循环结构顺序顺序结构是按语句的先后次序依次执行的控制结构,其中“执行A”和“执行B”可以是一个语句也可以是一组语句。
在VB中录制的宏都是顺序结构的语句。
例如,以下程序段的控制结构就属于顺序结构:a=1b=a+1c=a+b例1:以下是一段Visual Basic宏程序,运行后变量x的值为x=2y=3y=y+1x=x+y-1选择分支结构又称为选择结构。
根据条件判断其是否成立,从而选择程序执行的方向,执行其中的一个分支。
分支结构的语法结构如下:语法1语法2If 条件 Then语句End If If 条件 Then语句1 Else语句2 End If例2:以下是一段Visual Basic宏程序,运行后变量a的值为a=10If a<10 Thena=a+1Elsea=a-1End If循环循环结构是根据条件判断是否成立,如果条件成立则重复执行循环结构中某语句序列功能,直到条件不成立为止,最后退出循环结构。
其中For…Next语句的语法定义如下:(详见书本第137页)For counter=start To end [Step step][statements]Next [counter]说明:counter必要参数,用作循环计数器的数值变量start必要参数,counter的初值end必要参数,counter的终值Step可选参数,counter的步长。
如果没有指定,step默认的值为1例3:以下是一段Visual Basic宏程序,运行后变量m的值为m=0For i=1 To 3m=m+2Next i。
第三课 三种基本结构
2.选择结构
(1)单选泽的流程图。如图3-2(a),当程序执行到菱形框时,先 判断“条件”是否成立,若“条件”成立,则从Y(是)出口往 下执行“语句1”;若“条件”不成立,则从N(否)出口往下执 行(即跳过“语句1”)。
(2)双选择的流程图。如图3-2(b),同理先判断“条件”是否成立, 若“条件”成立,则从Y(是)出口往下执行“语句1”ห้องสมุดไป่ตู้若“条 件”不成立,则从N(否)出口往下执行“语句2”。
符合结构化要求的程序不但结构清晰易于阅读, 而且更利于调试与维护。
1.顺序结构
顺序结构表示程序中的各种操作是按照它们出现的先 后顺序执行的,是最简单的一种基本结构,如图3-1(a) 所示。如前面所学的做家务活以及交换两杯饮料的算 法都是顺序结构,如图3-1(b)与 (c)所示。
2.选择结构
选择结构表示程序的执行步骤出现了分支,它 需要根据某一特定的条件选择其中的一个分支 执行。选择结构有单选择、双选择和多选择三 种形式。
第三课 三种基本结构
学习目标 了解结构化程序设计方法 了解三种基本结构 能用流程图描述三种基本结构
在程序设计中,规范的程序可以分解为三种基 本结构:顺序结构、选择结构、循环结构,利 用这三种基本结构可以构造出各种复杂程序。
结构化程序设计方法要求只用三种基本结构来 构造程序,并且在求解问题确定算法时采用自 顶向下、逐步求精等方法。
(3)多选择的流程图。多选择可以由选择的嵌套或者多选择语句 来实现。
例1 小明计划周一骑自行车去上学,如果下雨改乘公交 车去上学。请用流程图描述小明周一的上学计划。
算法分析:小明周一以何种方式上学取决于天气情况,这是一个 双选择结构。流程图如图3-3所示。第二课所学的排身高流程图是 单选择结构,如图3-4所示。
程序的三种基本结构
switch ( i ) {case 1:printf(″A\n″); case 3:printf( ″C\n″); case 4:printf(″D\n″); default:printf(″E\n″); }
假设i=3时,则会从i=3时做起始语句。运行结果见右图。如果给每条语句加上break这样就只执行一条语句。
程序
if后面的表达式类型任意
如:if(a==b&&x==y) printf(“a=b,x=y”); if(3) printf(“OK”); if(‘a’) printf(“%d”,’a’);
语句可以是复合语句 if(x) if(x!=0) if(!x) if(x==0)
程序的三种基本结构
结构化程序设计 基本思想:任何程序都可以用三种基本结构表示,限制使用无条件转移语句(goto) 结构化程序:由三种基本结构反复嵌套构成的程序叫~ 优点:结构清晰,易读,提高程序设计质量和效率 三种基本结构 顺序结构
A
B
A
B
流程图
N-S图
A
B
真
假
P
B
A
真
假
A1
A2
Ai
An
k=k2
k=k1
实现if ~ else 正确配对方法:加{ }
5.2 switch语句 switch语句是多分支选择语句。if语句只有两个分支可供选择,而实际问题中常常需要用到多分支的选择。例如,学生成绩分类(90分以为‘A’等,80~89分为‘B’等,70~79分为‘c’ 等,……);人口统计分类(按年龄分为老、中、青、少、儿童);工资统计分类;银行存款分类;……等。当然这些都可以用嵌套的if语句或多分支来处理,但如果分支较多,则嵌套的if语句层数多,程序冗长而且可读性降低。C语言提供switch语句直接处理多分支选择,它的一般形式如下: switch (表达式) { case 常量表达式1:语句1 case 常量表达式2:语句2 case 常量表达式i:语句n default :语句n+1 }
三种基本结构流程图
三种基本结构流程图1.顺序结构图1 顺序结构N-S流程图2.选择结构if语句的三种形式(1)形式一:if(表达式)语句;该形式表示的是单分支选择结构,其N-S流程图如图2所示:图2 形式一N-S流程图(2)形式二:if(表达式)语句1;else 语句2;该形式表示的是双分支选择结构,其N-S流程图如图3所示:图3 形式二N-S流程图(3)形式三:if(表达式1)语句1;else if(表达式2)语句2;else if(表达式3)语句3;……else if(表达式n-1)语句n-1;else 语句n;该形式表示的是多分支选择结构,其N-S流程图如图4所示:图4 形式二N-S流程图◆ switch 语句多分支选择的问题,可以使用嵌套的if 语句解决。
但在某些情况下,使用switch 语句可能更为方便。
switch 语句的一般形式是:switch (表达式){ case 常量表达式E1: 语句组1; break ;case 常量表达式E2: 语句组2; break ;……case 常量表达式En : 语句组n ; break ;default :语句组n+1;}图5 switch 语句N -S 流程图3.循环结构◆ while 语句(1)一般形式While (表达式)循环体语句;(2)N -S 流程图如图6所示:图6 while 语句N -S 流程图◆ do-while 语句(1)一般形式do{循环体语句;}while (表达式);(2)N -S 流程图如图7所示: 图7 do-while 语句N -S 流程图◆ for 语句(1)一般形式for(表达式1;表达式2;表达式3)循环体语句;(2)N-S流程图如图8所示:图8 for语句N-S流程图。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
三种基本结构流程图
1.顺序结构
图1 顺序结构N-S流程图
2.选择结构
if语句的三种形式
(1)形式一:if(表达式)语句;
该形式表示的是单分支选择结构,其N-S流程图如图2所示:
图2 形式一N-S流程图
(2)形式二:if(表达式)语句1;
else 语句2;
该形式表示的是双分支选择结构,其N-S流程图如图3所示:
图3 形式二N-S流程图
(3)形式三:if(表达式1)语句1;
else if(表达式2)语句2;
else if(表达式3)语句3;
……
else if(表达式n-1)语句n-1;
else 语句n;
该形式表示的是多分支选择结构,其N-S流程图如图4所示:
图4 形式二N-S流程图
◆ switch 语句
多分支选择的问题,可以使用嵌套的if 语句解决。
但在某些情况下,使用switch 语句可能更为方便。
switch 语句的一般形式是:
switch (表达式)
{ case 常量表达式E1: 语句组1; break ;
case 常量表达式E2: 语句组2; break ;
……
case 常量表达式En : 语句组n ; break ;
default :语句组n+1;
}
图5 switch 语句N -S 流程图
3.循环结构
◆ while 语句
(1)一般形式
While (表达式)
循环体语句;
(2)N -S 流程图如图6所示:
图6 while 语句N -S 流程图
◆ do-while 语句
(1)一般形式
do{
循环体语句;
}while (表达式);
(2)N -S 流程图如图7所示: 图7 do-while 语句N -S 流程图
◆ for 语句
(1)一般形式
for(表达式1;表达式2;表达式3)
循环体语句;
(2)N-S流程图如图8所示:
图8 for语句N-S流程图学习是成就事业的基石。