什麼是 C 運算子優先順序和結合性?
首先,讓我們瞭解一下 C 程式語言中的運算子優先順序。
運算子優先順序
運算子優先順序用於確定表示式中運算子的計算順序。在 C 程式設計中,每個運算子都有一個優先順序。當給定表示式中存在多個運算子時,優先順序較高的運算子將首先計算,優先順序最低的運算子將最後計算。
運算子結合性
運算子結合性用於確定表示式中優先順序相同的運算子的計算順序。在 C 程式語言中,當表示式包含多個優先順序相同或相同的運算子時,我們使用結合性來確定運算子的計算順序。
下表解釋了運算子及其優先順序和結合性:
優先順序 | 運算子 | 運算子含義 | 結合性 |
---|---|---|---|
1 | () [] -> . | 函式呼叫 陣列引用 結構體成員訪問 結構體成員訪問 | 從左到右 |
2 | ! ~ + - ++ -- & * sizeof(type) | 取反 按位非 一元正號 一元負號 自增運算子 自減運算子 取地址運算子 指標 返回變數大小 型別轉換 | 從右到左 |
3 | * / % | 乘法 除法 取模 | 從左到右 |
4 | + - | 加法 減法 | 從左到右 |
5 | << >> | 左移 右移 | 從左到右 |
6 | < <= | 小於 小於等於 | 從左到右 |
7 | == != | 等於 不等於 | 從左到右 |
8 | & | 按位與 | 從左到右 |
9 | ^ | 按位異或 | 從左到右 |
10 | | | 按位或 | 從左到右 |
11 | && | 邏輯與 | 從左到右 |
12 | || | 邏輯或 | 從左到右 |
13 | ?: | 條件運算子 | 從左到右 |
14 | = *= /= %= += -= &= ^= |= <<= >>= | 賦值 乘法賦值 除法賦值 取模賦值 加法賦值 減法賦值 按位與賦值 按位異或賦值 按位或賦值 左移賦值 右移賦值 | 從右到左 |
15 | 分隔符 | 從左到右 |
廣告