第4章选择结构程序设计

第4章选择结构程序设计

ID:5659820

大小:299.00 KB

页数:50页

时间:2017-11-13

第4章选择结构程序设计_第1页
第4章选择结构程序设计_第2页
第4章选择结构程序设计_第3页
第4章选择结构程序设计_第4页
第4章选择结构程序设计_第5页
资源描述:

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

1、第四章选择(分支)结构程序设计一、关系运算符与关系表达式二、逻辑运算符与逻辑表达式三、条件运算符和条件表达式四、if语句五、if语句的嵌套六、多分支结构switch语句综合实例引例ch4_001:输入两个数,计算它们的商并输出.#includevoidmain(){floata,b,div;scanf("%f%f",&a,&b);div=a/b;printf("%f",div);}当输入0到变量b中时,会导致除数为0!可见,程序中需要对变量b的值进行判断,如果为0,给出错误提示。修改程序如下:#includevoidmain(){f

2、loata,b,div;scanf("%f%f",&a,&b);if(b!=0)//如果b的值不等于0,进行除法运算{div=a/b;printf("%f",div);}else//如果b的值等于0,输出错误提示printf("除数为0,数据输入错误!");}C语言中一般采用关系表达式和逻辑表达式来描述判断条件程序中的运算运算符与表达式1.算术运算符2.赋值运算符3.关系运算符4.逻辑运算符5.条件运算符6.逗号运算符关系运算符关系运算符>,<,>=,<=,==,!=优先级:右图所示结合方向:从左到右运算结果:逻辑值“真”或“假”C语言中用1代表真,0代表假例inta

3、=3,b=2,c=1,d,f;a>b(a>b)==cb+cbf=a>b>c//1//1//0//d=1//f=0关系运算符例若a=-5;b=0;x=-3;则a<=x<=b的值为0例5>2>7>8值为0例inti=1,j=7,a;a=i+(j%4!=0);则a=2例‘a’>0结果为‘A’>100结果为10例若x=3,则0<=x<=2的值为多少?1多种运算符的混合计算inta=3,b=2,c=1,d;如何求表达式d=a-1>b>c的值?该表达式包括赋值、关系、算术三种运算符,其中,算术运算的优先级最高,其次为关系运算符,最后是赋值运算符,因此,计算过程如下:(

4、1)进行算术运算,得到d=2>b>c。(2)进行关系运算,求2>b>c。根据结合方向按左到右的顺序进行计算,即先计算2>b,其值为0,再计算0>c,其值为0。关系运算结束后,得到d=0。(3)进行赋值运算,将0赋给d。运算符与表达式运算符与表达式1.算术运算符2.赋值运算符3.关系运算符4.逻辑运算符5.条件运算符6.逗号运算符有些情况下,只用关系表达式并不能完整地描述一个判断条件。例ch4_002,要判断变量choice的值是否在区间[1,12]内,能否直接写成if(1<=choice<=12)?可用以下程序加以验证:#includevoidmai

5、n(){intchoice=20;if(1<=choice<=12)printf("choice落在区间[1,12]内");elseprintf("choice没落在区间[1,12]内");}程序运行结果如下:choice落在区间[1,12]内运行结果错误!如何正确表示变量choice的值是在区间[1,12]内?正确的表示方法如下:choice>=1&&choice<=12逻辑运算符!(单目运算符)&&

6、

7、(双目运算符)优先级:右图所示结合方向:右图所示!从右向左关系运算符&&从左向右

8、

9、从左向右高低例10>8&&4<12结果为真,值为110>8

10、

11、4>12结

12、果为真,值为1!(4<12)结果为假,值为0ab!a!ba&&ba

13、

14、b真假真假假假真真真假假假假假真真假假真真真假真真运算结果:真或假,值为1或0C语言中用1表示“真”,用0表示“假”逻辑运算符练习:a=4;b=5;!aa&&ba

15、

16、b!a

17、

18、b4&&0

19、

20、25>3&&2

21、

22、8<4-!0‘c’&&‘d’结果为真,值为1结果为假,值为0结果为真,值为1结果为真,值为1结果为真,值为1结果为真,值为1结果为真,值为1操作数:0表示“假”,非0表示“真”逻辑表达式中,操作数不是逻辑量(即“真”或“假”),如何处理呢?在一个“&&”表达式中,若“&&”的左端为0,则不必计算

23、右端,该表达式的值肯定为0.在一个“

24、

25、”表达式中,若“

26、

27、”的左端为1,则不必计算右端,该表达式的值肯定为1.短路特性:逻辑表达式求解时,并非所有的逻辑运算符都被执行,只是在必须执行下一个逻辑运算符才能求出表达式的解时,才执行该运算符.//结果为0,b的值仍然为10例(ch4_003)a=0;b=10; a&&(b=100)逻辑运算符1.逻辑运算符两侧运算对象的数据类型()A)只能是0或1B)只能是0或非0正数C)只能是整型或字符型数据D)可以是任何类型的数据2.下列运算符优先级关系正确的是()A)“!”>“&&”>“/”>“>=”B)“!”>“/

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

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

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