C 筆記三 基于 for 循環(huán)的溫度轉換程序

編寫程序度气,打印華氏溫度到攝氏溫度的轉換表诡宗,要求按照從 300 度到 0 度逆序打印锹雏。

/* fahr2Celsius_for_1.c */
#include <stdio.h>

int main() {
    float fahr;
    
    for (fahr = 300; fahr >= 0; fahr -= 20) {
        printf("%3.0f\t%6.1f\n", fahr, (5.0 / 9.0) * (fahr - 32));
    }
    
    return 0;
}

for 也是 C 語言的一種循環(huán)語句,它是對 while 的一種推廣抠璃,相比 while站楚,for 語句更加直觀。for 語句比較適合初始化和增加步長都是單條語句并且邏輯相關的情形搏嗡。

上述程序中 printf 的第三個參數(shù)是計算攝氏溫度的表達式窿春,C 語言允許使用復雜的表達式來替代同類型變量值:

printf("%3.0f\t%6.1f\n", fahr, (5.0 / 9.0) * (fahr - 32));

/* 等價于 */
celsius = (5.0 / 9.0) * (fahr - 32);
printf("%3.0f\t%6.1f\n", fahr, celsius);

上述程序的編譯運行結果:

300  148.9
280  137.8
260  126.7
240  115.6
220  104.4
200   93.3
180   82.2
160   71.1
140   60.0
120   48.9
100   37.8
 80   26.7
 60   15.6
 40    4.4
 20   -6.7
  0  -17.8

上面的程序在 for 循環(huán)里使用了 300、20 這樣的常量采盒,C 語言中把直接使用的常數(shù)稱之為 “幻數(shù)”旧乞。在程序中大量使用幻數(shù)會使得程序的修改變得更加困難,也降低了程序的可讀性磅氨。

for (fahr = 300; fahr >= 0; fahr -= 20) {
    printf("%3.0f\t%6.1f\n", fahr, (5.0 / 9.0) * (fahr - 32));
 }

使用 #define 可以把一個符號名定義為一個特定的字符序列(包括數(shù)字)尺栖,注意 define 語句不需要分號:

#define name replacement-list

符號常量名通常用大寫字母拼寫,以便于與小寫字母拼寫的變量名區(qū)分烦租。符號常量不是變量延赌,因此不需要再進行聲明除盏。所以上述的程序可以改寫成:

/* fahr2Celsius_for_2.c */
#include <stdio.h>

#define  LOWER  0
#define  UPPER  300
#define STEP    20

int main() {
    float fahr;
    
    for (fahr = UPPER; fahr >= LOWER; fahr -= STEP) {
        printf("%3.0f\t%6.1f\n", fahr, (5.0 / 9.0) * (fahr - 32));
    }
    
    return 0;
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市挫以,隨后出現(xiàn)的幾起案子者蠕,更是在濱河造成了極大的恐慌,老刑警劉巖掐松,帶你破解...
    沈念sama閱讀 206,378評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件踱侣,死亡現(xiàn)場離奇詭異,居然都是意外死亡大磺,警方通過查閱死者的電腦和手機抡句,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來量没,“玉大人玉转,你說我怎么就攤上這事∨固悖” “怎么了究抓?”我有些...
    開封第一講書人閱讀 152,702評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長袭灯。 經(jīng)常有香客問我刺下,道長,這世上最難降的妖魔是什么稽荧? 我笑而不...
    開封第一講書人閱讀 55,259評論 1 279
  • 正文 為了忘掉前任橘茉,我火速辦了婚禮,結果婚禮上姨丈,老公的妹妹穿的比我還像新娘畅卓。我一直安慰自己,他們只是感情好蟋恬,可當我...
    茶點故事閱讀 64,263評論 5 371
  • 文/花漫 我一把揭開白布翁潘。 她就那樣靜靜地躺著,像睡著了一般歼争。 火紅的嫁衣襯著肌膚如雪拜马。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,036評論 1 285
  • 那天沐绒,我揣著相機與錄音俩莽,去河邊找鬼。 笑死乔遮,一個胖子當著我的面吹牛扮超,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 38,349評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼瞒津,長吁一口氣:“原來是場噩夢啊……” “哼蝉衣!你這毒婦竟也來了?” 一聲冷哼從身側響起巷蚪,我...
    開封第一講書人閱讀 36,979評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎濒翻,沒想到半個月后屁柏,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,469評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡有送,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 35,938評論 2 323
  • 正文 我和宋清朗相戀三年淌喻,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片雀摘。...
    茶點故事閱讀 38,059評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡裸删,死狀恐怖,靈堂內的尸體忽然破棺而出阵赠,到底是詐尸還是另有隱情涯塔,我是刑警寧澤,帶...
    沈念sama閱讀 33,703評論 4 323
  • 正文 年R本政府宣布清蚀,位于F島的核電站匕荸,受9級特大地震影響,放射性物質發(fā)生泄漏枷邪。R本人自食惡果不足惜榛搔,卻給世界環(huán)境...
    茶點故事閱讀 39,257評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望东揣。 院中可真熱鬧践惑,春花似錦、人聲如沸嘶卧。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽脸候。三九已至穷娱,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間运沦,已是汗流浹背泵额。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留携添,地道東北人嫁盲。 一個月前我還...
    沈念sama閱讀 45,501評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親羞秤。 傳聞我的和親對象是個殘疾皇子缸托,可洞房花燭夜當晚...
    茶點故事閱讀 42,792評論 2 345