C 語言運算子 (Operators)
運算子是用來告訴編譯器執行特定數學或邏輯操作的符號。
1. 算術運算子 (Arithmetic Operators)
用於執行基本的數學運算。
| 運算子 | 描述 | 範例 (A=10, B=20) |
|---|---|---|
+ | 加法 | A + B = 30 |
- | 減法 | A - B = -10 |
* | 乘法 | A * B = 200 |
/ | 除法 | B / A = 2 |
% | 取餘數 (Modulus) | B % A = 0 (20 除以 10 餘 0) |
++ | 遞增 (Increment) | A++ 變 11 |
-- | 遞減 (Decrement) | A-- 變 9 |
注意:整數除法 (
5 / 2) 結果是2。若要得到小數 (2.5),被除數或除數需為浮點數 (5.0 / 2)。
2. 關係運算子 (Relational Operators)
用於比較兩個值,結果為 真 (True, 非 0) 或 假 (False, 0)。
| 運算子 | 描述 | 範例 (A=10, B=20) |
|---|---|---|
== | 等於 | (A == B) 為假 |
!= | 不等於 | (A != B) 為真 |
> | 大於 | (A > B) 為假 |
< | 小於 | (A < B) 為真 |
>= | 大於或等於 | (A >= B) 為假 |
<= | 小於或等於 | (A <= B) 為真 |
3. 邏輯運算子 (Logical Operators)
用於結合多個條件判斷。
| 運算子 | 描述 | 規則 | 範例 |
|---|---|---|---|
&& | AND (且) | 兩邊都為真,結果才為真 | (5>1) && (10>5) 為真 |
|| | OR (或) | 兩邊只要有一個為真,結果就為真 | (5>1) || (5<1) 為真 |
! | NOT (非) | 反轉結果 (真變假,假變真) | !(5>1) 為假 |
4. 賦值運算子 (Assignment Operators)
用於將值指定給變數,可以結合算術運算簡寫。
| 運算子 | 等同於 | 描述 |
|---|---|---|
= | C = A | 將 A 的值給 C |
+= | C = C + A | 將 C 加 A 後存回 C |
-= | C = C - A | 將 C 減 A 後存回 C |
*= | C = C * A | 將 C 乘 A 後存回 C |
/= | C = C / A | 將 C 除 A 後存回 C |
%= | C = C % A | 將 C 取餘 A 後存回 C |
範例程式
#include <stdio.h>
int main() {
int a = 21;
int b = 10;
int c;
c = a + b;
printf("Line 1 - c 的值是 %d\n", c );
// 遞增運算
a++;
printf("Line 2 - a++ 後的值是 %d\n", a );
// 邏輯運算
if (a > b && b > 0) {
printf("Line 3 - a 大於 b 且 b 大於 0\n");
}
return 0;
}
了解了這些運算子,我們就能更靈活地控制程式的邏輯。