欢迎来到天天文库
浏览记录
ID:15036451
大小:80.00 KB
页数:12页
时间:2018-08-01
《选择结构程序设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、5选择结构程序设计要设计选择结构程序,要考虑两个方面的问题:一是在C语言中如何来表示条件,二是在C语言中实现选择结构用什么语句。在C语言中表示条件,一般用关系表达式或逻辑表达式,实现选择结构用if语句或switch语句。5.1关系运算符和表达式所谓“关系运算”实际上就是“比较运算”,即将两个数据进行比较,判定两个数据是否符合给定的关系。例如,“a>b”中的“>”表示一个大于关系运算。如果a的值是5,b的值是3,则大于关系运算“>”的结果为“真”,即条件成立;如果a的值是2,b的值是3,则大于关系运算“>”的
2、结果为“假”,即条件不成立。5.1.1关系运算符及其优先次序在C语言中有以下关系运算符:1)<小于2)<=小于或等于3)>大于4)>=大于或等于5)==等于6)!=不等于关系运算符都是双目运算符,其结合性均为左结合。关系运算符的优先级低于算术运算符,高于赋值运算符。在六个关系运算符中,<,<=,>,>=的优先级相同,高于==和!=,==和!=的优先级相同。5.1.2关系表达式关系表达式的一般形式为:表达式关系运算符表达式1.关系表达式的概念所谓关系表达式是指,用关系运算符将两个表达式连接起来,进行关系运算的
3、式子。例如,下面的关系表达式都是合法的:a>b,a+b>c-d,(a=3)<=(b=5),'a'>='b',(a>b)==(b>c)2.关系表达式的值--逻辑值(非“真”即“假”)。由于C语言没有逻辑型数据,所以用整数“1”表示“逻辑真”,用整数“0”表示“逻辑假”。例如,假设num1=3,num2=4,num3=5,则:5-12(1)num1>num2的值=0。(2)(num1>num2)!=num3的值=1。(3)num14、达式的值吗?为什么?(4)(num1=k+1);printf("%d,%d",15、+y);printf("%d,%d",i+j+k==-2*j,k==j==i+5);}在本例中求出了各种关系运算符的值。字符变量是以它对应的ASCII码参与运算的。对于含多个关系运算符的表达式,如k==j==i+5,根据运算符的左结合性,先计算k==j,该式不成立,其值为0,再计算0==i+5,也不成立,故表达式值为0。5.1逻辑运算符和表达式5.1.1逻辑运算符极其优先次序C语言中提供了三种逻辑运算符:1)&&与运算2)6、7、或运算3)!非运算与运算符&&和或运算符8、9、均为双目运算符。具有左结合性。非运10、算符!为单目运算符,具有右结合性。逻辑运算符和其它运算符优先级的关系可表示如下:!(非)→&&(与)→11、12、(或)!(非)算术运算符关系运算符&&和13、14、赋值运算符“&&”和“15、16、”低于关系运算符,“!”高于算术运算符。按照运算符的优先顺序可以得出:5-12a>b&&c>d等价于(a>b)&&(c>d)!b==c17、18、d19、20、(dc&&x+yc)&&((x+y)21、求值规则如下:1.与运算&&:参与运算的两个量都为真时,结果才为真,否则为假。例如:5>0&&4>2由于5>0为真,4>2也为真,相与的结果也为真。2.或运算22、23、:参与运算的两个量只要有一个为真,结果就为真。两个量都为假时,结果为假。例如:5>024、25、5>8由于5>0为真,相或的结果也就为真。3.非运算!:参与运算量为真时,结果为假;参与运算量为假时,结果为真。例如:!(5>0)的结果为假。虽然C编译在给出逻辑运算值时,以“1”代表“真”,“0”代表“假”。但反过来在判断一个量是为“真”还是为“假”时,以“026、”代表“假”,以非“0”的数值作为“真”。例如:由于5和3均为非“0”因此5&&3的值为“真”,即为1。又如:527、28、0的值为“真”,即为1。5.1.2逻辑表达式逻辑表达式的一般形式为:表达式逻辑运算符表达式其中的表达式可以又是逻辑表达式,从而组成了嵌套的情形。例如:(a&&b)&&c根据逻辑运算符的左结合性,上式也可写为:a&&b&&c逻辑表达式的值是式中各种逻辑运算的最后值,以“1”和“0”分别代表“真”和“假
4、达式的值吗?为什么?(4)(num1=k+1);printf("%d,%d",15、+y);printf("%d,%d",i+j+k==-2*j,k==j==i+5);}在本例中求出了各种关系运算符的值。字符变量是以它对应的ASCII码参与运算的。对于含多个关系运算符的表达式,如k==j==i+5,根据运算符的左结合性,先计算k==j,该式不成立,其值为0,再计算0==i+5,也不成立,故表达式值为0。5.1逻辑运算符和表达式5.1.1逻辑运算符极其优先次序C语言中提供了三种逻辑运算符:1)&&与运算2)6、7、或运算3)!非运算与运算符&&和或运算符8、9、均为双目运算符。具有左结合性。非运10、算符!为单目运算符,具有右结合性。逻辑运算符和其它运算符优先级的关系可表示如下:!(非)→&&(与)→11、12、(或)!(非)算术运算符关系运算符&&和13、14、赋值运算符“&&”和“15、16、”低于关系运算符,“!”高于算术运算符。按照运算符的优先顺序可以得出:5-12a>b&&c>d等价于(a>b)&&(c>d)!b==c17、18、d19、20、(dc&&x+yc)&&((x+y)21、求值规则如下:1.与运算&&:参与运算的两个量都为真时,结果才为真,否则为假。例如:5>0&&4>2由于5>0为真,4>2也为真,相与的结果也为真。2.或运算22、23、:参与运算的两个量只要有一个为真,结果就为真。两个量都为假时,结果为假。例如:5>024、25、5>8由于5>0为真,相或的结果也就为真。3.非运算!:参与运算量为真时,结果为假;参与运算量为假时,结果为真。例如:!(5>0)的结果为假。虽然C编译在给出逻辑运算值时,以“1”代表“真”,“0”代表“假”。但反过来在判断一个量是为“真”还是为“假”时,以“026、”代表“假”,以非“0”的数值作为“真”。例如:由于5和3均为非“0”因此5&&3的值为“真”,即为1。又如:527、28、0的值为“真”,即为1。5.1.2逻辑表达式逻辑表达式的一般形式为:表达式逻辑运算符表达式其中的表达式可以又是逻辑表达式,从而组成了嵌套的情形。例如:(a&&b)&&c根据逻辑运算符的左结合性,上式也可写为:a&&b&&c逻辑表达式的值是式中各种逻辑运算的最后值,以“1”和“0”分别代表“真”和“假
5、+y);printf("%d,%d",i+j+k==-2*j,k==j==i+5);}在本例中求出了各种关系运算符的值。字符变量是以它对应的ASCII码参与运算的。对于含多个关系运算符的表达式,如k==j==i+5,根据运算符的左结合性,先计算k==j,该式不成立,其值为0,再计算0==i+5,也不成立,故表达式值为0。5.1逻辑运算符和表达式5.1.1逻辑运算符极其优先次序C语言中提供了三种逻辑运算符:1)&&与运算2)
6、
7、或运算3)!非运算与运算符&&和或运算符
8、
9、均为双目运算符。具有左结合性。非运
10、算符!为单目运算符,具有右结合性。逻辑运算符和其它运算符优先级的关系可表示如下:!(非)→&&(与)→
11、
12、(或)!(非)算术运算符关系运算符&&和
13、
14、赋值运算符“&&”和“
15、
16、”低于关系运算符,“!”高于算术运算符。按照运算符的优先顺序可以得出:5-12a>b&&c>d等价于(a>b)&&(c>d)!b==c
17、
18、d19、20、(dc&&x+yc)&&((x+y)21、求值规则如下:1.与运算&&:参与运算的两个量都为真时,结果才为真,否则为假。例如:5>0&&4>2由于5>0为真,4>2也为真,相与的结果也为真。2.或运算22、23、:参与运算的两个量只要有一个为真,结果就为真。两个量都为假时,结果为假。例如:5>024、25、5>8由于5>0为真,相或的结果也就为真。3.非运算!:参与运算量为真时,结果为假;参与运算量为假时,结果为真。例如:!(5>0)的结果为假。虽然C编译在给出逻辑运算值时,以“1”代表“真”,“0”代表“假”。但反过来在判断一个量是为“真”还是为“假”时,以“026、”代表“假”,以非“0”的数值作为“真”。例如:由于5和3均为非“0”因此5&&3的值为“真”,即为1。又如:527、28、0的值为“真”,即为1。5.1.2逻辑表达式逻辑表达式的一般形式为:表达式逻辑运算符表达式其中的表达式可以又是逻辑表达式,从而组成了嵌套的情形。例如:(a&&b)&&c根据逻辑运算符的左结合性,上式也可写为:a&&b&&c逻辑表达式的值是式中各种逻辑运算的最后值,以“1”和“0”分别代表“真”和“假
19、
20、(dc&&x+yc)&&((x+y)21、求值规则如下:1.与运算&&:参与运算的两个量都为真时,结果才为真,否则为假。例如:5>0&&4>2由于5>0为真,4>2也为真,相与的结果也为真。2.或运算22、23、:参与运算的两个量只要有一个为真,结果就为真。两个量都为假时,结果为假。例如:5>024、25、5>8由于5>0为真,相或的结果也就为真。3.非运算!:参与运算量为真时,结果为假;参与运算量为假时,结果为真。例如:!(5>0)的结果为假。虽然C编译在给出逻辑运算值时,以“1”代表“真”,“0”代表“假”。但反过来在判断一个量是为“真”还是为“假”时,以“026、”代表“假”,以非“0”的数值作为“真”。例如:由于5和3均为非“0”因此5&&3的值为“真”,即为1。又如:527、28、0的值为“真”,即为1。5.1.2逻辑表达式逻辑表达式的一般形式为:表达式逻辑运算符表达式其中的表达式可以又是逻辑表达式,从而组成了嵌套的情形。例如:(a&&b)&&c根据逻辑运算符的左结合性,上式也可写为:a&&b&&c逻辑表达式的值是式中各种逻辑运算的最后值,以“1”和“0”分别代表“真”和“假
21、求值规则如下:1.与运算&&:参与运算的两个量都为真时,结果才为真,否则为假。例如:5>0&&4>2由于5>0为真,4>2也为真,相与的结果也为真。2.或运算
22、
23、:参与运算的两个量只要有一个为真,结果就为真。两个量都为假时,结果为假。例如:5>0
24、
25、5>8由于5>0为真,相或的结果也就为真。3.非运算!:参与运算量为真时,结果为假;参与运算量为假时,结果为真。例如:!(5>0)的结果为假。虽然C编译在给出逻辑运算值时,以“1”代表“真”,“0”代表“假”。但反过来在判断一个量是为“真”还是为“假”时,以“0
26、”代表“假”,以非“0”的数值作为“真”。例如:由于5和3均为非“0”因此5&&3的值为“真”,即为1。又如:5
27、
28、0的值为“真”,即为1。5.1.2逻辑表达式逻辑表达式的一般形式为:表达式逻辑运算符表达式其中的表达式可以又是逻辑表达式,从而组成了嵌套的情形。例如:(a&&b)&&c根据逻辑运算符的左结合性,上式也可写为:a&&b&&c逻辑表达式的值是式中各种逻辑运算的最后值,以“1”和“0”分别代表“真”和“假
此文档下载收益归作者所有