程序的三种基本结构[优质ppt]
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
else
statement2
内嵌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语句是用来判定所给定的条件是否满足,根据判定的结果(真或假)决定 执行给出的两种操作之一。
5.1.1 if语句的三种形式
•1.单分支选择语句的形式: if(表达式) 语句
•
main( )
这种if语句的执行过程见图:
{ float x , y; scanf(“%f ”, &x); if (x>=0) y = 2 * x ;
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);
( 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); •}
X<Y
scanf("%d,%d",&x,&y); if(x!=y)
main()
{ 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
}
假 表达式
语句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 ); }
– 结构化程序设计
–
–
–
– 基本思想:任何程序都可以用三种基本结构表 示,限制使用无条件转移语句(goto)
–
–
A
A
–
B
– 结构化程序:由流程三图种基本结B构反复嵌套构成的N-S图 程序叫~
–
选择结构
真
假
P
二分支选择结构 A
B
真 P假 AB
多分支选择结构
k
k=k1 k=k2
A1
A2 ...
k=kn k=ki
内嵌if
if (expr1) if (expr2) statement1
else statement3
内嵌if
if (expr1) statement1
else if(expr3) statement3 else statement4
内嵌if
if (expr1)
if (expr2) staLeabharlann Baiduement1
语句可以是复合语句 如: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>
Ai ... An
循环结构 当型循环结构
假 P
真
A
当P为真 A
直到型循环结构
A
假 P 真
A 直到P为真
注:A,B,A1….An可以是一个简单语句,也可以是一个基本结构
第5章 选择语句
• 5.1 if 条件语句 • 5.2 switch多分支选择语句 • 5.3 程序举例
返回
5.1 if条件语句
• 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
多分支问题
写一个程序完成下列功能:
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
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后面的表达式类型任意
• 运行情况如下: 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 );