您好,歡迎進(jìn)入深圳市穎特新科技有限公司官方網(wǎng)站!
在上節(jié)《C語(yǔ)言if else語(yǔ)句》中看到,if 的判斷條件中使用了<=
、>
、!=
等符號(hào),它們專門用在判斷條件中,讓程序決定下一步的操作,稱為關(guān)系運(yùn)算符(Relational Operators)。
關(guān)系運(yùn)算符在使用時(shí),它的的兩邊都會(huì)有一個(gè)表達(dá)式,比如變量、數(shù)值、加減乘除運(yùn)算等,關(guān)系運(yùn)算符的作用就是判明這兩個(gè)表達(dá)式的大小關(guān)系。注意,是判明大小關(guān)系,不是其他關(guān)系。
C語(yǔ)言提供了以下關(guān)系運(yùn)算符:
關(guān)系運(yùn)算符 | 含 義 | 數(shù)學(xué)中的表示 |
---|---|---|
< | 小于 | < |
<= | 小于或等于 | ≤ |
> | 大于 | > |
>= | 大于或等于 | ≥ |
== | 等于 | = |
!= | 不等于 | ≠ |
關(guān)系運(yùn)算符都是雙目運(yùn)算符,其結(jié)合性均為左結(jié)合。關(guān)系運(yùn)算符的優(yōu)先級(jí)低于算術(shù)運(yùn)算符,高于賦值運(yùn)算符。在六個(gè)關(guān)系運(yùn)算符中,<、<=、>、>=的優(yōu)先級(jí)相同,高于==和!=,==和!=的優(yōu)先級(jí)相同。
在C語(yǔ)言中,有的運(yùn)算符有兩個(gè)操作數(shù),例如 10+20,10和20都是操作數(shù),+ 是運(yùn)算符。我們將這樣的運(yùn)算符稱為雙目運(yùn)算符。同理,將有一個(gè)操作數(shù)的運(yùn)算符稱為單目運(yùn)算符,將有三個(gè)操作數(shù)的運(yùn)算符稱為三目運(yùn)算符。
常見的雙目運(yùn)算符有 +、-、*、/ 等,單目運(yùn)算符有 ++、-- 等,三目運(yùn)算符只有一個(gè),就是 ? :,我們將在《C語(yǔ)言條件運(yùn)算符》中詳細(xì)介紹。
關(guān)系運(yùn)算符的兩邊可以是變量、數(shù)據(jù)或表達(dá)式,例如:
1) a+b > c-d
2) x > 3/2
3) 'a'+1 < c
4) -i-5*j == k+1
關(guān)系運(yùn)算符也可以嵌套使用,例如:
1) a > (b > c)
2) a != (c == d)
關(guān)系運(yùn)算符的運(yùn)算結(jié)果只有 0 或 1。當(dāng)條件成立時(shí)結(jié)果為 1,條件不成立結(jié)果為 0。例如:
我們將運(yùn)算結(jié)果 1 稱為“真”,表示條件成立,將 0 稱為“假”,表示條件不成立。
下面的代碼會(huì)將關(guān)系運(yùn)算符的結(jié)果輸出:
運(yùn)行結(jié)果:
1, 0
1, 1
0, 0
對(duì)于含多個(gè)關(guān)系運(yùn)算符的表達(dá)式,如 k==j==i+5,根據(jù)運(yùn)算符的左結(jié)合性,先計(jì)算k==j,該式不成立,其值為0,再計(jì)算0==i+5,也不成立,故表達(dá)式值為0。
需要提醒的是,==
才表示等于,而=
表示賦值,大家要注意區(qū)分,切勿混淆。
if 語(yǔ)句的判斷條件中不是必須要包含關(guān)系運(yùn)算符,它可以是賦值表達(dá)式,甚至也可以是一個(gè)變量,例如:
都是允許的。只要整個(gè)表達(dá)式的值為非0,條件就成立。
上面兩種情況都是根據(jù)變量 b 的最終值來(lái)判斷的,如果 b 的值為非0,那么條件成立,否則不成立。
又如,有程序段:
意思是,把 b 的值賦予 a,如果為非0則輸出該值,否則輸出“a=0”字符串。這種用法在后面的程序中會(huì)經(jīng)常出現(xiàn)。
掃碼關(guān)注我們
傳真:0755-82591176
郵箱:vicky@yingtexin.net
地址:深圳市龍華區(qū)民治街道民治大道973萬(wàn)眾潤(rùn)豐創(chuàng)業(yè)園A棟2樓A08