程序的三种基本结构.ppt

合集下载

流程图、程序的三种基本结构、语句、顺序结构-讲义

流程图、程序的三种基本结构、语句、顺序结构-讲义
P
成立
A
出口
直到型结构
先特执点行:某先一执部行分,的操后作判,断再,判S断最条少件要,执当条行件一成次立。时,退出循
环;条件不成立时,继续循环。 入口
A
不成立
P
成立 出口
程序的三种基本结构共同特点
只有一个入口。 结构内的每一部分都有机会被执行到。 结构内不存在“死循环”(无终止的循环)。
不正确循环流程图
成立
不成立
P
A
出口
选择结构
某一部分的操作可以为空操作。 入口
成立
不成立
P
B
出口
循环结构
又称重复结构。即在一定条件下,反复执行某一部分的操作。 循环结构又分为直到型结构和当型结构。
当型结构
条特件点成:立A可时能,一反次复也执没行执某行一到部。分的操作,当条件不成立时退出 环。 入口
不成立
A
A
p1 B
图中没有一条从入口 到出口的路径通过A框
流程内的死循环
程序的三种基本结构
顺序结构、选择结构、循环结构 已经证明,任何程序均可只用这三种结构实现 只用这三种结构的程序,叫结构化程序。
程序设计核心思想 自顶向下,精益求精 模块化(C语言的基本组成单位)
THANKS
精品
流程图、程序的三 种基本结构、语句、 顺序结构
流程图
算法描述了解决问题的方法和步骤,而程序是这套方法 和步骤在计算机上的实现。
流程图是算法的一种图形化表示方式。它使用一组预定 义的符号来说明如何执行特定任务。
流程图直观、清晰,更有利于人们设计与理解算法。
流程图所使用的符号及含义
图框 圆角矩形 平行四边形
选择结构

程序的三种基本结构PPT精选课件

程序的三种基本结构PPT精选课件

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
11
#include<stdio.h>
main( )
{ int score;
程序
scanf(“%d”, &score);
}
假 表达式
语句2
8
输入两个数, 比较其大小, 将较大的数输出。
流程分析: (1) 输入两个数据a,b ; (2) 如果a>b 则输出a ;否则,输出b。
#include <stdio.h> main( ) { float a, b; scanf(“%f, %f”,&a, &b); if (a>b) printf (“%f”, a ); else printf (“%f”, b ); }
if ( score<60) printf(“E” );
else if ( score <70)
printf(“D” );
else if (score <80)
printf(“C” );
else if (score <90)
printf(“B” );
else
printf(“A” );
}
12
说明: if后面的表达式类型任意
• 运行情况如下: 3,7,1
7
• 1, 3, 7
•2.双分支选择语句的形式:
•if(表达式) 语句1 else 语句2

流程图、程序的三种基本结构、语句、顺序结构

流程图、程序的三种基本结构、语句、顺序结构

循环结构又分为直到型结构和当型结构。
当型结构
,当条件不成立时退出 条件成立时,反复执行某一部分的操作 特点:A可能一次也没执行到。 环。 入口 不成立
P
成立
A
出口
直到型结构
,再判断条件,当条件成立时,退出循 先执行某一部分的操作 特点:先执行,后判断, S最少要执行一次。 环;条件不成立时,继续循环。 入口
选择结构
一种操作。
又称分支结构。根据是否满足给定条件而从两组操作中选择执行
入口 成立
不成立
P
A
B
出口
选择结构

出口
选择结构
入口 成立
不成立
某一部分的操作可以为空操作。
P
B
出口
循环结构
又称重复结构。即在一定条件下,反复执行某一部分的操作。
顺序结构
流程图
算法描述了解决问题的方法和步骤,而程序是这套方法 和步骤在计算机上的实现。 流程图是算法的一种图形化表示方式。它使用一组预定
义的符号来说明如何执行特定任务。
流程图直观、清晰,更有利于人们设计与理解算法。
流程图所使用的符号及含义
图框 圆角矩形 平行四边形 名称 起止框 功能 表示一个算法的 开始和结束 表示一个算法的 输入和输出信息 赋值,执行计算语句, 结果的传送 表示判断某一个条件 是否成立 表示执行步骤的路径 流程进行的方向
输入输出框 处理框 判断框 流程线
矩形
菱形
程序的结构
流程图 程序的三种结构 语句 顺序结构
程序的三种结构
程序的三种结构
顺序结构
选择结构
循环结构
顺序结构
各操作是按先后顺序执行的。是最简单的一种基本结构。

简单介绍程序设计的三种基本结构。

简单介绍程序设计的三种基本结构。

简单介绍程序设计的三种基本结构。

介绍如下:
程序设计的三种基本结构是顺序结构、选择结构、循环结构。

•顺序结构:程序中各个操作按照在源代码中的排列顺序,自上而下,依次执行。

•选择结构:根据某个特定的条件进行判断后,选择其中一支执行。

•循环结构:在程序中需要反复执行某个或某些操作,直到条件为假或为真时才停止循环。

它由循环体中的条件判断继续执行某个功能还是退出循环。

另外,循环结构由循环变量、循环体和循环终止条件三部分组成。

程序的三种基本结构

程序的三种基本结构
}
假 表达式
语句2
输入两个数, 比较其大小, 将较大的数输出。
流程分析: (1) 输入两个数据a,b ; (2) 如果a>b 则输出a ;否则,输出b。
#include <stdio.h> main( ) { float a, b; scanf(“%f, %f”,&a, &b); if (a>b) printf (“%f”, a ); else printf (“%f”, b ); }
下一页
看下面的例子
switch ( i )
{case 1:printf(″A\n″);
case 2: printf (″ B\n ″);
case 3:printf( ″C\n″);
case 4:printf(″D\n″);
default:printf(″E\n″);
}
假设i=3时,则会从i=3 时做起始语句。运行结 果见右图。如果给每条 语句加上break这样就 只执行一条语句。
printf(“a!=b”);

确 配
修改: if (a==b)
对 方
{ if(b==c)

printf(“a==b==c”);
}
else
printf(“a!=b”);
实现if ~ else 正确配对方法:加{ }

5.2 switch语句
• switch语句是多分支选择语句。if语句只有两个分支可供选择, 而实际问题中常常需要用到多分支的选择。例如,学生成绩分类(90分 以为‘A’等,80~89分为‘B’等,70~79分为‘c’ 等,……);人口统
X<Y
scanf("%d,%d",&x,&y); if(x!=y)

结构化程序设计的三种基本结构

结构化程序设计的三种基本结构
第3章 结构化程序设计的三种 基本结构
结构化程序设计共有以下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↙ (正确) ④可以指定输入数据所占的列数,系统自动按指定列 数截取数据。例如:

流程图、程序的三种基本结构、语句、顺序结构

流程图、程序的三种基本结构、语句、顺序结构

程序的结构
流程图 程序的三种结构 语句 顺序结构
程序的三种结构
程序的三种结构
顺序结构
选择结构
循环结构
顺序结构
各操作是按先后顺序执行的 是最简单的一种基本结构。 各操作是按先后顺序执行的。是最简单的一种基本结构。 顺序执行
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.循环结构 循环结构
程序的结构
流程图 程序的三种结构 语句 顺序结构

程序的三种基本结构(共24张PPT)

程序的三种基本结构(共24张PPT)
•printf("Input a,b,c:\n");
•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语句直接处理多分支选择,它的一

程序的三种基本结构[优质ppt]

程序的三种基本结构[优质ppt]

语句可以是复合语句 如:if(ifx()a==b&if(&xx!==0=)y) printf(“a=b,x=y”);
if(if!(x3)) priinf(tfx(=“=O0K)”);
例 考i虑f(‘下a’)面p程ri序ntf的(“%输d出”,结’a’果); :
#include <stdio.h>
内嵌if
if (expr1) if (expr2) statement1
else statement3
内嵌if
if (expr1) statement1
else if(expr3) statement3 else statement4
内嵌if
if (expr1)
if (expr2) statement1
0(N) 表达式
1(Y)
if (x < 0) y = 3 - x ;
语句
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
– 结构化程序设计



– 基本思想:任何程序都可以用三种基本结构表 示,限制使用无条件转移语句(goto)


A
A

B
– 结构化程序:由流程三图种基本结B构反复嵌套构成的N-S图 程序叫~

选择结构

第三课 三种基本结构

第三课   三种基本结构

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所示。

程序流程有三种最基本的控制结构,即顺序结构、选择结构和44页PPT

程序流程有三种最基本的控制结构,即顺序结构、选择结构和44页PPT
程序流程有三种最基本的控制结构,即 顺序结构、选择结构和
1、战鼓一响,法律无声。——英国 2、任何法律的根本;不,不成文法本 身就是 讲道理 ……法 律,也 ----即 明示道 理。— —爱·科 克
3、法律是最保险的头盔。——爱·科 克 4、一个国家如果纲纪不正,其国风一 定颓败 。—— 塞内加 5、法律不能使人人平等,但是在法律 面前人 人是平 等的。 ——波 洛克
44、卓越的人一大优点是:在不利与艰 难的遭遇里百折不饶。——贝多芬
45、自己的饭量自己知道。——苏联
41、学问是异常珍贵的东西,从任何源泉吸 收都不可耻。——阿卜·日·法拉兹
42、只有在人群中间,才能认识自 己。——育; 而要挑战别人所说的话,则需要头脑。—— 玛丽·佩蒂博恩·普尔

程序的三种基本结构

程序的三种基本结构

写一个程序完成下列功能:
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
a
11
#include<stdio.h>
main( )
{ int score;
a
9
• 3.多分支选择语句的形式:
• if (表达式1)
语句1
• else if (表达式2)
语句2

else if(表达式3)
语句3

else if (表达式m)
语句m

else
语句n

流程图
F
表达式
1 T
F
表达式
2 T
F
表达式
3 T
F
表达式
4 T
语句1
语句2
语句3
a
语句4
语句5
10
多分支问题
程序
scanf(“%d”, &score);
if ( score<60) printf(“E” );
else if ( score <70)
printf(“D” );
else if (score <80)
printf(“C” );
else if (score <90)
printf(“B” );
else
内嵌if
if (expr1) if (expr2) statement1
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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
{ 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
• 3.多分支选择语句的形式:
• if (表达式1)
语句1
• else if (表达式2)
语句2

else if(表达式3)
语句3

else if (表达式m)
语句m

else
语句n

流程图
表达式
1 T
F
表达式
2 T
F
表达式
3 T
F
表达式
4 T
语句1
语句2
语句3
语句4
F 语句5
多分支问题
写一个程序完成下列功能:
内嵌if
if (expr1) if (expr2) statement1
else statement3
内嵌if
if (expr1) statement1
else if(expr3) statement3 else statement4
内嵌if
if (expr1)
if (expr2) else
statement1 statement2
程序的三种基本结构
– 结构化程序设计
• 基本思想:任何程序都可以用三种基本结构表示,限 制使用无条件转移语句(goto)
• 结构化程序:由三种基本结构反复嵌套构成的程序叫 ~
• 优点:结构清晰,易读,提高程序设计质量和效率
– 三种基本结构
• 顺序结构
A
流程图
B
A B
N-S图
选择结构


P
二分支选择结构 A
内嵌if
else
if(expr3) else
statement3 statement4
内嵌if
例 输入两数并判断其大小关系
/*ch4_4.c*/
#include <stdio.h>
main()
{ int x,y;
运行:Enter integer x,y:12,23
printf("Enter integer x,y:");
语句可以是复合语句 如:if(ifx()a==b&if(&xx!==0=)y) printf(“a=b,x=y”);
if(if!(x3)) priinf(tfx(=“=O0K)”);
例 考i虑f(‘下a’)面p程ri序ntf的(“%输d出”,结’a’果); :
#include <stdio.h>
main()
( 3 )使用判断——交换法: 1.若a>b,则交换a和b,交换后a<b 2.若a>c,则交换a和c,交换后a<c 3.若b>c,则交换b和c,交换后b<c
[例5.2」输入三个数,按由小到大顺序输出。 •main( ) •{int a,b,c,temp; •printf("Input a,b,c:\n"); •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); •}
• 运行情况如下: 3,7,1 • 1, 3, 7
•2.双分支选择语句的形式:
•if(表达式) 语句1 else 语句2

见图:
main()

{ float x , y; scanf(“%f ”, &x);
if ( x < 0 ) y = 3 - x ;
语句1
else y = 2 * x ; printf(“y= %6.2f”, y );
if ( score<60) printf(“E” );
else if ( score <70)
printf(“D” );
else if (score <80)
printf(“C” );
else if (score <90)
printf(“B” );
else
printf(“A” );
}
说明: if后面的表达式类型任意
}
假 表达式
语句2
输入两个数, 比较其大小, 将较大的数输出。
流程分析: (1) 输入两个数据a,b ; (2) 如果a>b 则输出a ;否则,输出b。
#include <stdio.h> main( ) {
float a, b; scanf(“%f, %f”,&a, &b); if (a>b) printf (“%f”, a ); else printf (“%f”, b ); }
返回
5.1 if条件语句
•if语句是用来判定所给定的条件是否满足,根据判定的结果(真或假)决定 执行给出的两种操作之一。
5.1.1 if语句的三种形式
•1.单分支选择语句的形式: if(表达式) 语句

main( )
这种if语句的执行过程见图:
{ float x , y; scanf(“%f ”, &x); if (x>=0) y = 2 * x ;
相关文档
最新文档