1.12 关系运算符和表达式
1、关系运算符:
(1)优先级为6:<,<=,>,>=
(2)优先级为7:==(等于号,注意和赋值的=相区分),!=(不等于)
2、结合方向:自左向右
3、举例:
c > a + b,‘+’为第4优先级,先加后判断是否大于
c > b != c,‘>’为第6优先级,‘!=’为第7优先级,因此先(c > b)再判断是否满足‘!= c’
a == b < c,‘==’为第7优先级,‘<’为第6优先级,因此先( b < c)再判断是否满足‘a ==’
a = b > c,‘=’为第14优先级,‘>’为第6优先级,因此先( b > c)再进行赋值操作‘a =’
4、关系表达式的值:是逻辑值“真”或“假”,用1和0表示,1表示真,0表示假
5、举例:
(1)int a = 3,b = 2, c = 1,d,f;
a > b: 3 > 2,为真,值为1
(a > b) == c:(a > b),为真,值为1;1 == c,为真,值为1
b + c < a:b + c = 3,3 < 3 为假,值为0
d = a > b:先进行a > b即3 > 2,为真,值为1;接下来在给d赋值
d = a > b > c:先进行a > b即3 > 2,为真,值为1;再进行b > c即1 > 1,为假,值为0;接下来在给d赋值
(2)若a = 0;b = 0.5;x = 0.3;求a <= x <= b的值
0 <= 0.3,为真,值为1;1 <= 0.5,为假,值为0
(3)int i = 1, j = 7, a; a = i + (j % 4 != 0);求a的值
()的优先级高,因此先计算j % 4 != 0,因为%的优先级高于!=,因此先计算7 % 4 = 3,又因为3 != 0成立,所以j % 4 != 0为真,值为1;a = i + 1 = 1 + 1 =2
(4)‘a’ > 0
‘a’ 的 ASCII码值为97,97 > 0为真,所以值为1
(5)‘A’ > 100
‘A’ 的 ASCII码值为65,65 > 100为假,所以值为0