C语言程序设计05章选择结构程序设计.ppt

C语言程序设计05章选择结构程序设计.ppt

ID:52266768

大小:373.00 KB

页数:41页

时间:2020-04-03

C语言程序设计05章选择结构程序设计.ppt_第1页
C语言程序设计05章选择结构程序设计.ppt_第2页
C语言程序设计05章选择结构程序设计.ppt_第3页
C语言程序设计05章选择结构程序设计.ppt_第4页
C语言程序设计05章选择结构程序设计.ppt_第5页
资源描述:

《C语言程序设计05章选择结构程序设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第五章选择结构程序设计5.1关系运算符和关系表达式关系运算实质是一种比较简单的比较运算。它将两个值进行比较,判断其比较的结果是否符合给定的条件,其结果为真(1)或者为假(0)。5.1.1关系运算符及其优先次序C语言提供了6种关系运算符:<小于<=小于或等于>大于>=大于或等于==等于!=不等于优先级相同(第6级)优先级相同(第7级)5.1.2关系表达式用关系运算符将两个表达式(可以是算术表达式、逻辑表达式、赋值表达式、字符表达式或内嵌的关系表达式)连接起来的式子,称为关系表达式。下面为一些合法的关系

2、表达式:a+b>b+c(a=3)>(b=5)‘a’>‘b’关系表达式的结果只有两种:真或假;在C语言中,以1代表“真”,0代表“假”。例:假设a=3,b=2,c=1,则:(a>b)==c结果为:表达式的值为真;d=a>b结果为:d的值为1;f=a>b>c结果为:f的值为0;5.2逻辑运算符和逻辑表达式5.2.1逻辑运算符及其优先次序C语言提供三种逻辑运算符:(1)&&逻辑与(与运算符),第11级(2)

3、

4、逻辑或(或运算符),第12级(3)!逻辑非(非运算符),第2级说明:1)“&&”和“

5、

6、”为双目

7、运算符,“!”为单目运算符;2)逻辑运算的结果只有两种:真或假。逻辑运算的真值表详细情况见书P89表5.1。几种已学运算符的优先次序为:!(高)算术运算符关系运算符<,<=,>,>===,!=逻辑运算符&&,

8、

9、赋值运算符逗号运算符(低)5.2.2逻辑表达式C语言编译系统在给出逻辑运算结果时,以数值1代表“真”,以数值0代表“假”。但是在判断一个量是否为“真”时,以0代表“假”,以非0代表“真”。例:1)若a=4,则!a为0;2)5>3&&2

10、

11、8<4-!0表达式的值为1;例:已知a=3,b=4,c

12、=5,x=6,y=7,求表达式!a&&b

13、

14、x>y&&c的值。运算顺序:1)0&&b

15、

16、x>y&&c2)0&&b

17、

18、0&&c3)0

19、

20、0&&c4)0

21、

22、05)0说明:对于“&&”和“

23、

24、”逻辑运算符,在逻辑表达式求解过程中,有时并不需要执行所有的逻辑运算步骤。例如:a&&b&&c,如果a为假,则不再判别b和c的值;a

25、

26、b

27、

28、c,如果a为真,也不再判别b和c的值。例如:inta=3,b=4,c=5,d=6,m=7,n=8,x;x=(m=a>b)&&(n=c>d);请问:程序运行后,m,n,x的值分别

29、为多少?例:判断某一年是否闰年。闰年的条件是符合下面两者之一:(1)能被4整除,但不能被100整除;(2)能被100整除,又能被400整除;请写出逻辑表达式。首先分析逻辑结构:1、条件(1)和条件(2)的关系应该是“或”;2、而每个条件内部应该为“与”关系;3、条件(2)内,满足被400整除的一定满足被100整除,因此只需一个逻辑表达式即可。所以最后的逻辑表达式为:((year%4==0)&&(year%100!=0))

30、

31、(year%400==0)根据运算符的优先级关系,上式可简化为:year%4

32、==0&&year%100!=0

33、

34、year%400==0也可加一个!来判断是否为非闰年,即:!(year%4==0&&year%100!=0

35、

36、year%400==0)由布尔代数可简化为:year%4!=0

37、

38、year%100==0&&year%400!=05.3if语句5.3.1if语句的三种形式:1.if(表达式)语句执行过程,如下图:表达式语句假(0)真(非0)x>yprintf(“%d”,x)假(0)真(1)例如:if(x>y)printf(“%d”,x);2.if(表达式)语句1else

39、语句2执行过程,如右图:例如:if(x>y)printf(“%d”,x);elseprintf(“%d”,y);表达式语句1假(0)真(非0)语句2假(0)x>yprintf(“%d”,x)真(1)printf(“%d”,y)3.if(表达式1)语句1elseif(表达式2)语句2elseif(表达式3)语句3…elseif(表达式m)语句melse语句n表达式1语句1假真表达式2语句2真假表达式3语句3语句4真假表达式4语句5假真elseif的后面可以没有else语句可理解为多个else条件的嵌套

40、。如下图:例:if(number>500)cost=0.15;elseif(number>300)cost=0.10;elseif(number>100)cost=0.075;elseif(number>50)cost=0.05;elsecost=0;number>500cost=0.15假真cost=0.10真假cost=0.075cost=0.05真假cost=0假真number>300number>100number>50说明:1)在if后面都跟有表达式,该表达

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。