C語言中break與continue的用法和區別詳解
前言
本文將通過簡單的實例來詳細分析在C語言中break語句和continue語句的用法和區別,歡迎大傢批評指正。(部分內容稍有重復,大傢可自行選擇跳轉目錄)
一、循環體中兩者的作用
1.while循環
我們先看一個循環示例:此程序在屏幕上打印出數字1—10
int main() { int i = 1; while (i <= 10) { printf("%d ", i); i++; } return 0; }
運行結果:
(1)break語句 我們在剛才的代碼添加兩行代碼並使用break語句,使其變成以下程序:
int main() { int i = 1; while (i <= 10) { if (i == 5) break; printf("%d ", i); i++; } return 0; }
此程序運行的結果如下圖:
對此程序的運行結果進行分析:
總結: while 循環中的break是用於永久終止循環
(2)continue語句
還是剛才的代碼,我們將其中的break 語句替換為continue語句
int main() { int i = 1; while (i <= 10) { if (i == 5) //break; continue; printf("%d ", i); i++; } return 0; }
運行該程序,得到結果:
我們可以看出,該程序並未執行結束,以下是對該程序的分析:
總結:continue 語句在while 循環中的作用是終止本次循環,即continue後面的代碼不會執行,程序會跳轉至while語句的判斷部分,由於此時 i 等於5並且永遠滿足判斷條件小於等於10,因此該循環將進入死循環,一直進行下去。
該示列對continue語句的用法不太直觀,因此我們進行修改,將上述代碼中的i++ 語句放置while循環裡的最前面,並對i 的初值以及循環條件做以修改,以保證改進後的代碼依舊可在屏幕上打印數字1—10
以下是改進後代碼:
int main() { int i = 0; while (i < 10) { i++; if (i == 5) //break; continue; printf("%d ", i); } return 0; }
以下是運行結果:
然後我們在代碼中加入continue 語句:
int main() { int i = 0; while (i <10) { i++; if (i == 5) continue; printf("%d ", i); } return 0; }
以下是運行結果:
2.for循環
還是剛才的示例,在屏幕上打印數字1—10,我們用for循環實現
int main() { int i = 0; for (i = 1; i <= 10; i++) { printf("%d ", i); } return 0; }
程序運行結果:
(1)break語句
代碼:
int main() { int i = 0; for (i = 1; i <= 10; i++) { if (i == 5) { break; } printf("%d ", i); } return 0; }
結果分析:
總結: for循環中的break同while語句一樣,是用於永久終止循環。
(2)continue語句
代碼:
int main() { int i = 0; for (i = 1; i <= 10; i++) { if (i == 5) { //break; continue; } printf("%d ", i); } return 0; }
結果分析:
總結: for循環中的continue同while語句一樣,是用於跳出本次循環,進行下一次循環。
3.do while循環
示例:輸出1—10
int main() { int i = 0; do { i++; printf("%d ", i); } while (i < 10); return 0; }
結果:
(1)break語句
示例:
int main() { int i = 0; do { i++; if (i == 5) { break; //continue; } printf("%d ", i); } while (i < 10); return 0; }
結果:
(2)continue語句
示例:
int main() { int i = 0; do { i++; if (i == 5) { //break; continue; } printf("%d ", i); } while (i < 10); return 0; }
結果:
二、switch語句
continue語句隻用於循環語句中,不能用於switch語句
而break語句可用於switch語句中。當其使用時可使程序跳出switch而執行switch以後的語句。如果沒有break語句,則會從滿足條件的地方(即與switch(表達式)括號中表達式匹配的case)開始執行,直到switch結構結束。
示例:輸入數字1—7,其中1—5輸出weekday,6、7輸出weekend.
int main() { int day=0; scanf("%d", &day); switch (day) { case 1: case 2: case 3: case 4: case 5: printf("weekday\n"); break; case 6: case 7: printf("weekend\n"); break; } return 0; }
結果:
總結
本文對C語言中break和continue語句詳細做瞭分析,由於三種循環(while、for、do while)在使用上有些差異,因此在實際應用中要具體判斷,同時也感謝大傢的觀看,以上是本文的全部內容。