c语言程序设计程序控制流程――选择结构.doc

c语言程序设计程序控制流程――选择结构.doc

ID:56277844

大小:81.00 KB

页数:18页

时间:2020-06-05

c语言程序设计程序控制流程――选择结构.doc_第1页
c语言程序设计程序控制流程――选择结构.doc_第2页
c语言程序设计程序控制流程――选择结构.doc_第3页
c语言程序设计程序控制流程――选择结构.doc_第4页
c语言程序设计程序控制流程――选择结构.doc_第5页
资源描述:

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

1、第五章程序控制流程——选择结构5.1关系运算符和逻辑运算符一、关系运算符和关系表达式1.关系运算符(1)关系运算符的分类C语言为用户提供了6个关系运算符:<(小于)、<=(小于等于)、>(大于)、>=(大于等于)、==(关系相等)和!=(关系不等).(2)关系运算符的优先级关系运算符内部优先级是<、<=、>、>=的优先级相等,且优先级高于==和!=.在C语言所有运算符中,关系运算符的优先级要低于算术运算符和位移运算符.(3)关系运算符的结合性所有的关系运算符的结合性都是从左至右.2.关系表达式的基本形式有值表达式1op有值表达式2,其中op代表6个

2、关系运算符.关系表达式的结果要么为0(操作数不满足关系运算),要么为1(操作数满足关系运算).假设有以下变量定义:inta=1,b=-3,c=2,i=13;以下都是合法的关系表达式:a>b、i<=10、a+b(b=5)、a==5、a+b==2009、a!=b+2、b*b>=4*a*c等.3.关系运算符的使用(1)带有关系运算符的复杂表达式计算【例5.1】当a=3,b=2,c=1时,表达式f=a>b>c的值是.【例5.2】下面关系表达式中结果为假的是.A)0!=1B)2<=8C)(a=2*2)==2D)y=(2+2)==4说明:

3、在C语言中用一切非0数(往往是1)表示逻辑真,0表示逻辑假.【课内思考题5.1】当a=5,b=4,c=2时,表达式a>b!=c的值是.(2)关系运算中的隐式类型转换【例5.3】分析下面程序的输出结果,并说明原因.#includemain(){inti=-10;unsignedintj=1;printf("imain(){doublea=.9

4、*9,b=.1;doublec=0.1+0.2;printf("c==0.3%d",c==0.3);printf("a==b%d",a==b);}【例5.4】比较两个浮点数是否相等的正确方法#include#include#defineYUZHI1e-6main(){doublea=.9*9,b=.1;doublec=0.1+0.2;printf("a=%.9f,b=%.9f",a,b);printf("a==b%d",a==b);printf("a==b%d",fabs(a-b)<=YUZHI

5、);printf("c==0.3%d",c==0.3);printf("c==0.3%d",fabs(c-0.3)<=YUZHI);}说明:应该避免直接比较两个浮点数是否相等,而是通过看两个浮点数差的绝对值是否小于某个很小的数来达到判断两个浮点数是否相等.二、逻辑运算符和逻辑表达式1.逻辑运算符(1)逻辑运算符的分类C语言为用户提供了3个逻辑运算符:!(逻辑非)、&&(逻辑与)和

6、

7、(逻辑或).(2)逻辑运算符的优先级其中!(逻辑非)是单目运算符,在C语言所有运算符中优先级排第二(所有的单目运算符优先级都是第二).&&(逻辑与)的优先级高于

8、

9、

10、(逻辑或),

11、

12、的优先级高于?:(条件运算符).(3)逻辑运算符的结合性其中!(逻辑非)的结合性是从右至左(所有的单目运算符的结合性都是从右至左),&&和

13、

14、的结合性是从左至右.2.逻辑表达式的基本形式!有值表达式1,有值表达式1&&有值表达式2,有值表达式1

15、

16、有值表达式2.逻辑表达式的结果见下表:有值表达式1有值表达式2!有值表达式1有值表达式1&&有值表达式2有值表达式1

17、

18、有值表达式2非0非0011非000010非010100100说明:实际编程时,总是用逻辑运算符去连接关系表达式.3.逻辑运算符的使用(1)带有逻辑运算符的复杂表达式计

19、算【例5.5】以下程序的运行结果是.#includemain(){inta,b,d=241;a=d/100%9;b=(-1)&&(-1);printf("%d,%d",a,b);}A)6,1B)2,1C)6,0D)2,0【课内思考题5.2】若a=2,b=4,则表达式!(x=a)

20、

21、(y=b)&&0的值是.【课内思考题5.3】inta=3,b=4,c=5;,则以下表达式!(a+b)+c-1&&b+c/2的值为.(2)短路计算对于逻辑表达式“表达式1&&表达式2&&…&&表达式n”而言,若在计算过程中发现表达式m的值为0,根据&&的特

22、点,整个逻辑表达式的结果肯定为0,为提高计算效率,编译器不会计算从表达式m+1开始的后序表达式了,称为短路计算.同样对于“

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

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

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