# 關系運算符
## 為什么要學習關系運算符
- 默認情況下,我們在程序中寫的每一句正確代碼都會被執行。但很多時候,我們想在某個條件成立的情況下才執行某一段代碼
- 這種情況的話可以使用條件語句來完成,但是學習條件語句之前,我們先來看一些更基礎的知識:如何判斷一個條件成不成立。
## C語言中的真假性
- 在C語言中,條件成立稱為“真”,條件不成立稱為“假”,因此,判斷條件是否成立,就是判斷條件的“真假”。
- 怎么判斷真假呢?C語言規定,任何數值都有真假性,任何非0值都為“真”,只有0才為“假”。也就是說,108、-18、4.5、-10.5等都是“真”,0則是“假”。
## 關系運算符
- 在程序中經常需要比較兩個量的大小關系,以決定程序下一步的工作。比較兩個量的運算符稱為關系運算符。
|序號||運算符|結合性|
|--|--|--|--|
|1|>|大于 如:a>b a>3 5>4 1>2|左結合|
|2|<|小于 如:a<c d<3 2<5|左結合|
|3|>=|大于等于 如: a>=1 d>=c|左結合|
|4|<=|小于等于 如: a<=0 i<=19|左結合|
|5|==|等于 i==3 a==b|左結合|
|6|!=|不等于 a!=b c!=5|左結合|
- 關系運算符的運算結果只有2種:如果條件成立,結果就為1,也就是“真”;如果條件不成立,結果就為0,也就是“假”。
```
int a = 4, b = 10;
int result = a > b; //0
result = a == b; //0
result = a < b; //1
result = a + b > b; // 1
```
> 算數運算符的優先級大于關系型運算符。
# 關系運算符優先級和結合性
## 關系運算符結合性
- 關系運算符都是雙目運算符,其結合性均為左結合。
+ 例如4>3>2:先算4>3,條件成立,結果為1。再與2比較,即1>2,條件不成立,結果為0。因此4>3>2的結果為0。
## 關系運算符優先級
- 關系運算符中`==`、`!=`的優先級相等,`<`、`<=`、`>`、`>=`的優先級相等,且前者的優先級低于后者
+ 例如2==3>1:先算3>1,條件成立,結果為1。再計算2==1,條件不成立,結果為0。因此2==3>1的結果為0。
- 關系運算符的優先級小于算術運算符
+ 例如3+4>8-2:先計算3+4,結果為7。再計算8-2,結果為6。最后計算7>6,條件成立,結果為1。因此3+4>8-2的結果為1。
## Demo
計算下列表達式的值
```
3 > 4 + 7;
( 3 > 4 ) + 7;
5 != 4 + 2 * 7 > 3 == 10;
```
寫代碼驗證