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 |
$ |