在程式中經常需要比較兩個量的大小關係,以決定程式下一步的工作。比較兩個量的運算子稱為關係運算符。
關係運算符及其優先次序
在C語言中有以下關係運算符:
<(小於)
<=(小於或等於)
>(大於)
>=(大於或等於)
==(等於)
!=(不等於)
關係運算符都是雙目運算子,其結合性均為左結合。關係運算符的優先順序低於算術運算子,高於賦值運算子。在六個關係運算符中,<、<=、>、>=的優先順序相同,高於==和!=,==和!=的優先順序相同。
關係表示式
關係表示式的一般形式為: 表示式 關係運算符 表示式例如: a+b>c-d x>3/2 ‘a’+1
5>0的值為“真”,即為1;
(a=3)>(b=5)由於3>5不成立,故其值為假,即為0。
【例5-1】
#include
intmain(void){
charc='k';
inti=1,j=2,k=3;
floatx=3e+5,y=0.85;
printf("%d,%d\n",'a'+5
printf("%d,%d\n",1
printf("%d,%d\n",i+j+k==-2*j,k==j==i+5);
return0;
}
在本例中求出了各種關係運算符的值。字元變數是以它對應的ASCII碼參與運算的。對於含多個關係運算符的表示式,如k==j==i+5,根據運算子的左結合性,先計算k==j,該式不成立,其值為0,再計算0==i+5,也不成立,故表示式值為0。