欢迎来到天天文库
浏览记录
ID:51994257
大小:219.00 KB
页数:34页
时间:2020-03-27
《《选择程序结构》PPT课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第5章逻辑运算和选择结构程序设计1本次课程主要内容关系运算符和关系表达式逻辑运算符和逻辑表达式条件运算符和条件运算if语句switch语句和break语句2关系运算关系运算:对两个运算量进行大小关系比较的运算,运算结果为1(逻辑真)或0(逻辑假)。关系运算符:<、<=、>、>=、==、!=关系表达式,用关系运算符连接起来的两个表达式:表达式关系运算符表达式3优先级:低于算术运算符,高于赋值运算符举例:x>y!=z等价:(x>y)!=zx==yy>z等价:(x>y)>zz>x+y等价:z>(x+y)x=y>z等价:x=(y>z
2、)4逻辑运算符和逻辑表达式逻辑运算符:&&(逻辑与,也叫逻辑乘)
3、
4、(逻辑或,也叫逻辑加)!(逻辑非)逻辑表达式:结果只有两种:非0:逻辑真0:逻辑假5逻辑与的真值表逻辑与运算:两个运算量都为非0,结果才为1(逻辑真)。6逻辑或的真值表逻辑与运算:两个运算量中只要有一个运算量非0,结果就为1(逻辑真)。7逻辑非的真值表逻辑非运算:使运算量的值变反,即非0值变0值。X!X非00018逻辑表达式运算的优先级优先级(从高到低):!算术运算符关系运算符&&
5、
6、赋值运算符练习:6<5+3&&4
7、
8、2>=!08111119注意:1.作为条件,所有非0值均为真
9、;作为结果,只有0或1两种。5>3&&2
10、
11、8<4-!02.不可写为112、13、b14、15、c当a为1时,表达式为1,不运算b与c。10设x=4,y=5i=++x==516、17、++y==6x=5y=5i=1i=x++==5&&y++==6x=5y=5i=0判断某年是否为闰年1)能被400整除2)能被4整除,不能被100整除year%400==0year%4==0&&year%100!=0(year%400==0)18、19、(20、year%4==0&&year%100!=0)运算后,各变量的值:11条件运算符和条件表达式条件运算符:?:表达式的一般形式:表达式1?表达式2:表达式3如:max=(a>b)?a:b条件表达式流程图说明:条件运算符仅优先于赋值运算符。条件运算符的结合方向为“自右到左”。12【程序5.1】输入一个字符,判别它是否大写字母。如果是,将它转换成小写字母;如果不是,不转换。main(){charch;scanf("%c",&ch);ch=(ch>='A'&&ch<='Z')?(ch+32):ch;printf("%c",ch);}131.逻辑“异或”运算可描21、述为"axorb",其中a和b为参加运算的两个操作数,运算结果为当且仅当a、b两个操作数中只有一个为真时才为真,其他情况下均为假。以下表达式中_____表达式可以正确表示逻辑“异或”运算。A.a22、23、bB.a&&bC.(a&&b)&&!(a24、25、b)D.(a26、27、b)&&!(a&&b)练习题:D142.若有声明"inta=30,b=7;",则表达式"!a+a%b"的值是__________。3.已知有声明“intx=1,y=2,z=3;”,则执行语句“x>y?(z-=--x):(z+=++x);”后,变量x、y、z的值分别是__________。4.以下表示数学28、式"a=b)&&!(b>=c)D.!(a>=b29、30、b>=c)15if语句if语句的三种形式:实现单分支选择结构的形式实现双分支选择结构的形式实现多分支选择的形式16if语句之单分支选择结构一般形式:if(表达式)语句说明:当表达式的结果为非0时,执行后面的语句,否则不执行。单分支选择结构流程图17【5.2】将输入的三个数按照从小到大的顺序输出main(){floata,b,c,t;scanf("%f%f%f",&a,&b,&c);if(a>b){t=a;a=b;b31、=t;}/*a、b间的较小值存入a*/if(a>c){t=a;a=c;c=t;}/*a、c间的较小值存入a*/if(b>c){t=b;b=c;c=t;}printf("%5.2f,%5.2f,%5.2f",a,b,c);}18if语句之双分支选择结构一般形式:if(表达式)语句1else语句2说明:当表达式的值为非0时,执行语句1,否则执行语句2。表达式语句1语句20=0双分支选择结构流程图19【5.3】显示输出从终端输入的两个整数中绝对值较大的main(){intx1,y1,x2,y2;scanf("%d,%d",&x1,&y1);if(x1<0)32、x2=-x1;elsex2=x1;if(y1<0)y2=-y1;e
12、
13、b
14、
15、c当a为1时,表达式为1,不运算b与c。10设x=4,y=5i=++x==5
16、
17、++y==6x=5y=5i=1i=x++==5&&y++==6x=5y=5i=0判断某年是否为闰年1)能被400整除2)能被4整除,不能被100整除year%400==0year%4==0&&year%100!=0(year%400==0)
18、
19、(
20、year%4==0&&year%100!=0)运算后,各变量的值:11条件运算符和条件表达式条件运算符:?:表达式的一般形式:表达式1?表达式2:表达式3如:max=(a>b)?a:b条件表达式流程图说明:条件运算符仅优先于赋值运算符。条件运算符的结合方向为“自右到左”。12【程序5.1】输入一个字符,判别它是否大写字母。如果是,将它转换成小写字母;如果不是,不转换。main(){charch;scanf("%c",&ch);ch=(ch>='A'&&ch<='Z')?(ch+32):ch;printf("%c",ch);}131.逻辑“异或”运算可描
21、述为"axorb",其中a和b为参加运算的两个操作数,运算结果为当且仅当a、b两个操作数中只有一个为真时才为真,其他情况下均为假。以下表达式中_____表达式可以正确表示逻辑“异或”运算。A.a
22、
23、bB.a&&bC.(a&&b)&&!(a
24、
25、b)D.(a
26、
27、b)&&!(a&&b)练习题:D142.若有声明"inta=30,b=7;",则表达式"!a+a%b"的值是__________。3.已知有声明“intx=1,y=2,z=3;”,则执行语句“x>y?(z-=--x):(z+=++x);”后,变量x、y、z的值分别是__________。4.以下表示数学
28、式"a=b)&&!(b>=c)D.!(a>=b
29、
30、b>=c)15if语句if语句的三种形式:实现单分支选择结构的形式实现双分支选择结构的形式实现多分支选择的形式16if语句之单分支选择结构一般形式:if(表达式)语句说明:当表达式的结果为非0时,执行后面的语句,否则不执行。单分支选择结构流程图17【5.2】将输入的三个数按照从小到大的顺序输出main(){floata,b,c,t;scanf("%f%f%f",&a,&b,&c);if(a>b){t=a;a=b;b
31、=t;}/*a、b间的较小值存入a*/if(a>c){t=a;a=c;c=t;}/*a、c间的较小值存入a*/if(b>c){t=b;b=c;c=t;}printf("%5.2f,%5.2f,%5.2f",a,b,c);}18if语句之双分支选择结构一般形式:if(表达式)语句1else语句2说明:当表达式的值为非0时,执行语句1,否则执行语句2。表达式语句1语句20=0双分支选择结构流程图19【5.3】显示输出从终端输入的两个整数中绝对值较大的main(){intx1,y1,x2,y2;scanf("%d,%d",&x1,&y1);if(x1<0)
32、x2=-x1;elsex2=x1;if(y1<0)y2=-y1;e
此文档下载收益归作者所有