C語言丨搞定關係運算子,只需一分鐘!

2022-06-05 18:15:06 字數 2471 閱讀 5131

之前介紹了c語言中的邏輯運算子,今天就分享一下關係運算子吧,希望對大家有所幫助。

關係運算子

在判斷條件中,讓程式決定下一步的操作,稱為關係運算子(relational operators)。

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

關係運算實際上類似於數學當中比較數字大小的運算。c語言提供了 6 種關係運算子:

關係運算子的左右兩邊可以是變數、數值或算術表示式,用關係運算子連線而成的表示式稱為關係表示式。在含有算術運算子的關係表示式中,算術運算子的優先順序高於關係運算子。

關係表示式的運算結果是乙個邏輯值:「真」或「假」,在 c語言中用數值 1 表示「真」,用數值 0 表示「假」。因而,每當 c語言對關係表示式進行運算時,總是產生結果數值 1 或 0。下面的語句把 1 賦值給變數 a,把 0 賦值給變數 b:

a = (8<10);        //(8<10)為「真」,其結果值為 1,因而變數 a 被賦值 1

b = (3==4);        //(3==4)為「假」,其結果值為 0,因而變數 b 被賦值 0

關係運算子的兩邊可以是變數、資料或表示式,例如:
a+b > c-d

x > 3/2

'a'+1 < c

-i-5*j == k+1

關係運算子也可以巢狀使用,例如:
a > (b > c)

a != (c == d)

關係運算子的運算結果只有 0 或 1。當條件成立時結果為 1,條件不成立結果為 0。例如:
5>0 成立,其值為 1;

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

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

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

下面的**會將關係運算子的結果輸出:

#include

int main(){

char c='k';

int i=1, j=2, k=3;

float x=3e+5, y=0.85;

int result_1 = 'a'+5printf( "%d, %d\n", result_1, -i-2*j>=k+1 );

printf( "%d, %d\n", 1printf( "%d, %d\n", i+j+k==-2*j, k==j==i+5 );

return 0;

執行結果:

1, 0

1, 1

0, 0

對於含多個關係運算子的表示式,如 kji+5,根據運算子的左結合性,先計算kj,該式不成立,其值為0,再計算0i+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」字串。

總結1、=表示賦值,把其右邊的值儲存在左邊的變數中。

2、==是關係運算子,判斷其左右兩邊的值是否相等。

如果你想更好的提公升你的程式設計能力,學好c語言c++程式設計!彎道超車,快人一步!

【c語言c++學習企鵝圈子

程式設計學習書籍:

C語言基礎丨運算子之關係運算子(三)

c語言提供了以下關係運算子 關係運算子都是雙目運算子,其結合性均為左結合。關係運算子的優先順序低於算術運算子,高於賦值運算子。在六個關係運算子中,的優先順序相同,高於 和 和 的優先順序相同。在c語言中,有的運算子有兩個運算元,例如 10 20,10和20都是運算元,是運算子。我們將這樣的運算子稱為...

C語言基礎學習運算子 關係運算子

比較大小 首先,我們得先了解一下布林型別。c語言的c99標準支援布林型別,關鍵字為 bool,用於表示邏輯值true與false。c語言用值1表示true,用值0表示false。因此布林型別實際上是一種整數型別。程式常常使用含有關係運算子的表示式進行分支和迴圈操作。我們將在分支和迴圈的章節中具體學習...

C語言基礎丨運算子之位運算子(六)

對於更多緊湊的資料,c 程式可以用獨立的位或多個組合在一起的位來儲存資訊。檔案訪問許可就是乙個常見的應用案例。位運算子允許對乙個位元組或更大的資料單位中獨立的位做處理 可以清除 設定,或者倒置任何位或多個位。也可以將乙個整數的位模式 bit pattern 向右或向左移動。按位與 按位或 按位異或 ...