C 語言運算符大全:算術/關係/邏輯/位/賦值/優先級完整表
運算符告訴編譯器執行特定數學或邏輯操作。C 提供豐富的運算符集合,按功能分為六大類。
1. 算術運算符
| 運算符 | 描述 | 示例 (A=10, B=20) |
| + | 加法 | A+B=30 |
| - | 減法 | A-B=-10 |
| * | 乘法 | A*B=200 |
| / | 除法 | B/A=2 |
| % | 取模(餘數) | B%A=0 |
| ++ | 自增 | A++=11 |
| -- | 自減 | A--=9 |
前綴 vs 後綴區別: ++a 先增後用,a++ 先用後增。
2. 關係運算符
| 運算符 | 描述 | 示例 |
| == | 相等 | (A==B) 假 |
| != | 不等 | (A!=B) 真 |
| > | 大於 | (A>B) 假 |
| < | 小於 | (A |
| >= | 大於等於 | (A>=B) 假 |
| <= | 小於等於 | (A<=B) 真 |
3. 邏輯運算符
| 運算符 | 描述 | 示例 (A=1, B=0) |
| && | 邏輯與 | (A&&B) 假 |
| || | 邏輯或 | (A||B) 真 |
| ! | 邏輯非 | !(A&&B) 真 |
4. 位運算符(按位操作)
假設 A=60 (0011 1100), B=13 (0000 1101)
| 運算符 | 描述 | 結果 |
| & | 按位與 | 12 (0000 1100) |
| | | 按位或 | 61 (0011 1101) |
| ^ | 按位異或 | 49 (0011 0001) |
| ~ | 按位取反 | -61 (補碼 1100 0011) |
| << | 左移 | A<<2 = 240 |
| >> | 右移 | A>>2 = 15 |
5. 賦值運算符
| 運算符 | 等價寫法 |
| = | C = A + B |
| += | C = C + A |
| -= | C = C - A |
| *= | C = C * A |
| /= | C = C / A |
| %= | C = C % A |
| <<= | C = C << 2 |
| >>= | C = C >> 2 |
| &= | C = C & 2 |
| ^= | C = C ^ 2 |
| |= | C = C | 2 |
6. 雜項運算符
sizeof():返回類型/變量佔用字節數
&:取地址
*:解引用
? ::三元條件運算符
運算符優先級與結合性(高到低)
| 類別 | 運算符 | 結合性 |
| 後綴 | () [] -> . ++ -- | 左→右 |
| 一元 | + - ! ~ ++ -- (type)* & sizeof | 右→左 |
| 乘除 | * / % | 左→右 |
| 加減 | + - | 左→右 |
| 移位 | << >> | 左→右 |
| 關係 | < <= > >= | 左→右 |
| 相等 | == != | 左→右 |
| 位與 | & | 左→右 |
| 位異或 | ^ | 左→右 |
| 位或 | | | 左→右 |
| 邏輯與 | && | 左→右 |
| 邏輯或 | || | 左→右 |
| 條件 | ?: | 右→左 |
| 賦值 | = += -= *= /= %= >>= <<= &= ^= |= | 右→左 |
| 逗號 | , | 左→右 |
示例:x = 7 + 3 * 2 → 先算 3*2=6,再 7+6=13。