C的控制語句
控制語句是C語言中用于控制程序執行流程的結構。通過控制語句,可以根據條件執行不同的代碼塊,或者重復執行某些操作,從而實現復雜的邏輯和功能。掌握控制語句是編寫有效和高效C程序的關鍵。
1 條件控制
條件控制語句用于根據某些條件來決定程序的執行路徑。C語言提供了多種條件控制結構,包括if
語句、else if
語句和switch
語句。
1.1 if
語句
if
語句用于在條件為真時執行特定的代碼塊。它是最基本的條件控制語句。
語法:
if (條件) {// 條件為真時執行的代碼
}
示例與詳細說明:
#include <stdio.h>int main() {int num = 10;// 使用if語句判斷num是否為正數if (num > 0) {printf("num 是一個正數。\n");}return 0;
}
輸出:
num 是一個正數。
詳細解釋:
-
條件表達式:
num > 0
,如果num
大于0,條件為真(1),則執行if
塊中的代碼。 -
執行流程
:
- 計算條件
num > 0
。 - 如果條件為真,執行大括號
{}
內的代碼。 - 如果條件為假,跳過
if
塊中的代碼。
- 計算條件
更多示例:
#include <stdio.h>int main() {int age = 18;// 判斷是否成年if (age >= 18) {printf("你已成年,可以投票。\n");}return 0;
}
輸出:
你已成年,可以投票。
1.2 else if
語句
else if
語句用于在第一個if
條件不滿足時,提供多個條件判斷的可能性。它允許在多個條件之間進行選擇。
語法:
if (條件1) {// 條件1為真時執行的代碼
} else if (條件2) {// 條件2為真時執行的代碼
} else {// 所有條件都不滿足時執行的代碼
}
示例與詳細說明:
#include <stdio.h>int main() {int score = 85;// 使用if-else if-else結構判斷成績等級if (score >= 90) {printf("成績等級:A\n");} else if (score >= 80) {printf("成績等級:B\n");} else if (score >= 70) {printf("成績等級:C\n");} else if (score >= 60) {printf("成績等級:D\n");} else {printf("成績等級:F\n");}return 0;
}
輸出:
成績等級:B
詳細解釋:
- 條件判斷順序:
- 判斷
score >= 90
,如果為真,輸出A
并跳過后續條件。 - 如果上一個條件為假,判斷
score >= 80
,如果為真,輸出B
。 - 依此類推,直到最后的
else
塊。
- 判斷
- 執行流程:
- 依次檢查每個
if
和else if
的條件。 - 當某個條件為真時,執行對應的代碼塊,并跳過剩余的條件檢查。
- 如果所有條件都不滿足,執行
else
塊中的代碼。
- 依次檢查每個
更多示例:
#include <stdio.h>int main() {int temperature = 30;// 判斷天氣情況if (temperature > 30) {printf("天氣非常熱,適合游泳。\n");} else if (temperature > 20) {printf("天氣溫暖,適合戶外活動。\n");} else if (temperature > 10) {printf("天氣稍涼,適合散步。\n");} else {printf("天氣寒冷,建議在室內活動。\n");}return 0;
}
輸出:
天氣溫暖,適合戶外活動。
1.3 switch
語句
switch
語句用于基于一個變量的不同值來執行不同的代碼塊。它通常用于替代多個if-else if
條件判斷,使代碼更加簡潔和易讀。
語法:
switch (表達式) {case 值1:// 當表達式等于值1時執行的代碼break;case 值2:// 當表達式等于值2時執行的代碼break;