欢迎来到天天文库
浏览记录
ID:39963373
大小:322.81 KB
页数:34页
时间:2019-07-16
《c语言程序设计教程 第4章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第四章选择结构程序设计4.1关系运算符与关系表达式4.2逻辑运算符与逻辑表达式4.3if语句4.4switch语句4.5结构嵌套程序举例选择结构:三种基本结构之一,根据所指定的条件是否满足,决定从给定的两组或两组以上操作中选一。实现方式:if(关系表达式)语句1else语句2例如:判定某一年是否为闰年:if(y%4==0&&y%100!=0
2、
3、y%400==0)printf(“是闰年”);elseprintf(“不是闰年”);4.1关系运算及其表达式所谓“关系运算”实际上就是“比较运算”,即将两个数据进行比较,判定两个数据是否符合给定
4、的关系。例如,“a>b”中的“>”表示一个大于关系运算。如果a的值是5,b的值是3,则大于关系运算“>”的结果为“真”,即条件成立;如果a的值是2,b的值是3,则大于关系运算“>”的结果为“假”,即条件不成立。4.1.1关系运算符及其优先次序1.关系运算符2.优先级(1)在关系运算符中,前4个优先级相同,后2个也相同,且前4个高于后2个。例如:inta=1;表达式a==3>0的值真?假?(2)与其它种类运算符的优先级关系。算术运算符>关系运算符>赋值运算符例如:a=8>1+2a=?大于小于大于等于小于等于等于不等于><>=<===!=4.1.
5、2关系表达式1.关系表达式的概念用关系运算符将两个表达式连接起来,进行关系运算的式子。例如,下面的关系表达式那些是合法的?(1)比较a、b的值:a>b(2)比较a+b、c+d的值:a+b>c+d(3)比较a=3、b=5的值:a=3<=b=5(4)比较字符‘a’、’b’的值:‘a’>=‘b’2.关系表达式的值——逻辑值(非“真”即“假”)。由于C语言没有逻辑型数据,所以用整数“1”表示“逻辑真”,用整数“0”表示“逻辑假”。例如,假设a=3,b=4,c=5,则:(1)a>b的值为0。(2)(a>b)!=c的值为1。(3)a
6、)(a=0”。如果需要描述“07、8、逻辑或(相当于“或者”)!逻辑非(相当于“否定”)例如9、,下面的表达式都是逻辑表达式:(x>=0)&&(x<10),(x<1)10、11、(x>5),!(x==0),(year%4==0)&&(year%100!=0)12、13、(year%400==0)(2)运算规则1)&&:当且仅当两个运算量的值都为“真”时,运算结果为“真”,否则为“假”。2)14、15、:当且仅当两个运算量的值都为“假”时,运算结果为“假”,否则为“真”。3)!:当运算量的值为“真”时,运算结果为“假”;当运算量的值为“假”时,运算结果为“真”。例如,假定x=5,则:x>=0&&x<10x>=0&&x<5x>=016、17、x<5x<-118、19、x>52.逻20、辑运算符的运算优先级(1)逻辑非的优先级最高,逻辑与次之,逻辑或最低,即:!(非)→&&(与)→21、22、(或)例如:3>423、24、1&&!0真?.假?(2)与其它种类运算符的优先关系!→算术运算→关系运算→&&→25、26、→赋值运算例如:a=1&&5>2+!8a的值?C语言用整数“1”表示“逻辑真”,用整数“0”表示“逻辑假”。但是,我们表示的只是逻辑量,表达式的值是什么还要根据它的类型而定。假定a=3,b=4,i=5。-2×3算术表达式a=(3.5*2)/2赋值表达式a>0?1:0条件表达式a+2,b+2逗号表达式i++++i增1运算表达式5+(c=4+27、5)算术表达式5>3关系表达式!2逻辑表达式4.2.2逻辑表达式1.逻辑表达式的概念所谓逻辑表达式是指,用逻辑运算符将一个或多个表达式连接起来,进行逻辑运算的式子。在C语言中,用逻辑表达式表示多个条件的组合。逻辑表达式的值也是一个逻辑值(非“真”即“假”)。2.逻辑量的真假判定──0和非0C语言中,判断一个数据的“真”或“假”时,以0和非0为根据:如果为0,则判定为“逻辑假”;如果为非0,则判定为“逻辑真”。但在表示运算结果时,用整数“1”表示“逻辑真”、用“0”表示“逻辑假”。例如:假设a=12,则:!a的值为0,a>=1&&a<=20的值28、为1,a29、30、a>20的值为1。3.说明(1)逻辑运算符两侧的操作数,除可以是0和非0的整数外,也可以是其它任何类型的数据,如实型、字符型等。例如:‘a’31、32、0、‘b
7、
8、逻辑或(相当于“或者”)!逻辑非(相当于“否定”)例如
9、,下面的表达式都是逻辑表达式:(x>=0)&&(x<10),(x<1)
10、
11、(x>5),!(x==0),(year%4==0)&&(year%100!=0)
12、
13、(year%400==0)(2)运算规则1)&&:当且仅当两个运算量的值都为“真”时,运算结果为“真”,否则为“假”。2)
14、
15、:当且仅当两个运算量的值都为“假”时,运算结果为“假”,否则为“真”。3)!:当运算量的值为“真”时,运算结果为“假”;当运算量的值为“假”时,运算结果为“真”。例如,假定x=5,则:x>=0&&x<10x>=0&&x<5x>=0
16、
17、x<5x<-1
18、
19、x>52.逻
20、辑运算符的运算优先级(1)逻辑非的优先级最高,逻辑与次之,逻辑或最低,即:!(非)→&&(与)→
21、
22、(或)例如:3>4
23、
24、1&&!0真?.假?(2)与其它种类运算符的优先关系!→算术运算→关系运算→&&→
25、
26、→赋值运算例如:a=1&&5>2+!8a的值?C语言用整数“1”表示“逻辑真”,用整数“0”表示“逻辑假”。但是,我们表示的只是逻辑量,表达式的值是什么还要根据它的类型而定。假定a=3,b=4,i=5。-2×3算术表达式a=(3.5*2)/2赋值表达式a>0?1:0条件表达式a+2,b+2逗号表达式i++++i增1运算表达式5+(c=4+
27、5)算术表达式5>3关系表达式!2逻辑表达式4.2.2逻辑表达式1.逻辑表达式的概念所谓逻辑表达式是指,用逻辑运算符将一个或多个表达式连接起来,进行逻辑运算的式子。在C语言中,用逻辑表达式表示多个条件的组合。逻辑表达式的值也是一个逻辑值(非“真”即“假”)。2.逻辑量的真假判定──0和非0C语言中,判断一个数据的“真”或“假”时,以0和非0为根据:如果为0,则判定为“逻辑假”;如果为非0,则判定为“逻辑真”。但在表示运算结果时,用整数“1”表示“逻辑真”、用“0”表示“逻辑假”。例如:假设a=12,则:!a的值为0,a>=1&&a<=20的值
28、为1,a
29、
30、a>20的值为1。3.说明(1)逻辑运算符两侧的操作数,除可以是0和非0的整数外,也可以是其它任何类型的数据,如实型、字符型等。例如:‘a’
31、
32、0、‘b
此文档下载收益归作者所有