對于某個特定任務我們可以采用多種方法來編寫程序。下面這段代碼也可以實現前面的溫度轉換程序的功能:#include
<stdio.h>/*打印華氏溫度―攝氏溫度對照表*/main(){ int fahr; for (fahr = 0; fahr <= 300; fahr = fahr + 20) printf("%3d %6.1f/n", fahr, (5.0/9.0)*(fahr-32));}
溫度的下限、上限和步長都是常量, printf 函數的第三個參數必須是與%6.1f 匹配的浮點值,所以可以在此處使用任何浮點表達式。
for 語句是一種循環語句,它是對 while 語句的推廣。如果將 for 語句與前面介紹的 while 語句比較,就會發現 for 語句的操作更直觀一些。圓括號中共包含 3 個部分,各部分之間用分號隔開。第一部分 fahr = 0 是初始化部分,僅在進入循環前執行一次。第二部分 fahr <= 300 是控制循環的測試或條件部分。循環控制將對該條件求值,如果結果值為真(true),則執行循環體(本例中的循環體僅包含一個 printf 函數調用語句)。此后將執行第三部分 fahr = fahr + 20 以將循環變量 fahr 增加一個步長,并再次對條件求值。如果計算得到的條件值為假(faise),循環將終止執行。與 while 語句一樣,for 循環語句的循環體可以只有一條語句,也可以是用花括號括起來的一組語句。初始化部分(第一部分)、條件部分(第二部分)與增加步長部分(第三部分)都可以是任何表達式。
在實際編程過程中,可以選擇 whi1e 與 for 中的任意一種循環語句,主要要看使用哪一種更清晰。for 語句比較適合初始化和增加步長都是單條語句并且邏輯相關的情形,因為它將循環控制語句集中放在一起,且比 while 語句更緊湊。
練習:修改溫度轉換程序,要求以逆序(即按照從 300 度到 0 度的順序)打印溫度轉換表。
#include <stdio.h>/*打印華氏溫度―攝氏溫度對照表*/main(){ int i; int fahr; for (fahr = 300; fahr >= 0; fahr = fahr - 20) printf("%3d %6.1f/n", fahr, (5.0/9.0)*(fahr-32)); scanf("%d", &i);}
新聞熱點
疑難解答
圖片精選