C 語言中的 switch 語句 替代多重 if..else 語句,可以使用 switch 語句。switch 語句用於選擇多個代碼塊中的一個來執行 switch(表達式) { case x: // 代碼塊 break; case y: // 代碼塊 break; default: // 代碼塊 工 ...
C 語言中的 switch 語句
替代多重 if..else 語句,可以使用 switch
語句。switch
語句用於選擇多個代碼塊中的一個來執行
switch(表達式) {
case x:
// 代碼塊
break;
case y:
// 代碼塊
break;
default:
// 代碼塊
工作原理
switch
表達式只會被計算一次- 表達式的值與每個
case
的值進行比較 - 如果找到匹配,則執行相應的代碼塊
break
語句用於跳出switch
塊並停止執行default
語句是可選的,如果找不到匹配的case
,則執行它指定的代碼
下麵的示例使用星期幾的數字來計算星期幾的名稱:
int day = 4;
switch (day) {
case 1:
printf("星期一");
break;
case 2:
printf("星期二");
break;
case 3:
printf("星期三");
break;
case 4:
printf("星期四");
break;
case 5:
printf("星期五");
break;
case 6:
printf("星期六");
break;
case 7:
printf("星期日");
break;
}
// 輸出 "星期四" (星期 4)
break
關鍵字:
- 當 C 遇到
break
關鍵字時,它會跳出switch
塊。 - 這將停止執行更多代碼和塊內部的
case
測試。 - 當找到匹配項並完成任務時,就該休息了。沒有必要進行更多測試。
break
可以節省大量的執行時間,因為它“忽略”了switch
塊中所有其他代碼的執行。
default
關鍵字:
default
關鍵字用於指定在找不到case
匹配時要運行的代碼:
int day = 4;
switch (day) {
case 6:
printf("今天是星期六");
break;
case 7:
printf("今天是星期日");
break;
default:
printf("期待周末");
}
// 輸出 "期待周末"
C 語言中的 while
迴圈
迴圈
迴圈可以執行一段代碼,只要滿足指定的條件。迴圈非常方便,因為它們可以節省時間、減少錯誤並使代碼更易於閱讀。
while
迴圈
只要指定的條件為真,while
迴圈就會一直迴圈執行一段代碼塊:
語法:
while (條件) {
// 要執行的代碼塊
}
在下麵的示例中,只要一個變數 (i
) 小於 5,迴圈中的代碼就會一遍又一遍地運行:
示例
int i = 0;
while (i < 5) {
printf("%d\n", i);
i++;
}
註意: 不要忘記增加用於條件的變數 (i++
),否則迴圈將永遠不會結束!
do/while
迴圈
do/while
迴圈是 while
迴圈的一個變體。這個迴圈會在檢查條件是否為真之前先執行一次代碼塊,然後只要條件為真,就會重覆該迴圈。
語法:
do {
// 要執行的代碼塊
}
while (條件);
下麵的示例使用了一個 do/while
迴圈。即使條件為假,迴圈也至少會執行一次,因為代碼塊是在測試條件之前執行的:
示例
int i = 0;
do {
printf("%d\n", i);
i++;
}
while (i < 5);
不要忘記增加用於條件的變數,否則迴圈將永遠不會結束!
現實生活中的例子
為了展示 while
迴圈的實際例子,我們可以創建一個簡單的“倒計時”程式:
示例
int countdown = 3;
while (countdown > 0) {
printf("%d\n", countdown);
countdown--;
}
printf("新年快樂!\n");
為了展示 while
迴圈結合 if else
語句的實際例子,假設我們玩一個 Yahtzee 游戲!
示例
如果骰子數字為 6,則列印“Yahtzee!”:
int dice = 1;
while (dice <= 6) {
if (dice < 6) {
printf("沒有 Yahtzee\n");
} else {
printf("Yahtzee!\n");
}
dice = dice + 1;
}
最後
為了方便其他設備和平臺的小伙伴觀看往期文章:
微信公眾號搜索:Let us Coding
,關註後即可獲取最新文章推送
看完如果覺得有幫助,歡迎 點贊、收藏、關註