有些运算
1. 逻辑运算
逻辑运算是对逻辑量进⾏的运算,结果只 有0或1
逻辑量是关系运算或逻辑运算的结果
2.TRY
如果要表达数学中的区间,如:x ∈(4,6)或 x ∈[4,6],应该如何写C的表达式?
像 4 < x < 6这样的式⼦,不是C 能正确计算的式⼦,因为4 < x的 结果是⼀个逻辑值(0或1)
• 如何判断⼀个字符c是否是⼤写字⺟?
c >= ‘A’ && c<= ‘Z’
3. 理解⼀下
age > 20 && age < 30
index <0 || index > 99
! age<20
4.优先级
! > && > ||
!done && (count > MAX)
5.短路
- 逻辑运算是⾃左向右进⾏的,如果左边的结果已经能 够决定结果了,就不会做右边的计算
- a==6 && b==1
- a==6 && b+=1
- 对于&&,左边是false时就不做右边了
- 对于||,左边是true时就不做右边了
不要把赋值,包括复合赋值组合进表达式
6.条件运算
count = (count > 20) ? count -10 : count +10;
条件、条件满⾜时的值和条件不满⾜时的 值
优先级
条件运算符的优先级⾼于赋值运算符,但 是低于其他运算符
m<n ? x : a+5
a++ >= 1 && b-- > 2 ? a : b
x=3 * a > 5 ? 5 : 20
7. 嵌套条件表达式
- count = (count > 20) ? (cout < 50) ? count - 10 : count - 5 : (count < 10 ) ? count + 10 : count + 5;
- 条件运算符是⾃右向左结合的
- w < x ? x + w : x < y ? x : y
8. 逗号运算
逗号⽤来连接两个表达式,并以其右边的 表达式的值作为它的结果。逗号的优先级 是所有的运算符中最低的,所以它两边的 表达式会先计算;逗号的组合关系是⾃左 向右,所以左边的表达式会先计算,⽽右 边的表达式的值就留下来作为逗号运算的 结果。
9. 在for中使⽤,
for ( i=0, j=10; i<j; i++, j- - ) …