逍遙自在學C語言 | 關係運算子

知微之見發表於2023-04-05

前言

一、人物簡介

  • 第一位閃亮登場,有請今後會一直教我們C語言的老師 —— 自在。

  • 第二位上場的是和我們一起學習的小白程式猿 —— 逍遙。

二、構成和表示方式

  • 關係運算子的作用是判斷符號兩邊大小的關係
  • C語言中的關係運算子主要有六個,如下表所示
運算子 名稱 示例 描述
== 等於 a == b 判斷a是否等於b
!= 不等於 a != b 判斷a是否不等於b
> 大於 a > b 判斷a是否大於b
< 小於 a < b 判斷a是否小於b
>= 大於等於 a >= b 判斷a是否大於等於b
<= 小於等於 a <= b 判斷a是否小於等於b
  • 關係運算子的兩邊可以是變數、數值 或 表示式

? 變數

a > b
a <= b

? 數值

5 > 3
20 == a

? 表示式

a+b > c
a-b <= 6

三、關係運算子的應用

1、運算結果

關係運算子的運算結果為0或者1

  • 當條件成立時結果為 1,條件不成立結果則為 0。

  • 例項演示

#include <stdio.h>
int main() {
    printf("11 > 2 結果為%d\n", 11 > 2);
    printf("9 < 3 結果為%d\n", 9 < 3);
    return 0;
}
  • 執行結果

2、運算子巢狀

  • 關係運算子是允許巢狀使用的,運算的結果可以繼續作為關係運算子的一個引數

  • 同優先順序的關係運算子結合律是從左往右的。

  • 例項演示
#include <stdio.h>
int main() {
    printf("2 < 3 > 0 結果為 %d\n", 2 < 3 > 0);
    printf("3 > 2 > 1 結果為 %d\n", 3 > 2 > 1);
    return 0;
}
  • 執行結果

? 因為2 > 3的結果為1,所以2 > 3 > 0等價於1 > 0,輸出的結果為:1

? 因為3 > 2的結果為1,所以3 > 2 > 1等價於1 > 1,輸出的結果為:0

3、優先順序

關係運算子的優先順序比上篇文中中提到講解的算術運算子優先順序低,另外關係運算子之間也有優先順序。

  • 高優先順序: <、 <=、>、>=

  • 低優先順序: ==、!=

  • 例項演示

#include <stdio.h>
int main() {
    printf("2 < 3 == 1 結果為 %d\n", 2 < 3 == 1);
    printf("1 == 3 > 1 結果為 %d\n", 1 == 3 > 1);
    return 0;
}

在看執行結果前,我們先分析一下。

  • 假如 2 < 3先運算,結果為1,則2 < 3 == 1等效於1 == 1 , 輸出的結果為1
  • 假如 3 == 1先運算,結果為0,則2 < 3 == 1等效於2 < 0 , 輸出的結果為0

那麼實際的執行結果如何呢?

我們接著分析

  • 因為 >的優先順序大於==,所以先運算3 > 1,結果1,則1 == 3 > 1等效於1 == 1 , 輸出的結果為 1

小結

透過本文的講解,我們學會了6種運算子的使用方法及優先順序關係,下一篇文章,我們將講解邏輯運算子。

相關文章