欢迎来到天天文库
浏览记录
ID:2007825
大小:36.50 KB
页数:2页
时间:2017-11-14
《2.逻辑运算符和表达式》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、5.1.1逻辑运算符极其优先次序C语言中提供了三种逻辑运算符:1.&& 与运算2.
2、
3、 或运算3.! 非运算与运算符&&和或运算符
4、
5、均为双目运算符。具有左结合性。非运算符!为单目运算符,具有右结合性。逻辑运算符和其它运算符优先级的关系可表示如下:!(非)→&&(与)→
6、
7、(或)“&&”和“
8、
9、”低于关系运算符,“!”高于算术运算符。 按照运算符的优先顺序可以得出: a>b&&c>d 等价于 (a>b)&&(c>d) !b==c
10、
11、d12、13、(d14、 a+b>c&&x+yc)&&((x+y)0&&4>2由于5>0为真,4>2也为真,相与的结果也为真。2.或运算15、16、:参与运算的两个量只要有一个为真,结果就为真。两个量都为假时,结果为假。例如:5>017、18、5>8由于5>0为真,相或的结果也就为真。3.非运算!:参与运算量为真时,结果为假;参与运算量为19、假时,结果为真。例如:!(5>0)的结果为假。虽然C编译在给出逻辑运算值时,以“1”代表“真”,“0”代表“假”。但反过来在判断一个量是为“真”还是为“假”时,以“0”代表“假”,以非“0”的数值作为“真”。例如: 由于5和3均为非“0”因此5&&3的值为“真”,即为1。又如: 520、21、0的值为“真”,即为1。5.1.2逻辑表达式逻辑表达式的一般形式为:表达式 逻辑运算符 表达式其中的表达式可以又是逻辑表达式,从而组成了嵌套的情形。例如: (a&&b)&&c根据逻辑运算符的左结合性,上式也可写为: a&&22、b&&c逻辑表达式的值是式中各种逻辑运算的最后值,以“1”和“0”分别代表“真”和“假”。【例5.2】main(){ charc='k'; inti=1,j=2,k=3; floatx=3e+5,y=0.85; printf("%d,%d",!x*!y,!!!x); printf("%d,%d",x23、24、i&&j-3,i25、26、i+j+k);} 本例中!x和!y分别为0,!x*!y也为0,故其输出值为0。27、由于x为非0,故!!!x的逻辑值为0。对x28、29、i&&j-3式,先计算j-3的值为非0,再求i&&j-3的逻辑值为1,故x30、31、i&&j-3的逻辑值为1。对i32、33、i+j+k由于x+y的值为非0,故整个或表达式的值为1。
12、
13、(d14、 a+b>c&&x+yc)&&((x+y)0&&4>2由于5>0为真,4>2也为真,相与的结果也为真。2.或运算15、16、:参与运算的两个量只要有一个为真,结果就为真。两个量都为假时,结果为假。例如:5>017、18、5>8由于5>0为真,相或的结果也就为真。3.非运算!:参与运算量为真时,结果为假;参与运算量为19、假时,结果为真。例如:!(5>0)的结果为假。虽然C编译在给出逻辑运算值时,以“1”代表“真”,“0”代表“假”。但反过来在判断一个量是为“真”还是为“假”时,以“0”代表“假”,以非“0”的数值作为“真”。例如: 由于5和3均为非“0”因此5&&3的值为“真”,即为1。又如: 520、21、0的值为“真”,即为1。5.1.2逻辑表达式逻辑表达式的一般形式为:表达式 逻辑运算符 表达式其中的表达式可以又是逻辑表达式,从而组成了嵌套的情形。例如: (a&&b)&&c根据逻辑运算符的左结合性,上式也可写为: a&&22、b&&c逻辑表达式的值是式中各种逻辑运算的最后值,以“1”和“0”分别代表“真”和“假”。【例5.2】main(){ charc='k'; inti=1,j=2,k=3; floatx=3e+5,y=0.85; printf("%d,%d",!x*!y,!!!x); printf("%d,%d",x23、24、i&&j-3,i25、26、i+j+k);} 本例中!x和!y分别为0,!x*!y也为0,故其输出值为0。27、由于x为非0,故!!!x的逻辑值为0。对x28、29、i&&j-3式,先计算j-3的值为非0,再求i&&j-3的逻辑值为1,故x30、31、i&&j-3的逻辑值为1。对i32、33、i+j+k由于x+y的值为非0,故整个或表达式的值为1。
14、 a+b>c&&x+yc)&&((x+y)0&&4>2由于5>0为真,4>2也为真,相与的结果也为真。2.或运算
15、
16、:参与运算的两个量只要有一个为真,结果就为真。两个量都为假时,结果为假。例如:5>0
17、
18、5>8由于5>0为真,相或的结果也就为真。3.非运算!:参与运算量为真时,结果为假;参与运算量为
19、假时,结果为真。例如:!(5>0)的结果为假。虽然C编译在给出逻辑运算值时,以“1”代表“真”,“0”代表“假”。但反过来在判断一个量是为“真”还是为“假”时,以“0”代表“假”,以非“0”的数值作为“真”。例如: 由于5和3均为非“0”因此5&&3的值为“真”,即为1。又如: 5
20、
21、0的值为“真”,即为1。5.1.2逻辑表达式逻辑表达式的一般形式为:表达式 逻辑运算符 表达式其中的表达式可以又是逻辑表达式,从而组成了嵌套的情形。例如: (a&&b)&&c根据逻辑运算符的左结合性,上式也可写为: a&&
22、b&&c逻辑表达式的值是式中各种逻辑运算的最后值,以“1”和“0”分别代表“真”和“假”。【例5.2】main(){ charc='k'; inti=1,j=2,k=3; floatx=3e+5,y=0.85; printf("%d,%d",!x*!y,!!!x); printf("%d,%d",x
23、
24、i&&j-3,i25、26、i+j+k);} 本例中!x和!y分别为0,!x*!y也为0,故其输出值为0。27、由于x为非0,故!!!x的逻辑值为0。对x28、29、i&&j-3式,先计算j-3的值为非0,再求i&&j-3的逻辑值为1,故x30、31、i&&j-3的逻辑值为1。对i32、33、i+j+k由于x+y的值为非0,故整个或表达式的值为1。
25、
26、i+j+k);} 本例中!x和!y分别为0,!x*!y也为0,故其输出值为0。
27、由于x为非0,故!!!x的逻辑值为0。对x
28、
29、i&&j-3式,先计算j-3的值为非0,再求i&&j-3的逻辑值为1,故x
30、
31、i&&j-3的逻辑值为1。对i32、33、i+j+k由于x+y的值为非0,故整个或表达式的值为1。
32、
33、i+j+k由于x+y的值为非0,故整个或表达式的值为1。
此文档下载收益归作者所有