C 速查手冊

3.1 算術運算子

C 語言的算術運算有加、減、乘、除、取餘數等,這些都需要兩個運算元 (operand) ,如下列表

運算子功能範例
+a + b
-a - b
*a * b
/a / b
%取餘數a % b

基本資料型態 (data type) 都可以做算術運算,以下為整數型態做算術運算的例子

#include <stdio.h>

int main(void)
{
    int a, b, c;
    a = 8;
    b = 3;
    
    c = a + b;
    printf("a + b = %d\n", c);
    
    c = a - b;
    printf("a - b = %d\n", c);
    
    c = a * b;
    printf("a * b = %d\n", c);
    
    c = a / b;
    printf("a / b = %d\n", c);
    
    c = a % b;
    printf("a %% b = %d\n", c);
    
    return 0;
}

/* 《程式語言教學誌》的範例程式
    http://kaiching.org/
    檔名:arithint.c
    功能:示範整數的算術運算
    作者:張凱慶 */

編譯後執行,結果如下

$ gcc arithint.c
$ a.out
a + b = 11
a - b = 5
a * b = 24
a / b = 2
a % b = 2
$

注意除法的部分

c = a / b;

由於是利用整數型態進行計算,所以得到的結果,程式印出的第四行也會是整數,這被稱為整數除法。

以下為浮點數型態做算術運算的例子,請留意,浮點數型態不能做取餘數的計算

#include <stdio.h>

int main(void)
{
    float a, b, c;
    a = 8.3;
    b = 2.2;
    
    c = a + b;
    printf("a + b = %f\n", c);
    
    c = a - b;
    printf("a - b = %f\n", c);
    
    c = a * b;
    printf("a * b = %f\n", c);
    
    c = a / b;
    printf("a / b = %f\n", c);
    
    return 0;
}

/* 《程式語言教學誌》的範例程式
    http://kaiching.org/
    檔名:arithfloat.c
    功能:示範浮點數的算術運算
    作者:張凱慶 */

編譯後執行,結果如下

$ gcc arithfloat.c
$ a.out
a + b = 10.500000
a - b = 6.100000
a * b = 18.260000
a / b = 3.772727
$

由於字元型態 (character) 直接對應到 ASCII 編碼的整數值,所以利用算術運算來進行字元符號的轉換,如以下為英文大小寫轉換的例子

#include <stdio.h>

int main(void)
{
    char t = 'T';
    
    printf("t = %c\n", t);
    
    t = t + 32;
    printf("大小寫轉換後 t = %c\n", t);
    
    return 0;
}

/* 《程式語言教學誌》的範例程式
    http://kaiching.org/
    檔名:arithchar.c
    功能:示範字元的算術運算
    作者:張凱慶 */

編譯後執行,結果如下

$ gcc arithchar.c
$ a.out
t = T
大小寫轉換後 t = t
$

上一頁 單元 3 - 運算式
回 C 速查手冊首頁
下一頁 3.2 遞增及遞減運算子
回 C 教材首頁
回程式語言教材首頁