资源描述:
《《关系选择结构》PPT课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章选择程序设计结构4.1关系运算符和关系表达式4.2逻辑运算符和逻辑表达式4.3if语句4.4switch语句控制语句的概念:能够影响其他语句的执行方式的语句。控制语句分类:选择和循环选择结构实现的语句:if(p)、if(p)/else、switch/case(p是逻辑表达式)用流程图表示三种选择结构:表达式真假语句A单路选择表达式语句A语句B真假双路选择选择结构的流程图表示法选择结构的流程图表示法表达式......=c1=c2=c3=c4=cn语句A语句B语句C语句D语句N多路选择4.1关系运算符和关系表达式1.关系运算符及其优先顺序C有6种关系运算符:(
2、用来比较两端数据的大小)。<<=>>=优先级相同(高)==!=优先级相同(低)!(非)高算术运算符关系运算符&&和¦¦赋值运算符低并排两个等于号,一个时,为赋值号。结合性:从左到右。2.关系表达式关系表达式是用关系运算符将两个或两个以上算术、关系、逻辑、赋值或字符表达式连接起来的式子。关系表达式的值是一个逻辑值,“真”(1)或“假”(0)。故可将关系表达式看成一种整型表达式。例如:c>a+b等效于:c>(a+b)a>b!=c(a>b)!=ca==bca=(b>c)1.逻辑运算符连接多个条件的判断&&、
3、
4、、!4.2逻辑运算符和逻辑表达
5、式例:表达条件:0<=x<=10x>=0&&x<=10!(x>=0&&x<=10)←→!(x>=0)
6、
7、!(x<=10)←→x<0
8、
9、x<102.逻辑运算符优先顺序“&&”和“¦¦”为双目运算符,“!”为单目运算符。a&&b若a,b均为真,则a&&b为真,否则为假。a¦¦b若a,b均为真,或之一为真,则a¦¦b为真,否则为假!a若a为真,则!a为假,否则为真。优先顺序:可用()更改优先级(a>b)&&(x>y)a>b&&x>y(a==b)¦¦(x==y)a==b¦¦x==y(!a)¦¦(a>b)!a¦¦a>b(m=a>b)&&(n=c>d)(m=(a>
10、b))&&(n=(c>d))!(非)高算术运算符关系运算符&&和¦¦赋值运算符低若a=5,b=4,c=3f=a>b>c,(f=a)>b>c中,f=?表达式的值呢?2.逻辑表达式逻辑表达式是用逻辑运算符将关系表达式或逻辑量连接起来的式子。逻辑表达式的值是一个逻辑量“真”(1)或“假”(0)。注意:1)C语言中对逻辑量做了扩充:凡是非零值都看做“真”,只有为零时才是“假”。2)两边的类型不一定相同,如:2&&a>b。3.逻辑表达式求解a&&b&&c若a为假,则表达式值为假。a¦¦b¦¦c若a为真,则表达式值为真。5>3&&2¦¦8<4-!0若(5>3&&2)为真,则
11、表达式值为真。&&和¦¦的优先级相同。复习:1.关系表达式关系表达式是用关系运算符(<、<=、>、>=、==、!=)将两个或两个以上算术、关系、逻辑、赋值或字符表达式连接起来的式子。值是一个逻辑值,“真”(1)或“假”(0)。故可将关系表达式看成一种整型表达式。2.逻辑表达式逻辑表达式是用逻辑运算符(&&、
12、
13、和!)将关系表达式或逻辑量连接起来的式子。逻辑表达式的值是一个逻辑量“真”(1)或“假”(0)。!(非)高算术运算符关系运算符&&和¦¦赋值运算符低结合性:从左到右。3、注意问题:简化求值1)有时与数学上表达有所区别。2)日常用语和数学逻辑表达有时是相悖的
14、。如表达:x不等于2或3if(x!=2
15、
16、x!=3)if(x!=2&&x!=3)或if(!(x==2
17、
18、x==3))3)对“P1&&P2&&P3”,若p1为假,则不再计算p2和p3表达式。4)对“P1
19、
20、P2
21、
22、P3”,若p1为真,则不再计算p2和p3表达式。例如:若x=1;y=2;z=3;m=4;n=8;则表达式(k=x>y)&&(n=z>m)的值是什么?n的值呢?注:简化求值的利用:第一个条件能控制第二个条件的执行。即第二个条件只有在第一个条件满足时才有意义。例如,条件:x的值非零;且x能整除y:If((x!=0)&&(y%x==0))4.3if语句1.if
23、语句的一般形式if(表达式P)语句;if(表达式P)语句1;else语句2;其中:“语句”、“语句1”和“语句2”可以是简单语句,也可以是用{}括起来的复合语句,也可以是或形式的if语句。“语句1”后面的“;”是必须的。形式①或②看作一条完整的语句。例4.1输入三个实数,按小到大顺序输出。intmain(){floata,b,c,t;scanf(“%f,%f,%f”,&a,&b,&c);if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}printf(“%5.2f,%5.2f,
24、%5.2f”,a,b,c