c primer plus(第五版)讀書筆計 第七章(1)

 

If 語句
       //7-1.c --求出溫度低於零度的天數的百分率
#include <stdio.h>
int main (void)
{
       const int FREEZING = 0;
       float temperature;
       int cold_days = 0;
       int all_days = 0 ;
       printf ("Enter the list of daily low temperatures.\n");
       printf ("Use Celsius,and enter q to quit .\n");
       while (scanf("%f",&temperature) == 1)
       {
              all_days ++;   //計算輸入的個數
              if (temperature < FREEZING)
                     cold_days ++;//計算小於零度的個數
 
       }
       if (all_days != 0)
              printf("%d days total;%.f%% were below freexing.\n",
              all_days,100.0 * (float)cold_days / all_days);
       if (all_days == 0)
              printf("No data entered!\n");
       return 0 ;
}
 
 
While 循環的判斷條件利用 scanf ()的返回值在scanf ()遇到非數字輸入的時候終止循環。
if (temperature < FREEZING)
       cold_days ++;
這是while中的新語句:該if語名指示計算機,如果剛讀入的值小於0那麼cold_days 加1如果剛讀入的值不小於0那麼就跳過cold_days語句,while循環繼續讀取下一個輸入的值
If語句被稱爲分支語句或選擇語句,因爲它提供了一個交匯點,在此處程序需要選擇兩條分支中的一條前進。一般形式:
                            Inf ( expression)
                                   Statement
如果expression求的值爲真(非零)就是執行statement,否則跳過該語句。和while語句一樣statement語句可以是簡單語句也可是用花括號括起來的複合語句。但是要注意的是:即使if 中使用了一個複合語句,整個if結構仍將被看作一個簡單語句。這種結構和while相似但是出別在於if語句中的判斷和執行(如果有可能的話)僅有一次,而while循環中判斷和執行可以重複多次。
通常expression是一個關係表達式。如果expression的值爲真,就執行語句,否則跳過語句。更一般的可以是任務表達式,表達式的值的0被視爲假。
 
簡單形式的if語句使程序可以選擇執行一條語句(可能是複合語句)或忽略它,C還可通過使用if eles形式在兩個語句中間做出選擇。一般形式如下:
                     Inf ( expression)
                                   Statement1
                     Eles
                                   Statement2
如果expression爲真(非零)就執行Statement1;如果expression爲假就執行Statement2; Statement1, Statement2可以是簡單語句也可以是複合語句;.但是在if與eles 之間有多條語句必須使用花括號創建一個代碼塊。因爲編譯器期望if和eles之間只有一條語句。
If語句和if eles語句比較

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章