之前介紹了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 <stdio.h>
int main(){
char c='k';
int i=1, j=2, k=3;
float x=3e+5, y=0.85;
int result_1 = 'a'+5<c, result_2 = x-5.25<=x+y;
printf( "%d, %d\n", result_1, -i-2*j>=k+1 );
printf( "%d, %d\n", 1<j<5, result_2 );
printf( "%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++學習企鵝圈子】,分享(原始碼、專案實戰視頻、專案筆記,基礎入門教程)
歡迎轉行和學習編程的伙伴,利用更多的資料學習成長比自己琢磨更快哦!
編程學習書籍:

編程學習視頻:

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/245936.html
標籤:C
下一篇:C語言重點難點決議—冒泡法排序
