资源描述:
《第3章选择结构.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第三章选择结构C语言程序设计华北电力大学计算机科学系郑玲1学习目标掌握关系运算与逻辑运算的规律及规则;掌握if语句的语法规则、执行过程和使用方法;理解if语句的嵌套;掌握switch语句的语法规则和用法;掌握条件运算符和条件表达式;掌握选择结构程序设计方法及技巧。23.1选择结构概述【例3-1】输入x的值,求分段函数y=f(x)的值,函数表示如下:x2x>0y=0x<=0#includevoidmain(void){intx,y;/*定义变量x和y*/printf("请输入x的值:");sc
2、anf("%d",&x);/*从键盘上输入x*/if(x>0)/*判断x的值是否大于0*/y=x*x;/*如果x>0,则y=x2*/else/*如果x不大0,即x小于等于0*/y=0;/*如果x<=0,则y=0*/printf("y=%d",y);/*输出y的值*/}请输入x的值:5y=25Pressanykeytocontinue请输入x的值:0y=0Pressanykeytocontinue选择结构33.2关系运算与逻辑运算3.2.1关系运算1.关系运算符设变量x=-2表3-1关系运算符运算符含义举例
3、值<小于x<01<=小于或等于x<=01>大于x>-20>=大于或等于x>=-21==等于x==00!=不等于x!=0143.2.1关系运算2.优先级(1)在关系运算符中,<、<=、>、>=这4个运算符的优先级相同。(2)=和!=这2个运算符的优先级也相同,但比上述4个运算符优先级低。(3)关系运算符的优先级,低于算术运算符,但高于赋值运算符。(4)关系运算符都是双目运算符,其结合性均为左结合。例如:表达式x+y>x*y等价于(x+y)>(x*y)。53.2.1关系运算3.关系表达式关系表达式的一般形式为:表
4、达式关系运算符表达式例如:a+b>c-dx>3/20<=x<=5注意:若x=10,0<=x<=5的值?0<=x<=5根据左结合性,它等价于(0<=x)<=5。0<=x的值为1,(1)<=5的值为1。关系表达式:0<=x<=5其数学含义为x在[0,5]区间上,显然x=10不在[0,5]区间,而C语言的表达式却为1(真),我们得到了一个与数学相违背的结论。63.2.3逻辑运算1.逻辑运算符表3-2逻辑运算符运算符含义举例值!非!xx=0则!x为1;x=1则!x为0&&逻辑与x&&y当x和y都为1时x&&y的值为1
5、;否则x&&y的值为0
6、
7、逻辑或x
8、
9、y当x或y的值有一个为1时,x
10、
11、y值就为1;否则x
12、
13、y的值为02.运算规则&&当且仅当两个运算量的值都为“真”时,运算结果为“真”,否则为“假”。
14、
15、当且仅当两个运算量的值都为“假”时,运算结果为“假”,否则为“真”。!当运算量的值为“真”时,运算结果为“假”;当运算量的值为“假”时,运算结果为“真”。逻辑表达式的值只有“真”和“假”两种,用“1”和“0”来表示。73.2.3逻辑运算3.优先级逻辑非的优先级最高,逻辑与次之,逻辑或最低,即:!→ &&→
16、
17、与其它种类运
18、算符的优先关系为:!→算术运算→关系运算→&&→
19、
20、→赋值运算&&和
21、
22、均为双目运算符。具有左结合性。!为单目运算符,具有右结合性。例1:判断x是否在[0,5]区间,写出逻辑表达式x>=0&&x<=5当x=10时,由于x>=0为1,x<=5为0,则x>=0&&x<=5的值为0;当x=3时,由于x>=0为1,x<=5为1,则x>=0&&x<=5的值为1;当x=-5时,由于x>=0为0,x<=5为1,则x>=0&&x<=5的值为0;83.2.3逻辑运算例2:x<0
23、
24、x>5当x=10时,x<0为0,x>5为0,则
25、x<0
26、
27、x>5的值为1;当x=3时,x<0为0,x>5为0,则x<0
28、
29、x>5的值为0;当x=-5时,x<0为1,x>5为0,则x<0
30、
31、x>5的值为1;注意:表达式x<0
32、
33、x>5的数学含义为:x[0,5]区间,与逻辑表达式x>=0&&x<=5值正好相反。例3:!(x<0
34、
35、x>5)与x>=0&&x<=5等价!(x>=0&&x<=5)与x<0
36、
37、x>5等价93.2.3逻辑运算注意:C语言中逻辑量的真假判定的规则:0为“假”非0为“真”例4:5&&3,5
38、
39、0都是正确的逻辑表达式5&&3的值为1。5
40、
41、0
42、的值为1。103.2.3逻辑运算注意:在C语言中有逻辑运算的短路问题在计算exp1&&exp2或exp1
43、
44、exp2表达式时,为了提高计算效率,计算总是从左到右进行,一旦能确定结果就终止计算。对于逻辑与运算,如果第一个操作数被判定为“假”,系统不再判定或求解第二操作数。对于逻辑或运算,如果第一个操作数被判定为“真”,系统不再判定或求解第二操作数。113.2.3逻辑运算【例3-2】逻辑运算举例#inc