第5章 分支结构程序设计PPT教学课件

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
cຫໍສະໝຸດ Baiduse 常量表达式n:语句组n;(break;) Default:语句组n+1;(break;) }
控制结构——选择结构
例ch5_007输入一个等级,打印相应的分 数段(注意有无break的差别)
例ch5_008联想猜词游戏:有6个表示6 门课程名的单词c、cobol、basic、bcdl、 ada、algol,请你任意输入前2个字母后, 即可猜出你所要输入的课程名。
int a,b,c; a=3;
求 |b| printf(“|b|=%d\n”,b>0? b:-b);
b=4; c=(a>b)?a:b; printf("%d\n",c);
}
三种控制结构
顺序结构 选择结构 循环结构
选择结构
例ch5_002:求两数中的较大数。
main()
{ int a,b,max;
第五章 分支结构程序设计
一、关系运算符与关系表达式
二、逻辑运算符与逻辑表达式
三、条件运算符和条件表达式
四、if语句
五、if语句的嵌套
六、多分支结构switch语句
综合实例
2020/12/10
1
程序中的运算
运算符与表达式
1. 算术运算符 2. 赋值运算符 3 .关系运算符 4 .逻辑运算符 5. 条件运算符 6 .逗号运算符
printf("PLease input 2 numbers:");
scanf("%d%d",&a,&b);
if (a>b) max=a; else max=b;
max=a; if (b>max) max=b;
printf("Max=%d",max);
}
max=(a>b)?a:b;
选择结构
if (条件) 语句序列1
运算符与表达式
1. 算术运算符 2. 赋值运算符 3 .关系运算符 4 .逻辑运算符 5. 条件运算符 6 .逗号运算符
条件运算符
5. 条件运算符
expr1 ? expr2 : expr3
规则:如果expr1非0 ,则
结果为expr2,否则结果为
expr3.
main()
{
C=4
思考;如何求|b|
运算符与表达式
运算符与表达式
1. 算术运算符 2. 赋值运算符 3 .关系运算符 4 .逻辑运算符 5. 条件运算符 6 .逗号运算符
逻辑运算符
4 逻辑运算符
! (一元运算符) && ||(二元运算符)
! :从右向左 && :从左向右 || :从左向右
a
b
!a
!b a&&b a||b
else 语句序列2
“二选一”控制结 构
若缺省else,则变成不平衡if结构,如下所示:
If (条件) 语句序列
说明: if后面的表达式类型任意,且必须有括号 如:if (a==b&&x==y) printf(“a=b,x=y”); if (3) printf(“OK”); if (‘a’) printf(“%d”,’a’);
scanf(“%d%d%d”,&a,&b,&c); if (a>b) mamxa=xa=;a ;
elseimf (abx>=mba;x) max=b; if (c>mifa(xc)>mmaaxx)=mc;ax=c; printf(“max=“,max); }
if 语句的嵌套形式
嵌套形式:
If (条件) If (条件) …….. Else… Else…..
if(x) if(x!=0) if(!x) if(x==0)
条件满足或不满足所做的语句如果超过一条,则 应该用花括号括起来,构成复合语句
例 ch5_003
例 考虑下面程序的输出结果:
if(x>y)
x=0; y=1;
else
Compile Error!
x++; y++;
选择结构
例ch5_004:求三数中的最大者: main() {int a,b,max;
d=a>b
//d=1
f=a>b>c
//f=0
关系运算符
例 若a=-5; b=0; x=-3;
则 a<=x<=b的值为 0 例 5>2>7>8 值为0
例 若X=3,则0<=x<=2的值为多少?
1
例 int i=1, j=7,a;
a=i+(j%4!=0); 则a= 2
例 ‘a’>0 结果为1 ‘A’>100 结果为0
本书在第5章 讲解!
关系运算符
3 关系运算符
>,<,>=,<=, ==,!= 运算顺序:从左到右
优先级:比算术运算符低,
高于赋值运算符,且后两个运 算低于前四个运算
运算结果:1或0 ,1代表真, 0代表假
例 int a=3,b=2,c=1,d,f;
a>b
//1
(a>b)==c
//1
b+c<a
//0
If (条件) …….
Else if (条件) ….
Else……
if 语句的嵌套形式
例CH5_005
if 语句的嵌套形式
当程序中存在嵌套的if …….else结构时,由后 向前使每个else与其前面的最靠近它的if配 对。若一个else的上面又有一个未经配对 的else,则先处理内层(上面)的else的配 对。






运算量: 0表示“假”,






非0表示 “真”,






运算结果:0或1






0表示“假”,
1表示“真”,
逻辑运算符
4 逻辑运算符 优先级高于赋值,低于关系
例 a<=x && x<=b a>b&&x>y a==b||x==y !a||a>b
!

&&
||

逻辑运算符
练习: a=4;b=5; !a a&&b a||b !a||b 4&&0||2 5>3&&2||8<4-!0 ‘c’&&‘d’
实质上是多选一结构(多路分支)
CH5_006.C:判断输入的字符是大写、小写、数字或其他字符
多分支结构 ——switch语句
若分之较多,则嵌套的if 语句层次多,程序冗长而且 降低可读性。
多分支结构:switch结构。
switch(条件表达式) {case 常量表达式1:语句组1;(break;) case 常量表达式2:语句组n;(break;)
值为0 值为1 值为1 值为1 值为1 值为1
值为1
逻辑运算符
例(ch5_001) a=0;b=10; a&&(b=100) //结果为0,b的值仍然为10
短路特性:逻辑表达式求解时,并非所有 的逻辑运算符都被执行,只是在必须执行下 一个逻辑运算符才能求出表达式的解时,才 执行该运算符
运算符与表达式
相关文档
最新文档