欢迎来到天天文库
浏览记录
ID:56527451
大小:221.50 KB
页数:39页
时间:2020-06-27
《c语言程序设计第5章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第五章选择结构程序设计概述:(1)顺序结构语句1语句2条件语句1语句2YN(2)选择结构上一章,学习了顺序结构程序设计,即顺序地执行程序中的每条语句。程序设计的另外一种结构——选择结构,它根据某些条件决定执行或不执行某条语句,执行不同语句。1本章内容:1.关系运算符和关系表达式2.逻辑运算符和逻辑表达式3.IF语句的使用,包括IF语句的三种基本形式,IF语句的嵌套4.条件运算符和条件表达式5.Switch语句的使用6.程序举例25.1关系运算符和表达式一、关系运算符及优先级别比较两个量的运算符称为关系运
2、算符。在C语言中有以下关系运算符:<小于,<=小于或等于>大于>=大于或等于==等于/恒等!=不等于关系运算符的优先级:(1)>、>=、<、<=优先级相等,==、!=优先级相等,前者高于后者。(2)关系运算符的优先级低于算术运算符。(3)关系运算符的优先级高于赋值运算符。3二、关系表达式P92关系表达式的一般形式为:表达式关系运算符表达式关系表达式的值是:关系成立为“真”,不成立则为“假”,C语言中用“1”表示“真”、“0”分别表示“假”。例如:a+b>c-dx>3/2'a'+13、1都是合法的关系表达式。由于表达式也可以又是关系表达式。因此也允许出现嵌套的情况,例如:a>b>c关系运算符结合方向从左到右45.2逻辑运算符和表达式一、逻辑运算符C语言中提供了三种逻辑运算符!非运算&&与运算4、5、或运算运算符&&和或运算符6、7、均为双目运算符。具有左结合性。非运算符!为单目运算符,具有右结合性。a&&ba8、9、b!a1、逻辑运算符优先级表示如下:(1)!高于&&高于10、11、(2)&&,12、13、低于关系运算符,!高于算术运算符(*,/)。5按照运算符的优先顺序可以得出:P93a>b&&c>d等价于(14、a>b)&&(c>d)!b==c15、16、d17、18、(dc&&x+yc)&&((x+y)0&&4>2,由于5>0为真,4>2也为真,其结果也为“真”,表达式的值为1。6aba&&ba19、20、b!a!b真(1)真(1)真(1)真(1)假(0)假(0)真21、(1)假(0)假(0)真(1)假(0)真(1)假(0)真(1)假(0)真(1)真(1)假(0)假(0)假(0)假(0)假(0)真(1)真(1)7(2)或运算22、23、参与运算的两个量只要有一个为真(非0),结果就为真(值为1)。两个量都为假(值为0)时,结果为假(值为0)。例如:5>024、25、5>8,结果也就为真(值为1)。(3)非运算!参与运算量为真(非0)时,结果为假(值为0);参与运算量为假(值为0)时,结果为真(值为1)。例如:!(5>0)的结果为假(值为0)。注意:虽然C编译在给出逻辑运算值时,以“1”26、代表“真”,“0”代表“假”。但反过来在判断一个量是为“真”还是为“假”时,以“0”代表“假”,以非“0”的数值作为“真”。P93例如:5&&-3的值为“真”,即为1。又如:527、28、0的值为“真”,即为1。8二、逻辑表达式逻辑表达式的一般形式为:表达式&&或29、30、表达式!表达式逻辑表达式的值:各种逻辑运算的最后值,以“1”和“0”分别代表“真”和“假”。9在逻辑表达式的求解中,并不是所有的逻辑运算符都执行,只有在必须执行下一个逻辑运算符才能求出表达式的值时,才执行下一个运算符。P94(1)表达式1&&表达式31、2如a=1,b=2a+b<0&&b++如果:表达式1的值是0,无论表达式2的值是什么,整个表达式的值都为0,因此表达式2就不计算了。(2)表达式132、33、表达式2a+b>034、35、b++如果:表达式1的值是1,无论表达式2的值是什么,整个表达式的值都为1,因此表达式2就不计算了。10main(){inta=-1,b=4,k;k=!((++a<0)&&!(b--<=0));printf("%d%d%d\n",k,a,b);}A)104B)103C)013D)004A11逻辑表达式的应用p95判断某一年是否是闰年.36、变量year表示年能被4整除,但不能被100整除能被4整除,又能被400整除125.3if语句一、if语句有三种基本形式。1.第一种形式为基本形式:if(表达式)语句;其语义是:如果表达式的值为真,则执行其后的语句,否则不执行该语句。其过程可表示为下图。main(){inta,b;if(a>b)printf(“a=%d”,a);}语句表达式非0013注意:if(表达式){语句1;语句2;。。。。。}if(表达式);×if(x>y){x=1;
3、1都是合法的关系表达式。由于表达式也可以又是关系表达式。因此也允许出现嵌套的情况,例如:a>b>c关系运算符结合方向从左到右45.2逻辑运算符和表达式一、逻辑运算符C语言中提供了三种逻辑运算符!非运算&&与运算
4、
5、或运算运算符&&和或运算符
6、
7、均为双目运算符。具有左结合性。非运算符!为单目运算符,具有右结合性。a&&ba
8、
9、b!a1、逻辑运算符优先级表示如下:(1)!高于&&高于
10、
11、(2)&&,
12、
13、低于关系运算符,!高于算术运算符(*,/)。5按照运算符的优先顺序可以得出:P93a>b&&c>d等价于(
14、a>b)&&(c>d)!b==c
15、
16、d17、18、(dc&&x+yc)&&((x+y)0&&4>2,由于5>0为真,4>2也为真,其结果也为“真”,表达式的值为1。6aba&&ba19、20、b!a!b真(1)真(1)真(1)真(1)假(0)假(0)真21、(1)假(0)假(0)真(1)假(0)真(1)假(0)真(1)假(0)真(1)真(1)假(0)假(0)假(0)假(0)假(0)真(1)真(1)7(2)或运算22、23、参与运算的两个量只要有一个为真(非0),结果就为真(值为1)。两个量都为假(值为0)时,结果为假(值为0)。例如:5>024、25、5>8,结果也就为真(值为1)。(3)非运算!参与运算量为真(非0)时,结果为假(值为0);参与运算量为假(值为0)时,结果为真(值为1)。例如:!(5>0)的结果为假(值为0)。注意:虽然C编译在给出逻辑运算值时,以“1”26、代表“真”,“0”代表“假”。但反过来在判断一个量是为“真”还是为“假”时,以“0”代表“假”,以非“0”的数值作为“真”。P93例如:5&&-3的值为“真”,即为1。又如:527、28、0的值为“真”,即为1。8二、逻辑表达式逻辑表达式的一般形式为:表达式&&或29、30、表达式!表达式逻辑表达式的值:各种逻辑运算的最后值,以“1”和“0”分别代表“真”和“假”。9在逻辑表达式的求解中,并不是所有的逻辑运算符都执行,只有在必须执行下一个逻辑运算符才能求出表达式的值时,才执行下一个运算符。P94(1)表达式1&&表达式31、2如a=1,b=2a+b<0&&b++如果:表达式1的值是0,无论表达式2的值是什么,整个表达式的值都为0,因此表达式2就不计算了。(2)表达式132、33、表达式2a+b>034、35、b++如果:表达式1的值是1,无论表达式2的值是什么,整个表达式的值都为1,因此表达式2就不计算了。10main(){inta=-1,b=4,k;k=!((++a<0)&&!(b--<=0));printf("%d%d%d\n",k,a,b);}A)104B)103C)013D)004A11逻辑表达式的应用p95判断某一年是否是闰年.36、变量year表示年能被4整除,但不能被100整除能被4整除,又能被400整除125.3if语句一、if语句有三种基本形式。1.第一种形式为基本形式:if(表达式)语句;其语义是:如果表达式的值为真,则执行其后的语句,否则不执行该语句。其过程可表示为下图。main(){inta,b;if(a>b)printf(“a=%d”,a);}语句表达式非0013注意:if(表达式){语句1;语句2;。。。。。}if(表达式);×if(x>y){x=1;
17、
18、(dc&&x+yc)&&((x+y)0&&4>2,由于5>0为真,4>2也为真,其结果也为“真”,表达式的值为1。6aba&&ba
19、
20、b!a!b真(1)真(1)真(1)真(1)假(0)假(0)真
21、(1)假(0)假(0)真(1)假(0)真(1)假(0)真(1)假(0)真(1)真(1)假(0)假(0)假(0)假(0)假(0)真(1)真(1)7(2)或运算
22、
23、参与运算的两个量只要有一个为真(非0),结果就为真(值为1)。两个量都为假(值为0)时,结果为假(值为0)。例如:5>0
24、
25、5>8,结果也就为真(值为1)。(3)非运算!参与运算量为真(非0)时,结果为假(值为0);参与运算量为假(值为0)时,结果为真(值为1)。例如:!(5>0)的结果为假(值为0)。注意:虽然C编译在给出逻辑运算值时,以“1”
26、代表“真”,“0”代表“假”。但反过来在判断一个量是为“真”还是为“假”时,以“0”代表“假”,以非“0”的数值作为“真”。P93例如:5&&-3的值为“真”,即为1。又如:5
27、
28、0的值为“真”,即为1。8二、逻辑表达式逻辑表达式的一般形式为:表达式&&或
29、
30、表达式!表达式逻辑表达式的值:各种逻辑运算的最后值,以“1”和“0”分别代表“真”和“假”。9在逻辑表达式的求解中,并不是所有的逻辑运算符都执行,只有在必须执行下一个逻辑运算符才能求出表达式的值时,才执行下一个运算符。P94(1)表达式1&&表达式
31、2如a=1,b=2a+b<0&&b++如果:表达式1的值是0,无论表达式2的值是什么,整个表达式的值都为0,因此表达式2就不计算了。(2)表达式1
32、
33、表达式2a+b>0
34、
35、b++如果:表达式1的值是1,无论表达式2的值是什么,整个表达式的值都为1,因此表达式2就不计算了。10main(){inta=-1,b=4,k;k=!((++a<0)&&!(b--<=0));printf("%d%d%d\n",k,a,b);}A)104B)103C)013D)004A11逻辑表达式的应用p95判断某一年是否是闰年.
36、变量year表示年能被4整除,但不能被100整除能被4整除,又能被400整除125.3if语句一、if语句有三种基本形式。1.第一种形式为基本形式:if(表达式)语句;其语义是:如果表达式的值为真,则执行其后的语句,否则不执行该语句。其过程可表示为下图。main(){inta,b;if(a>b)printf(“a=%d”,a);}语句表达式非0013注意:if(表达式){语句1;语句2;。。。。。}if(表达式);×if(x>y){x=1;
此文档下载收益归作者所有