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;
}

了解了這些運算子,我們就能更靈活地控制程式的邏輯。