C語言關(guān)系運算符實例詳解
在程序中經(jīng)常需要比較兩個數(shù)據(jù)的大小,以決定程序下一步的工作。比如一個程序限制了只能成年人使用,兒童因為年齡不夠,沒有權(quán)限使用。這時候程序就需要獲取用戶輸入的年齡并做出判斷,如果超過18歲就正常運行,否則給出無權(quán)使用的提示。
比較兩個數(shù)據(jù)大小的運算符稱為關(guān)系運算符(Relational Operators)。
在C語言中有以下關(guān)系運算符:
1) <(小于)
2) <=(小于或等于)
3) >(大于)
4) >=(大于或等于)
5) ==(等于)
6) !=(不等于)
關(guān)系運算符都是雙目運算符,其結(jié)合性均為左結(jié)合。關(guān)系運算符的優(yōu)先級低于算術(shù)運算符,高于賦值運算符。在六個關(guān)系運算符中,<、<=、>、>=的優(yōu)先級相同,高于==和!=,==和!=的優(yōu)先級相同。
在C語言中,有的運算符有兩個操作數(shù),例如 10+20,10和20都是操作數(shù),+ 是運算符。我們將這樣的運算符稱為雙目運算符。同理,將有一個操作數(shù)的運算符稱為單目運算符,將有三個操作數(shù)的運算符稱為三目運算符。
常見的雙目運算符有 +、-、*、/ 等,單目運算符有 ++、-- 等,三目運算符只有一個,就是 ? :,我們將在《C語言條件運算符》中詳細介紹。
關(guān)系運算符的兩邊可以是變量、數(shù)據(jù)或表達式,例如:
1) a+b>c-d
2) x>3/2
3) 'a'+1<c
4) -i-5*j==k+1
關(guān)系運算符也可以嵌套使用,例如:
1) a>(b>c)
2) a!=(c==d)
關(guān)系運算符的運算結(jié)果只有 0 或 1。當(dāng)條件成立時結(jié)果為 1,條件不成立結(jié)果為 0。例如:
5>0 成立,其值為 1;
34-12>100 不成立,其值為 0;
(a=3)>(b=5) 由于3>5不成立,故其值為 0。
我們將運算結(jié)果 1 稱為“真”,表示條件成立,將 0 稱為“假”,表示條件不成立。
我們不妨將關(guān)系運算符的結(jié)果輸出看一下:
#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; }
運行結(jié)果:
1, 0
1, 1
0, 0
對于含多個關(guān)系運算符的表達式,如 k==j==i+5,根據(jù)運算符的左結(jié)合性,先計算k==j,該式不成立,其值為0,再計算0==i+5,也不成立,故表達式值為0。
以上就是對關(guān)系運算符的介紹,希望能幫助學(xué)習(xí)C語言的同學(xué)。
相關(guān)文章
C語言之實現(xiàn)棧的基礎(chǔ)創(chuàng)建
這篇文章主要介紹了C語言之實現(xiàn)棧的基礎(chǔ)創(chuàng)建,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下2021-07-07C語言關(guān)鍵字之a(chǎn)uto register詳解
這篇文章主要為大家介紹了C語言關(guān)鍵字之a(chǎn)uto register,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-01-01C++中4種管理數(shù)據(jù)內(nèi)存的方式總結(jié)
根據(jù)用于分配內(nèi)存的方法,C++中有3中管理數(shù)據(jù)內(nèi)存的方式:自動存儲、靜態(tài)存儲和動態(tài)存儲。在存在時間的長短方面,以這三種方式分配的數(shù)據(jù)對象各不相同。下面簡要介紹這三種類型2022-09-09