Last Updated on 2021-04-29 by Clay
電腦(Computer)在中國也被稱為『計算機』,能夠輔助人類『計算』自然是它開發出來最重要的功能之一。
本小節透過攝氏溫度(°C)與華氏溫度(°F)的轉換,闡述何者為『變數』、何者又是算術表達式。
其實這並不是什麼複雜的觀念。所謂的『變數』就是讓我們儲存特定值的一個名稱,
比方說我們設定:
int x = 10;
則代表 x 這個變數就是被賦值整數 10 的意思。我們也可以透過 printf()
來隨時查看此變數值。
而算數表達式就是對於數值的『加減乘除』的計算。
- + : 加
- - : 減
- * : 乘
- / : 除
攝氏溫度(°C)與華氏溫度(°F)的轉換
攝氏溫度(°C)與華氏溫度(°F)的轉換公式如下:
而若是將其用程式來表示,可以寫成:
#include <stdio.h> int main() { float F, C; int lower = 0; int upper = 300; int step = 20; // While F = lower; while (F <= upper) { C = (5.0 / 9.0) * (F - 32.0); printf("%3.0f %6.1f\n", F, C); F = F + step; } return 0; }
Output:
0 -17.8
20 -6.7
40 4.4
60 15.6
80 26.7
100 37.8
120 48.9
140 60.0
160 71.1
180 82.2
200 93.3
220 104.4
240 115.6
260 126.7
280 137.8
300 148.9
這裡簡單描述各個變數的意思:
變數名 | 意義 |
---|---|
F | 華氏溫度 |
C | 攝氏溫度 |
lower | 最低溫度邊界 |
upper | 最高溫度邊界 |
step | 每次增加多少溫度 |
接著,我們就使用 while
迴圈,讓 F 在小於等於 upper(最高溫度邊界 )前不斷執行;除了使用公式轉換出 C 之外,別忘了每一次執行區塊的最底下,都要將 F 加上 20 度。
若是不讓溫度增加的話,while
迴圈會永無止境地執行下去,這想必不是我們想要看到的結果。
(補充)printf() 印出變數規格
在使用 printf()
印出變數時,我們是可以決定變數印出的規格的。比方說:%6f 代表著至少有 6 字元寬度、%.2f 代表至少有兩個小數點但寬度便不受限制了。當然,%f 便是印出浮點數(floating point)。
符號 | 說明 |
---|---|
%d | 印出十進制整數 |
%6d | 印出十進制整數,至少 6 字元寬 |
%f | 印出浮點數 |
%6f | 印出浮點數,至少 6 字元寬 |
%.2f | 印出浮點數,小數點後兩位 |
%6.2f | 印出浮點數,至少 6 字元寬並小數點後兩位 |
References
- http://ptgmedia.pearsoncmg.com/imprint_downloads/informit/learninglabs/9780134309361/ch03.html
- https://www.tutorialspoint.com/format-specifiers-in-c