欢迎来到天天文库
浏览记录
ID:28002235
大小:199.00 KB
页数:12页
时间:2018-12-07
《5 分支结构程序 1.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、5分支结构程序15.1关系运算符和表达式15.1.1关系运算符及其优先次序15.1.2关系表达式15.2逻辑运算符和表达式25.2.1逻辑运算符极其优先次序25.2.2逻辑运算的值35.2.3逻辑表达式35.3if语句45.3.1if语句的三种形式45.3.2if语句的嵌套75.3.3条件运算符和条件表达式95.4switch语句105.5程序举例115分支结构程序5.1关系运算符和表达式在程序中经常需要比较两个量的大小关系,以决定程序下一步的工作。比较两个量的运算符称为关系运算符。5.1.1关系运算符及其优先次序在C语言中有以下关系运算符:1)<小于2)
2、<=小于或等于3)>大于4)>=大于或等于5)==等于6)!=不等于关系运算符都是双目运算符,其结合性均为左结合。关系运算符的优先级低于算术运算符,高于赋值运算符。在六个关系运算符中,<,<=,>,>=的优先级相同,高于==和!=,==和!=的优先级相同。5.1.2关系表达式关系表达式的一般形式为:表达式关系运算符表达式例如:a+b>c-dx>3/2‘a’+1(b>c)a!=(c==d)等。关系表达式的值是真”和“假”,用“1”和“0”表示。
3、如:5>0的值为“真”,即为1。(a=3)>(b=5)由于3>5不成立,故其值为假,即为0。【例5.1】main(){charc='k';inti=1,j=2,k=3;floatx=3e+5,y=0.85;printf("%d,%d",’a’+5=k+1);printf("%d,%d",14、5,根据运算符的左结合性,先计算k==j,该式不成立,其值为0,再计算0==i+5,也不成立,故表达式值为0。5.1逻辑运算符和表达式5.1.1逻辑运算符极其优先次序C语言中提供了三种逻辑运算符:1)&&与运算2)5、6、或运算3)!非运算与运算符&&和或运算符7、8、均为双目运算符。具有左结合性。非运算符!为单目运算符,具有右结合性。逻辑运算符和其它运算符优先级的关系可表示如下:!(非)→&&(与)→9、10、(或)!(非)算术运算符关系运算符&&和11、12、赋值运算符“&&”和“13、14、”低于关系运算符,“!”高于算术运算符。按照运算符的优先顺序可以得出:a>b&&c>d等价15、于(a>b)&&(c>d)!b==c16、17、d18、19、(dc&&x+yc)&&((x+y)0&&4>2由于5>0为真,4>2也为真,相与的结果也为真。2.或运算20、21、:参与运算的两个量只要有一个为真,结果就为真。两个量都为假时,结果为假。例如:5>022、23、5>8由于5>0为真,相或的结果也就为真。3.非运算!:参与运算量为真时,24、结果为假;参与运算量为假时,结果为真。例如:!(5>0)的结果为假。虽然C编译在给出逻辑运算值时,以“1”代表“真”,“0”代表“假”。但反过来在判断一个量是为“真”还是为“假”时,以“0”代表“假”,以非“0”的数值作为“真”。例如:由于5和3均为非“0”因此5&&3的值为“真”,即为1。又如:525、26、0的值为“真”,即为1。5.1.2逻辑表达式逻辑表达式的一般形式为:表达式逻辑运算符表达式其中的表达式可以又是逻辑表达式,从而组成了嵌套的情形。例如:(a&&b)&&c根据逻辑运算符的左结合性,上式也可写为:a&&b&&c逻辑表达式的值是式中各种逻辑运算的最27、后值,以“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",x28、29、i&&j-3,i30、31、i+j+k);}本例中!x和!y分别为0,!x*!y也为0,故其输出值为0。由于x为非0,故!!!x的逻辑值为0。对x32、33、i&&j-3式,先计算j-3的值为非0,再求i&&j-3的逻辑值为1,故x34、35、36、i&&j-3的逻辑值为1。对i
4、5,根据运算符的左结合性,先计算k==j,该式不成立,其值为0,再计算0==i+5,也不成立,故表达式值为0。5.1逻辑运算符和表达式5.1.1逻辑运算符极其优先次序C语言中提供了三种逻辑运算符:1)&&与运算2)
5、
6、或运算3)!非运算与运算符&&和或运算符
7、
8、均为双目运算符。具有左结合性。非运算符!为单目运算符,具有右结合性。逻辑运算符和其它运算符优先级的关系可表示如下:!(非)→&&(与)→
9、
10、(或)!(非)算术运算符关系运算符&&和
11、
12、赋值运算符“&&”和“
13、
14、”低于关系运算符,“!”高于算术运算符。按照运算符的优先顺序可以得出:a>b&&c>d等价
15、于(a>b)&&(c>d)!b==c
16、
17、d18、19、(dc&&x+yc)&&((x+y)0&&4>2由于5>0为真,4>2也为真,相与的结果也为真。2.或运算20、21、:参与运算的两个量只要有一个为真,结果就为真。两个量都为假时,结果为假。例如:5>022、23、5>8由于5>0为真,相或的结果也就为真。3.非运算!:参与运算量为真时,24、结果为假;参与运算量为假时,结果为真。例如:!(5>0)的结果为假。虽然C编译在给出逻辑运算值时,以“1”代表“真”,“0”代表“假”。但反过来在判断一个量是为“真”还是为“假”时,以“0”代表“假”,以非“0”的数值作为“真”。例如:由于5和3均为非“0”因此5&&3的值为“真”,即为1。又如:525、26、0的值为“真”,即为1。5.1.2逻辑表达式逻辑表达式的一般形式为:表达式逻辑运算符表达式其中的表达式可以又是逻辑表达式,从而组成了嵌套的情形。例如:(a&&b)&&c根据逻辑运算符的左结合性,上式也可写为:a&&b&&c逻辑表达式的值是式中各种逻辑运算的最27、后值,以“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",x28、29、i&&j-3,i30、31、i+j+k);}本例中!x和!y分别为0,!x*!y也为0,故其输出值为0。由于x为非0,故!!!x的逻辑值为0。对x32、33、i&&j-3式,先计算j-3的值为非0,再求i&&j-3的逻辑值为1,故x34、35、36、i&&j-3的逻辑值为1。对i
18、
19、(dc&&x+yc)&&((x+y)0&&4>2由于5>0为真,4>2也为真,相与的结果也为真。2.或运算
20、
21、:参与运算的两个量只要有一个为真,结果就为真。两个量都为假时,结果为假。例如:5>0
22、
23、5>8由于5>0为真,相或的结果也就为真。3.非运算!:参与运算量为真时,
24、结果为假;参与运算量为假时,结果为真。例如:!(5>0)的结果为假。虽然C编译在给出逻辑运算值时,以“1”代表“真”,“0”代表“假”。但反过来在判断一个量是为“真”还是为“假”时,以“0”代表“假”,以非“0”的数值作为“真”。例如:由于5和3均为非“0”因此5&&3的值为“真”,即为1。又如:5
25、
26、0的值为“真”,即为1。5.1.2逻辑表达式逻辑表达式的一般形式为:表达式逻辑运算符表达式其中的表达式可以又是逻辑表达式,从而组成了嵌套的情形。例如:(a&&b)&&c根据逻辑运算符的左结合性,上式也可写为:a&&b&&c逻辑表达式的值是式中各种逻辑运算的最
27、后值,以“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
28、
29、i&&j-3,i30、31、i+j+k);}本例中!x和!y分别为0,!x*!y也为0,故其输出值为0。由于x为非0,故!!!x的逻辑值为0。对x32、33、i&&j-3式,先计算j-3的值为非0,再求i&&j-3的逻辑值为1,故x34、35、36、i&&j-3的逻辑值为1。对i
30、
31、i+j+k);}本例中!x和!y分别为0,!x*!y也为0,故其输出值为0。由于x为非0,故!!!x的逻辑值为0。对x
32、
33、i&&j-3式,先计算j-3的值为非0,再求i&&j-3的逻辑值为1,故x
34、
35、
36、i&&j-3的逻辑值为1。对i
此文档下载收益归作者所有