- 1、本文档共39页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章 选择结构程序设计(续)
关系表达式就是关系运算符加上运算对象,运算对象包括:常量,变量,算术表达式,关系表达式,逻辑表达式。赋值表达式,字符表达式。 能有一确定值的量均能做关系运算对象。 5=2, s5 ,ac,(a=3)5,2+31+2,’d’!=’w’ (a3)!=(cu),(ab)=7,(5||i)= =h * 在C程序的三种结构中,分支选择结构是一重要结构,其中的P为条件 问题:条件如何表达? 一般利用逻辑运算、关系运算来实现 第五章 选择结构程序设计 关系运算符 关系运算?比较运算, 如: a3为一比较运算,当a=5, a3成立。结果称为“ 真”, 否则, 如: a=1,a3不成立,为假。 上述表达式a3称为关系表达式。 关系运算符及其优先次序 1. , =, , =为同一优先级, = =, !=等为同一优先级, 但前者高于后者。 2. 关系运算符优先级低于算术运算符。 C语言提供了六种关系运算符 = = = = != 优先级为: 3. 关系运算符优先级高于赋值运算符。 如下图: 算术运算符 赋值运算符 关系运算符 高 低 举例: ca+b ? c(a+b) ab!=c ? (ab)!=c a= =bc ? a= =(bc) a=bc ? a=(bc) 关系表达式 关系表达式的结果值规定为1或0. 如: ab, a+bb+c, (a=3)(b=5) , a b , (ab)(bc) 完整的定义: 用关系运算符将两个表达式(算术、关系、逻辑、赋值、字符等表达式)连接起来的式子。 1 –– 结果为真 (成立) 0 –– 结果为假 (不成立) 如: 当a=3, b=2, c=1时 (ab)= =c 成立 1 b+ca 不成立 0 d=ab 则ab值为1, 所以d=1. f=abc ab为1, abc为0,所以f=0. x=2,y=3 表达式(z=3-1=x+1=y+2)的值? (a=x=b)在普通数学与c语言的不同含义。 5278在数学中是不允许的,但在语言中是可以出现的。 由于关系表达式的值等于整数1或0,所以又可以将关系表达式作为整形表达式参与其他运算。 i=1,j=7; a=i+(j%4!=0); 则a的值为? 字符数据的比较是按照Ascall码比较。 两实数比较时,由于存储上的误差,会得出错误结果。如:1.0/3.0*3.0= =1.0 由于1.0/3.0等于0.333… 不可能存储无限位,所以再乘上3.0以后并不等1.0所以表达式结果等于0。 如果改为:fabs(1.0/3.0*3.0-1.0)1e-5 为求绝对值函数,只要差小于10-5,就认为 1.0/3.0*3.0 和1.0相等。 要避免对两个实数表达式进行相等或不等的比较。 逻辑运算符和逻辑表达式 用逻辑运算符将关系表达式、逻辑表达式连接起来的式子–––逻辑表达式。 逻辑运算符及优先级 a b !a !b ab a ||b 真 真 假 假 真 真 真 假 假 真 假 真 假 真 真 假 假 真 假 假 真 真 假 假 三种: (与), || (或) ! (非) 其意义见真值表 ab 当a, b均为1时,才为1 a ||b 当a, b中有一个为1时,才为1 !a 当a为1, !a为0,反之为1. 由此看到: ||和为双目运算符, !为单目运算符。 优先级定义: 2. 和||低于关系运算符。!高于算术运算符 1. !(非)优先于(与).优先于|| 即: !?? || 例: !ab ||xy c ?((!a)b) || ((xy)c) 逻辑表达式 1. 逻辑表达式的值与关系表达式值一样,真为1,假为0。 例: ? a=4 则 !a 值为0.此处只要a ? 0,为真.则!a值为0. ? a=4, b=5 ab为1
文档评论(0)