1. 關係運算符和關係表達式
1.1關係運算符
在程序中經常需要比較兩個量的大小關係, 以決定程序下一步的工作。比較兩個量的運算符稱為關係運算符。 在C語言中有以下關係運算符:
< 小於
<= 小於或等於
> 大於
>= 大於或等於
== 等於
!= 不等於
關係運算符都是雙目運算符,其結合性均為左結合。 關係運算符的優先級低於算術運算符,高於賦值運算符。 在六個關係運算符中,,>=的優先級相同,高於==和!=,==和!=的優先級相同。
1.2關係表達式
關係表達式的一般形式為: 表達式 關係運算符 表達式
例如:a+b>c-d,x>3/2,
'a'+1 -i-5*j==k+1; 都是合法的關係表達式。由於表達式也可以又是關係表達式。 因此也允許出現嵌套的情況,例如:a>(b>c),a!=(c==d)等。關係表達式的值是“真”和“假”,用“1”和“0”表示。 如: 5>0的值為“真”,即為1。(a=3)>(b=5)由於3>5不成立,故其值為假,即為0。 void main { char c='k'; int i=1,j=2,k=3; float x=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); } 在本例中求出了各種關係運算符的值。 字符變量是以它對應的ASCII碼參與運算的。對於含多個關係運算符的表達式,如k==j==i+5,根據運算符的左結合性,先計算k==j,該式不成立,其值為0,再計算0==i+5,也不成立,故表達式值為0。 2.邏輯運算符和表達式 2.1邏輯運算符 C語言中提供了三種邏輯運算符 && 與運算 || 或運算 ! 非運算 與運算符&&和或運算符||均為雙目運算符。具有左結合性。 非運算符!為單目運算符,具有右結合性。邏輯運算符和其它運算符優先級的關係可表示如下: 按照運算符的優先順序可以得出: a>b && c>d等價於(a>b) && (c>d) !b==c||d
閱讀更多 老猿科普 的文章