关系与逻辑运算符
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2018/10/23
2018/10/23
关系与逻辑运算符的应用
6
表示数学公式a>b>c a>b && b>c
判断a, b, c三条线段能否组成一个三角形 a+b>c && a+c>b && b+c>a a, b不同时为负
a>0 || b>0 !(a<0 && b<0)
(a<0&&b>=0)||(a>=0&&b<0)||(a>=0&&b>=0)
2018/10/23
精品课件!
精品课件!
条件运算符的结合性
11
条件运算符具有右结合性
例如:w<x ? x+w : x<y ? x : y 与 w<x ? x+w : ( x<y ? x : y) 等价 与 (w<x ? x+w : x<y) ? x : y 不等价
条件表达式中各表达式类型可以不一致。 当表达式2和表达式3类型不同时,条件表达 式值的类型取两者中精度较高的类型。
2018/10/23
条件表达式运算
条件运算符:? : 条件表达式的一般形式 表达式1 ? 表达式2 : 表达式3
7
功能:计算表达式1,如果非0,则计算表 达式2,并将其作为整个条件表达式的值; 否则计算表达式3,并将其作为整个条件 表达式的值。 例如:m<n ? x : a+3
2018/10/23
逻辑运算符
逻辑运算符 && || ! 逻辑运算符的运算规则
2
运算对象 a 非0 b 非0 1
逻辑运算结果 a&&b a || b 1 !a 0
非0
0
0
非0
0
0
1
1
0
1
0
0
0
0
1
2018/10/23
逻辑表达式
3
逻辑表达式 用逻辑运算符将运算对象连接成的式子 例如:0&&'b' a &&b || c&&Байду номын сангаас a || b-5 || c/4 !x+y >= z 逻辑运算符的优先级 和结合性: !是单目运算符,右结合,高于算术运算符 && 和 || 是双目运算符,左结合,高于赋值运 算符,低于关系运算符
2018/10/23
逻辑运算规则
从左到右依次进行逻辑计算 运算对象为非0表示逻辑真 运算对象为 0 表示逻辑假 逻辑运算的结果为 0 或 1 例如设:a=15,b=0,c=-2 结果为0 a && b && c
4
a || b || c 结果为1 (a+c) || b && c 结果为1
2018/10/23
说明:
1
关系运算的结果应该是逻辑值。C语言用 数值 1 表示逻辑真, 0 表示逻辑假 例如: 7>5 的值是 1,5>7 可以吗? 'a'>'b'的值是 0, 'a'<'b' 的值是1 即关系表达式的值:0 或1
实型数可进行大于或小于比较,但通常不 进行 == 或 != 的关系运算
2018/10/23
逻辑运算规则(续)
逻辑运算的短路性质:
5
运算按照从左至右的顺序进行,一旦能够确定逻 辑表达式的值,就立即结束运算 例如设:a=1,b=0,c=-2 a && b && c 为 0,运算终止,表达式值为 0 (a++) || ++ b&& --c 等价于(a++) ||(++b&&--c) 为非0,运算终止,表达式值为 1 且a为2,b为0,c为-2 (b,c保持原值)
条件运算符优先级
8
条件运算符优先级高于赋值、逗号运算符, 低于其他运算符 例如: ⑴ m<n ? x : a+3 等价于:(m<n) ?(x) :(a+3) ⑵ a++>=10 && b-->20 ? a : b 等价于:(a++>=10 && b-->20) ? a : b ⑶ x=3+a>5 ? 100 : 200 等价于:x= (( 3+a>5 ) ? 100 : 200 )