![]() |
C 教材:整數型態的變數 |
請自行編輯、編譯、執行以下程式。執行的結果應該在螢幕上看到一列
The answer is -40眾所周知,華氏與攝氏的溫度指標,在零下 40 度時相等。
#include <stdio.h> /* 將華氏 -40 度轉換成攝氏度數 (fahr-int.c) */ main() { int fahr, cels; fahr = -40; cels = 5*(fahr-32)/9; printf("The answer is %d\n", cels); }
第二個指令,將 fahr 的值定義成 -40。 第三個指令,先計算 = 右邊的 5*(fahr-32)/9,再將計算結果定義成 cels 的值。 第四個指令,在螢幕上輸出答案。 然後,main 函式結束了,這整個程式也就結束了。
我們先注意 - * / 這三個符號。非常直覺地,它們就是四則運算的 減、乘、除符號。在此缺席的是加號:+。 而一對 ( ) 表示裡面的語句要先執行,這也是很符合習慣的。 這些其實都不需要解釋。
或許,需要解釋的是 = 號。 它只是採藉了數學裡面的等號,但是在意義上並不相同。 通常 = 號的左邊會是一個變數名, 右邊是一個語句。C 必須先執行 = 號右邊的語句, 再將 = 號左邊變數的值,定義成計算的結果。
基於這個認識,以後我們會看到類似
n = n + 1;這樣在數學上荒謬的語句。 這句話的意思,是先計算 n+1,再將 n 的值定義成計算的結果。 所以,如果 n 在這個指令執行以前的值是 5, 那麼在這個指令執行以後的值就是 6。
關於這個程式,我們還有三點要說明。 留到下面三節詳談。 最後我們要提醒讀者的是,fahr 和 cels 在此分別代表華氏和攝氏度數。 為了方便,您當然可以將這兩個變數命名為 F 和 C 甚至於 x 和 y。 但是,「命名守則第一條」就是說
盡量選擇對讀原始碼的人類來說,容易認出意義的變數名稱順便附贈「命名守則第二條」:
盡量避免使用小寫英文字母 l、大小寫英文字母 O 和 o因為中文 Big-5 碼有許多不在 ANU 集合內,所以不能用中文當做 C 的變數名稱。
習題
int n;執行過後,n 的值應該是多少?
n = 7;
n = 2*n-13;
![]() |
![]() |
單維彰 (2000/03/24) --- |