欢迎来到天天文库
浏览记录
ID:39963446
大小:436.81 KB
页数:30页
时间:2019-07-16
《c语言第5章选择结构》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第五章选择型程序设计教学目标掌握关系表达式掌握if与switch语句复习前面所学内容关系运算符含义优先级结合性分支程序结构程序中某些语句可能不被执行,若被执行仅执行一次关系运算符及其表达式<小于6左右<=小于或等于>大于>=大于或等于==等于!=不等于关系表达式:<表达式><关系运算符><表达式>注意:关系表达式的值应是逻辑值,但在C中无逻辑型数据。若关系表达式成立,其值为1;在C中非零的值均表示逻辑真若关系表达式不成立,其值为零;零表示逻辑假。已知:c(char);i,j,k(int);x,y(double);c=‘w’,i=1,j=2,k=-7,x=7e+033,y=0.0
2、01‘a’+13、4、b非零非零0011非零零0101零非零1001零零1100!(单目)非2从右到左&&与8从左到右5、6、或8从左到右逻辑运算符逻辑运算符含义优先级结合性逻辑表达7、式:<表达式><&&或8、9、><表达式>表达式等价表达式表达式的值已知:c(char);i,j,k(int);x,y(double);c=‘w’;i=j=k=3;x=0.0;y=2.3;i&&j&&k(i&&j)&&k1x&&i10、11、j-2(x&&i)12、13、(j-2)1x14、15、i&&j-3x16、17、(i&&(j-3))0i18、19、j==420、21、k==622、i=((i==2)23、24、(j==4)25、26、(k==6))0!++--算术运算符关系运算符==!=&&27、28、赋值和复合赋值符逗号运算符已学过的运算符优先级如下:运算符和结合性优先级运算符含义要求运算结合方向对象的个数圆括号下标运算符指向结构体成员运算符结构体成员运算符逻辑非运算符按位取反运算符自增运算符自减运算符负号运算符类型转换运算符指针运算符地址,与运算符长度运算符乘法运算符除法运算符求余运算符加法运算符减法运算符1234()[].!~++---(类型)*&sizeof*/%+-1(单目运算符)2(双目运算符)2(双目运算符)自右至左5910112(双目运算符)2(双目运算符)2(29、双目运算符)优先级运算符含义要求运算结合方向对象的个数左移运算符右移运算符关系运算符等于运算符不等于运算符按位与运算符按位异或运算符按位或运算符逻辑与运算符逻辑或运算符条件运算符赋值运算符逗号运算符(顺序求值运算符)67812131415<<>><<=>>===!=&^!&&30、31、?:=+=&=,2(双目运算符)2(双目运算符)2(双目运算符)2(双目运算符)2(双目运算符)3(三目运算符)2自右至左自右至左格式功能if(表达式)语句if(表达式)语句1else语句2表达式值非0?表达式值非0?语句语句1语句2YNYN四.条件语句1.条件语句--表达式1值非0?表达式2值非0?表32、达式n值非0?语句2语句n+1语句n语句1YYNN...if(表达式1)语句1elseif(表达式2)语句2...elseif((表达式n)语句nelse语句n+1格式功能注:<表达式><表达式1>…..<表达式n>均是C的任何表达式;语句,语句1…..语句n+1可是一个语句或是用{}括起来的多个语句(称复合语句)else均是与最近的一个if配对x(x<1)main(){intx,y;scanf("%d",&x);if(x<1)y=x;elseif(x<10)y=2*x+1;elsey=3*x+1;printf("y=%d",y);}2x+1(1<=x<10)3x+1(x>33、=10)Y=编程求:条件运算符及其表达式在语句里,当表达式值为0或非0时,均只执行一个赋值语句,给同一个变量赋值时,可用该三目运算符.(此时条件表达式可代替if语句)条件运算符:?:条件表达式:<表达式1>?<表达式2>:<表达式3>优先级:9例:a-b?a:b+1等价a-b?a:(b+1)结合性:左右例:a>b?a:c>d?c:d等价:a>b?a:(c>d?c:d)main(){inta,b,c,max;scanf("%d,%d,%d",&a,&b,&c);max=(a>b)?a:b;ma
3、
4、b非零非零0011非零零0101零非零1001零零1100!(单目)非2从右到左&&与8从左到右
5、
6、或8从左到右逻辑运算符逻辑运算符含义优先级结合性逻辑表达
7、式:<表达式><&&或
8、
9、><表达式>表达式等价表达式表达式的值已知:c(char);i,j,k(int);x,y(double);c=‘w’;i=j=k=3;x=0.0;y=2.3;i&&j&&k(i&&j)&&k1x&&i
10、
11、j-2(x&&i)
12、
13、(j-2)1x
14、
15、i&&j-3x
16、
17、(i&&(j-3))0i18、19、j==420、21、k==622、i=((i==2)23、24、(j==4)25、26、(k==6))0!++--算术运算符关系运算符==!=&&27、28、赋值和复合赋值符逗号运算符已学过的运算符优先级如下:运算符和结合性优先级运算符含义要求运算结合方向对象的个数圆括号下标运算符指向结构体成员运算符结构体成员运算符逻辑非运算符按位取反运算符自增运算符自减运算符负号运算符类型转换运算符指针运算符地址,与运算符长度运算符乘法运算符除法运算符求余运算符加法运算符减法运算符1234()[].!~++---(类型)*&sizeof*/%+-1(单目运算符)2(双目运算符)2(双目运算符)自右至左5910112(双目运算符)2(双目运算符)2(29、双目运算符)优先级运算符含义要求运算结合方向对象的个数左移运算符右移运算符关系运算符等于运算符不等于运算符按位与运算符按位异或运算符按位或运算符逻辑与运算符逻辑或运算符条件运算符赋值运算符逗号运算符(顺序求值运算符)67812131415<<>><<=>>===!=&^!&&30、31、?:=+=&=,2(双目运算符)2(双目运算符)2(双目运算符)2(双目运算符)2(双目运算符)3(三目运算符)2自右至左自右至左格式功能if(表达式)语句if(表达式)语句1else语句2表达式值非0?表达式值非0?语句语句1语句2YNYN四.条件语句1.条件语句--表达式1值非0?表达式2值非0?表32、达式n值非0?语句2语句n+1语句n语句1YYNN...if(表达式1)语句1elseif(表达式2)语句2...elseif((表达式n)语句nelse语句n+1格式功能注:<表达式><表达式1>…..<表达式n>均是C的任何表达式;语句,语句1…..语句n+1可是一个语句或是用{}括起来的多个语句(称复合语句)else均是与最近的一个if配对x(x<1)main(){intx,y;scanf("%d",&x);if(x<1)y=x;elseif(x<10)y=2*x+1;elsey=3*x+1;printf("y=%d",y);}2x+1(1<=x<10)3x+1(x>33、=10)Y=编程求:条件运算符及其表达式在语句里,当表达式值为0或非0时,均只执行一个赋值语句,给同一个变量赋值时,可用该三目运算符.(此时条件表达式可代替if语句)条件运算符:?:条件表达式:<表达式1>?<表达式2>:<表达式3>优先级:9例:a-b?a:b+1等价a-b?a:(b+1)结合性:左右例:a>b?a:c>d?c:d等价:a>b?a:(c>d?c:d)main(){inta,b,c,max;scanf("%d,%d,%d",&a,&b,&c);max=(a>b)?a:b;ma
18、
19、j==4
20、
21、k==6
22、i=((i==2)
23、
24、(j==4)
25、
26、(k==6))0!++--算术运算符关系运算符==!=&&
27、
28、赋值和复合赋值符逗号运算符已学过的运算符优先级如下:运算符和结合性优先级运算符含义要求运算结合方向对象的个数圆括号下标运算符指向结构体成员运算符结构体成员运算符逻辑非运算符按位取反运算符自增运算符自减运算符负号运算符类型转换运算符指针运算符地址,与运算符长度运算符乘法运算符除法运算符求余运算符加法运算符减法运算符1234()[].!~++---(类型)*&sizeof*/%+-1(单目运算符)2(双目运算符)2(双目运算符)自右至左5910112(双目运算符)2(双目运算符)2(
29、双目运算符)优先级运算符含义要求运算结合方向对象的个数左移运算符右移运算符关系运算符等于运算符不等于运算符按位与运算符按位异或运算符按位或运算符逻辑与运算符逻辑或运算符条件运算符赋值运算符逗号运算符(顺序求值运算符)67812131415<<>><<=>>===!=&^!&&
30、
31、?:=+=&=,2(双目运算符)2(双目运算符)2(双目运算符)2(双目运算符)2(双目运算符)3(三目运算符)2自右至左自右至左格式功能if(表达式)语句if(表达式)语句1else语句2表达式值非0?表达式值非0?语句语句1语句2YNYN四.条件语句1.条件语句--表达式1值非0?表达式2值非0?表
32、达式n值非0?语句2语句n+1语句n语句1YYNN...if(表达式1)语句1elseif(表达式2)语句2...elseif((表达式n)语句nelse语句n+1格式功能注:<表达式><表达式1>…..<表达式n>均是C的任何表达式;语句,语句1…..语句n+1可是一个语句或是用{}括起来的多个语句(称复合语句)else均是与最近的一个if配对x(x<1)main(){intx,y;scanf("%d",&x);if(x<1)y=x;elseif(x<10)y=2*x+1;elsey=3*x+1;printf("y=%d",y);}2x+1(1<=x<10)3x+1(x>
33、=10)Y=编程求:条件运算符及其表达式在语句里,当表达式值为0或非0时,均只执行一个赋值语句,给同一个变量赋值时,可用该三目运算符.(此时条件表达式可代替if语句)条件运算符:?:条件表达式:<表达式1>?<表达式2>:<表达式3>优先级:9例:a-b?a:b+1等价a-b?a:(b+1)结合性:左右例:a>b?a:c>d?c:d等价:a>b?a:(c>d?c:d)main(){inta,b,c,max;scanf("%d,%d,%d",&a,&b,&c);max=(a>b)?a:b;ma
此文档下载收益归作者所有