c条件表达式与选择结构

c条件表达式与选择结构

ID:45057684

大小:3.46 MB

页数:31页

时间:2019-11-08

c条件表达式与选择结构_第1页
c条件表达式与选择结构_第2页
c条件表达式与选择结构_第3页
c条件表达式与选择结构_第4页
c条件表达式与选择结构_第5页
资源描述:

《c条件表达式与选择结构》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C程序设计选择结构程序设计关系运算符和关系表达式逻辑运算符与逻辑表达式复合语句与空语句if语句switch语句本章要点1.关系运算符与关系表达式关系运算符运算符(双目运算符→)>大于>=大于等于<小于<=小于等于==等于!=不等于优先级:>>=<<=同级(高),!===同级(低)关系运算的结果应该为逻辑型“真”或“假”C语言中没有逻辑型,将逻辑型数值化处理,用整型1表示“真”,用整型0表示“假”。关系表达式实例逻辑表达式7>5的值是1,5>7的值是0。已知:inta=13,b=2,c=1;a>ba<=ba!=ba==b(a>b)==ca>b==ca-b

2、==c成立,结果为1不成立,结果为0成立,结果为1不成立,结果为0结果为1与上面等价,结果为1等价于(a-b)==1,结果为0注意:当关系运算符两边的值类型不一致时,若一边是整型,一边是实型,自动转换进行比较;若两边均为实型则,尽量避免使用x==y这样的关系表达式。2.逻辑运算符与逻辑表达式逻辑运算符&&逻辑与(双目)(→)

3、

4、逻辑或(双目)(→)!逻辑非(单目)(←)逻辑运算规则ab!a!ba&&ba

5、

6、b非0非00011非0001010非01001001100逻辑表达式大写字母的判断小写字母的判断字母的判断ch>’A’&&ch<‘Z’ch>‘a’&

7、&ch<‘z’ch>’A’&&ch<‘Z’

8、

9、ch>‘a’&&ch<‘z’式2(y¦¦b)&&(y¦¦a)1结果2结果例:要判断0≤x≤9是否成立:(0<=x)&&(x<=9)如果没有括号:0<=x&&x<=9等价结果结果实例:比较下列两个逻辑表达式的执行过程式1y¦¦b&&y¦¦a说明:(1)运算优先级次序(由高到低):!(逻辑非)、算术运算、关系运算、&&(逻辑与)、

10、

11、(逻辑或)、赋值运算(2)由&&或

12、

13、组成的逻辑表达式的“短路”现象inta,b;a=0;b=1;a=1;b=1;a++&&b++0,a=1,b=11,a=2,b=2a++

14、

15、b+

16、+1,a=1,b=21,a=2,b=1复合语句也称语句块,用一对“{}”作开头和结尾的标志,其形式如下:{语句1;语句2;…;语句n}语法上等价于单一语句。明确层次关系复合语句允许嵌套,且嵌套层次没有限制对于复合语句,右花括号“}”的后面不必再跟一个分号(;)在复合语句内,不仅可以有执行语句,还可以有定义部分,定义部分应该出现在可执行语句的前面。空语句只有一个分号,程序执行不产生任何动作。例:main(){;}程序设计中有时需要加一个空语句来表示存在一条语句;慎用。while(getchar()!=‘’);提出问题二重分支的条件语句if多重分支的条

17、件语句switch?根据学生分数判断是否及格?根据学生分数如何进行分级?如何解决?自然语言:如果…那么…否则…C语言:分支语句if语句格式格式1:if(表达式)语句;格式2:if(表达式)语句1;else语句2;if语句的执行流程流程1:流程2:表达式执行语句成立不成立表达式执行语句2执行语句1成立不成立分支条件3.if语句多分支结构(if语句的嵌套)在if子句中嵌套if子句:1.嵌套if语句带有else:if(表达式1)if(表达式2)语句1else语句2else语句32.嵌套if语句不带else:if(表达式1){if(表达式2)语句1}else语

18、句2多分支结构(if语句的嵌套)在else子句中嵌套if子句1.嵌套if语句带有else:if(表达式1)语句1elseif(表达式2)语句2else语句32.嵌套if语句不带else:if(表达式1)语句1elseif(表达式2)语句2C语言规定,else总是和它上面最近的一个if配对条件表达式构成的选择结构条件运算符:?:(唯一的三目运算符)条件表达式:表达式1?表达式2:表达式3条件表达式的运算功能当表达式1的值为非0时,表达式2的值是整个条件表达式的值;当表达式1的值为0时,表达式3的值作为整个条件表达式的值。条件运算符的优先级优先于赋值运算符

19、,但低于逻辑运算、关系运算和算术运算。当if语句用来给同一个变量赋值时可以和条件表达式转换#includevoidmain(){inta,b,max;printf("inputtwonumbers:");scanf("%d%d",&a,&b);max=a;if(maxb?a:b;#includevoidmain(){intx,y;scanf("%d",&x);if(x<0)y=-x;elsey=x;printf("x

20、=%-6d,y=%d",x,y);}例:求任意整数的绝对值。y=x>=0?x:-x;#incl

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。