c语言 第5章选择结构程序设计.ppt
《c语言 第5章选择结构程序设计.ppt》由会员分享,可在线阅读,更多相关《c语言 第5章选择结构程序设计.ppt(33页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、4/8/20234/8/20234/8/2023C语言程序设计第第5章章 选择结构程序设计选择结构程序设计&掌握关系表达式与逻辑表达式掌握关系表达式与逻辑表达式&掌握选择结构控制语句(掌握选择结构控制语句(if语句,语句,switch语句)语句)&能够编写较复杂的程序能够编写较复杂的程序4/8/20234/8/20234/8/2023C语言程序设计&引引例例计算函数值计算函数值 需要考虑:需要考虑:1)输入x 2)判断x值 3)根据x值,计算y值 4)输出y值显然2),3)顺序程序不能实现,须引入选择程序4/8/20234/8/20234/8/2023C语言程序设计&关系运算符和表达式8关系运
2、算:对两个量进行“比较运算”8关系运算符v种类:=!=v结合方向:自左向右v优先级别:=!=优先级6(高)优先级7(低)例 ca+b /c(a+b)ab!=c /(ab)!=c a=bc /a=(bc /a=(bc)8关系表达式的值:是逻辑值关系表达式的值:是逻辑值“真真”或或“假假”,用,用1和和0表示表示例例 int a=3,b=2,c=1,d,f;ab (ab)=c b+cb f=abc/表达式值1/表达式值1/表达式值0/d=1/f=0算术运算符关系运算符赋值运算符 (高)(低)8关系表达式:用关系运算符将两个表达式连接起来的有关系表达式:用关系运算符将两个表达式连接起来的有意义的式子
3、意义的式子说明:数值量比较:数字的大小字符量比较:ASCII的大小4/8/20234/8/20234/8/2023C语言程序设计8关系运算注意:关系运算注意:例 若a=0;b=0.5;x=0.3;则 a=x278在C中是允许的,值为0例 int i=1,j=7,a;a=i+(j%4!=0);则a=2例 a0 结果为 A100 结果为104/8/20234/8/20234/8/2023C语言程序设计例 注意区分“=”与“=”int a=0,b=1;if(a=b)printf(“a equal to b”);else printf(“a not equal to b”);例 应避免对实数作相等或不
4、等的判断如 1.0/3.0*3.0=1.0 结果为可改写为:fabs(1.0/3.0*3.0-1.0)1e-604/8/20234/8/20234/8/2023C语言程序设计ab!a!ba&ba|b真假真假假假真真&逻辑运算符和表达式逻辑运算符和表达式8逻辑运算符逻辑运算符v种类:种类:&|!8逻辑表达式:用逻辑运算符将关系表达式或逻辑量逻辑表达式:用逻辑运算符将关系表达式或逻辑量连接起来的有意义的式子连接起来的有意义的式子v逻辑运算真值表逻辑运算真值表真假假假假假真真假假真真真假真真逻辑逻辑运算量运算量:0 0表示表示“假假”,非,非0 0表示表示“真真”逻辑表达式的值:逻辑表达式的值:0
5、0表示表示“假假”,1 1表示表示“真真”4/8/20234/8/20234/8/2023C语言程序设计!(2)&(11)|(12)高低例 a=x&xb&xy a=b|x=y !a|ab优先级:结合方向:!:从右向左&:从左向右|:从左向右/(a=x)&(xb)&(xy)/(a=b)|(x=y)/(!a)|(ab)!(非)!(非)算术运算符算术运算符 关系运算符关系运算符&|赋值运算符赋值运算符高低4/8/20234/8/20234/8/2023C语言程序设计例例 a=4;b=5;a=4;b=5;!a !a a&b a&b a|b a|b !a|b !a|b 4&0|2 4&0|2 53&2|
6、83&2|83)&2|(8b)&(n=cd)/表达式结果04/8/20234/8/20234/8/2023C语言程序设计如:判断某年如:判断某年year是否为闰年是否为闰年(闰年:能被4整除,但不能被100整除;或能被400整除)year%4=0&year%100!=0|year%400=0 例:写出例:写出C语言的表达式语言的表达式(x2|xy)printf(“%d”,x);exprAB非0=0形式二:分支选择v格式:if(expression)A else Bv执行过程:例:if(xy)max=x;else max=y;条件,逻辑表达式条件,逻辑表达式语句语句例:if(xy)z=y;y=x
7、;x=z;4/8/20234/8/20234/8/2023C语言程序设计形式三:多重分支形式三:多重分支v格式:格式:if(expr1)statement1else if(expr2)statement2else if(expr3)statement3.else statementn expr1statemnt1非0=0expr2expr3statemntnstatemnt3statemnt2非0非0=0=0u执行过程:例:if(salary1000)index=0.4;else if(salary800)index=0.3;else if(salary600)index=0.2;else i
8、f(salary400)index=0.1;else index=0;4/8/20234/8/20234/8/2023C语言程序设计如:if(a=b&x=y)printf(“a=b,x=y”);if(3)printf(“OK”);if(a)printf(“%d”,a);8说明:vif后面的表达式类型任意,表达式为非0的时候,系统均按“真”处理v语句可以是单一语句或者复合语句例 考虑下面程序的输出结果:#include main()int x,y;scanf(“%d,%d”,&x,&y);if(xy)x=y;y=x;else x+;y+;printf(“%d,%dn”,x,y);Compile
9、Error!4/8/20234/8/20234/8/2023C语言程序设计#include void main()float x,y;printf(Enter x:);scanf(%f,&x);if(x=0.)y=1;else y=(x*5+1)/x;printf(nx=%4.1fty=%4.1fn”,x,y);例运行:Enter x:2 x=2.0 y=5.5y=1;if(x!=0.)y=(x*5+1)/x;4/8/20234/8/20234/8/2023C语言程序设计#include void main()int a;printf(“tinput a number:);scanf(%d,&
10、a);if(a%2=0)printf(“nt%d is evenn“,a);else printf(“nt%d is oddn“,a);例 输入一个整数,判断它是奇数还是偶数运行:input a number:125 125 is odd 偶数:a%2=04/8/20234/8/20234/8/2023C语言程序设计&将将3个整数按从大到小的顺序排列个整数按从大到小的顺序排列1)对于任意两个数a,b若ab,则输出a,b否则输出b,a2)对于三个数,有6种可能abc acbbac bcacab cba3)使用判断-交换法 i)若ab,则交换a和b ii)若ac,则交换a和c 结果a最大 iii)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c语言 第5章选择结构程序设计 语言 选择 结构 程序设计
限制150内