在程序中經常需要比較兩個量的大小關系,以決定程序下一步的工作。比較兩個量的運算符稱為關系運算符。
關系運算符及其優先次序
在C語言中有以下關系運算符:
<(小於)
<=(小於或等於)
>(大於)
>=(大於或等於)
==(等於)
!=(不等於)
關系運算符都是雙目運算符,其結合性均為左結合。關系運算符的優先級低於算術運算符,高於賦值運算符。在六個關系運算符中,<、<=、>、>=的優先級相同,高於==和!=,==和!=的優先級相同。
關系表達式
關系表達式的一般形式為:
表達式 關系運算符 表達式
例如:
a+b>c-d
x>3/2
‘a’+1<c
-i-5*j==k+1
都是合法的關系表達式。由於表達式也可以又是關系表達式。 因此也允許出現嵌套的情況。例如:
a>(b>c)
a!=(c==d)
等。
關系表達式的值是真”和“假”,用“1”和“0”表示。如:
5>0的值為“真”,即為1;
(a=3)>(b=5)由於3>5不成立,故其值為假,即為0。
【例5-1】
在本例中求出了各種關系運算符的值。字符變量是以它對應的ASCII碼參與運算的。對於含多個關系運算符的表達式,如k==j==i+5,根據運算符的左結合性,先計算k==j,該式不成立,其值為0,再計算0==i+5,也不成立,故表達式值為0。