發信人: ax.bbs@bbs.ee.nthu.edu.tw. (athena), 信區: test
標 題: 星星流講座 0005
發信站: ☆清華電機☆ (Wed May 3 18:27:07 1995)
轉信站: star
星星流講座 0005 C 語言教室
第 2 講 之 2 Arithmetic Operations
Topic: 數值的運算
現在我們來看看如何作數值的運算,請看下面的範例程式:
/* arop.c */
/* Arithmetic Operations */
#include <stdio.h>
main ()
{
int a, b, c;
a = 4;
b = -3;
c = a / b;
printf ("%d\n", a + b);
printf ("%d %d %d %d\n", a - b, a * b, c, a % b);
}
它的執行結果如下:
1
7 -12 -1 1
我們現在來看看這個程式。首先又是 #include <stdio.h> 這個編譯指示,
這是因為我們如果要使用 printf 這個函數的話,就必須含入 stdio.h 這個
標頭檔,詳細的情形留待討論函數時再說明。
接下來我們宣告了三個變數 a, b, c,它們的型態是有號整數。C 語言提供
了幾個基本的運算子 (operator) 供數值運算使用:
* 乘 (multiply)
/ 除 (divide)
% 求餘數 (modulo)
+ 加 (add)
正號 (plus sign)
- 減 (subtract)
負號 (minus sign)
() 括號 (parenthesis)
比較值得注意的是 C 語言並沒有求次方的運算子,想求 x 的 y 次方必須叫
用標準函式庫,而不能直接寫成 x^y。
我們仔細觀察上面的程式,首先看到
printf ("%d\n", a + b);
這一行,它的意思就是把 a + b 顯示在螢幕上,然後把游標移動到下一行的開頭。
printf 的用法是:
printf (format string, expression, expression ....);
格式 (format string) 是一個字串 (string),現在你只要記得 "%d\n" 是顯示一個
整數,"%d %d %d\n" 是顯示三個整數就可以了 (當然,相信聰明的你知道要怎麼顯
示兩個整數 ^_^ ),每一個 %d 依次序對應到後面運算式 (expression) 的運算結果。
所以我們現在可以知道 7 -12 -1 1 分別對應到 a - b, a * b, a / b, a % b。你
也許會覺得奇怪,a / b 應該是 -4/3 = -1.3333 才對呀,為什麼會顯示 -1 呢?這
是因為我們用一個整數型態的變數 c 來存 a / b 的結果,當你用整數型態的變數來
存浮點數時,小數點以後的數字會被無條件捨去。