有些运算


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.短路

  • 逻辑运算是?左向右进?的,如果左边的结果已经能 够决定结果了,就不会做右边的计算
  1. a==6 && b==1
  2. a==6 && b+=1
  • 对于&&,左边是false时就不做右边了
  • 对于||,左边是true时就不做右边了

不要把赋值,包括复合赋值组合进表达式

6.条件运算

count = (count > 20) ? count -10 : count +10;

条件、条件满?时的值和条件不满?时的 值

优先级

条件运算符的优先级?于赋值运算符,但 是低于其他运算符

m

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;
  •  条件运算符是?右向左结合的
  1. w < x ? x + w : x < y ? x : y

8. 逗号运算

逗号?来连接两个表达式,并以其右边的 表达式的值作为它的结果。逗号的优先级 是所有的运算符中最低的,所以它两边的 表达式会先计算;逗号的组合关系是?左 向右,所以左边的表达式会先计算,?右 边的表达式的值就留下来作为逗号运算的 结果。

9. 在for中使?,

for ( i=0, j=10; i