C語言

當前位置 /首頁/計算機/C語言/列表

C語言關係運算符

if 的判斷條件中使用了<=、>、!=等符號,它們專門用在判斷條件中,讓程式決定下一步的操作,稱為關係運算符。下面是小編分享的C語言關係運算符,歡迎大家參考!

C語言關係運算符

關係運算符在使用時,它的的兩邊都會有一個表示式,比如變數、數值、加減乘除運算等,關係運算符的.作用就是判明這兩個表示式的大小關係。注意,是判明大小關係,不是其他關係。

C語言提供了以下關係運算符:

關係運算符都是雙目運算子,其結合性均為左結合。關係運算符的優先順序低於算術運算子,高於賦值運算子。在六個關係運算符中,<、<=、>、>=的優先順序相同,高於==和!=,==和!=的優先順序相同。

在C語言中,有的運算子有兩個運算元,例如 10+20,10和20都是運算元,+ 是運算子。我們將這樣的運算子稱為雙目運算子。同理,將有一個運算元的運算子稱為單目運算子,將有三個運算元的運算子稱為三目運算子。

常見的雙目運算子有 +、-、*、/ 等,單目運算子有 ++、-- 等,三目運算子只有一個,就是 ? :,我們將在《C語言條件運算子》中詳細介紹。

關係運算符的兩邊可以是變數、資料或表示式,例如:

1) a+b > c-d

2) x > 3/2

3) 'a'+1 < c

4) -i-5*j == k+1

關係運算符也可以巢狀使用,例如:

1) a > (b > c)

2) a != (c == d)

關係運算符的運算結果只有 0 或 1。當條件成立時結果為 1,條件不成立結果為 0。例如:

5>0 成立,其值為 1;

34-12>100 不成立,其值為 0;

(a=3)>(b=5) 由於3>5不成立,故其值為 0。

我們將運算結果 1 稱為“真”,表示條件成立,將 0 稱為“假”,表示條件不成立。

下面的程式碼會將關係運算符的結果輸出:

#includeint main(){ char c='k'; int i=1, j=2, k=3; float x=3e+5, y=0.85; int result_1 = 'a'+5=k+1 ); printf( "%d, %d", 1<j<5, p="" 0;}<="" return="" result_2="" k="=-2*j,">

執行結果:

1, 0

1, 1

0, 0

對於含多個關係運算符的表示式,如 k==j==i+5,根據運算子的左結合性,先計算k==j,該式不成立,其值為0,再計算0==i+5,也不成立,故表示式值為0。

需要提醒的是,==才表示等於,而=表示賦值,大家要注意區分,切勿混淆。

再談 if 語句的判斷條件

if 語句的判斷條件中不是必須要包含關係運算符,它可以是賦值表示式,甚至也可以是一個變數,例如:

//情況①if(b){ //TODO:}//情況②if(b=5){ //情況① //TODO:}

都是允許的。只要整個表示式的值為非0,條件就成立。

上面兩種情況都是根據變數 b 的最終值來判斷的,如果 b 的值為非0,那麼條件成立,否則不成立。

又如,有程式段:

if(a=b) printf("%d",a);else printf("a=0");

意思是,把 b 的值賦予 a,如果為非0則輸出該值,否則輸出“a=0”字串。這種用法在後面的程式中會經常出現。

TAG標籤:運算子 語言 #