if語句的巢狀
在巢狀內的if語句可能又是if-else型的,這將會出現多個if和多個else重疊的情況,這時要特別注意if和else的配對問題。
例如:if(表示式1)
if(表示式2)*
語句1;
else*
語句2;
其中的else究竟是與哪乙個if配對呢?[else*和就近的if*配對]
為了避免這種二義性,c語言規定,else總是與它前面最近的if配對,因此對上述例子應理解為:
if(表示式1)
if(表示式2)
語句1;
else
語句2;
比較以下兩題目:哪乙個是運用巢狀方法?
【例5.6】
void main()
補充:輸入乙個字元,判斷它是否是大寫字母,如果是,將它轉換成小寫字母;如果不是,不轉換。然後輸出最後得到的字元。
#include
void main()
switch語句
【例4.9】
void main()
}在使用switch語句時還應注意以下幾點:
1)在case後的各常量表示式的值不能相同,否則會出現錯誤。
2)在case後,允許有多個語句,可以不用{}括起來。
3)各case和default子句的先後順序可以變動,而不會影響程式執行結果。
4)default子句可以省略不用。
【例4.11】輸入三個整數,輸出最大數和最小數。
void main()
else
if(c>max)
if(c
void main()
else
}else
}作業2:運輸公司對使用者計算運費。
路程(s)越遠,每公里運費越低。標準如下:
s<250km 沒有折扣
250≤s<500 2%折扣
500≤s<1000 5%折扣
1000≤s<2000 8%折扣
2000≤s<3000 10%折扣
3000≤s 15%折扣
設每公里每噸貨物的基本運費為p,貨物重為w,距離為s,折扣為d,則總運費f的計算公式為:
f = p*w*s*(1-d);
void main()
else
printf("\nc=%d\n",c);
switch(c)
f = p*w*s*(1-d/100.0);
printf("freight=%15.4f\n",f);
}
c語言入門(2)
構成三角形的條件 任意兩邊之和大於第三邊。求面積 s a b c 2 area 根號下s s a s b s c 賦值運算子 按照 自右而左 的順序執行 將浮點型資料賦給整型變數時,對浮點數取整 直接捨棄小數部分 將佔位元組多的整形資料賦給佔位元組少的整型變數時,直接將低位元組原封不動送到被賦值的變...
c語言入門2
1,變數 變數 在執行過程中可以改變的 變數名必須以下劃線或者字母開頭,可以由下劃線數字字母組成。作用域 之間。生命週期 程式 函式執行完 變數的記憶體會由系統自動 int a 10 a 變數 左邊的叫左值 右邊的叫右值。2,常量 常量 在執行過程中不可改變的 常量的定義 使用const或 defi...
C語言入門教程2
要利用計算機處理問題,光學習語言的語法規則還不夠,最重要的是要學會針對各型別的問題,擬定出有效的解題方法和步驟。解題方法和步驟就是演算法。演算法 為了解決乙個問題而採取的有限步驟。計算機演算法 如何使計算機一步一步地工作的具體過程。利用計算機處理問題的步驟 1 設計好演算法 演算法設計 2 用計算機...