【C語言補漏】 break語句和continue語句
阿新 • • 發佈:2018-12-22
break語句
在switch語句中經常用到,因為switch語句執行完匹配的case語句後,不會自動結束,而會繼續執行下面的語句。所以使用break跳出switch。
break:跳出本層的迴圈。使用break有時候可以提到程式碼的效率。
舉個例子:
#include<stdio.h> void main() { int i, num; _Bool flag = 1; printf("請輸入一個整數\n"); scanf("%d", &num); for (i = 2; i < num / 2; i++) { if (num % i == 0) { flag = 0; } } if (flag) { printf("%d是一個素數\n", num); } else { printf("%d不是一個素數\n",num); } printf("迴圈執行的次數:%d\n", i); }
執行結果:
請輸入一個整數
1000
1000不是一個素數
迴圈執行的次數:500
請按任意鍵繼續. . .
如果num = 1000,顯然num能被2整除,不是素數。所以此時就可以跳出迴圈。不用執行整下的迴圈語句了。
修改:
#include<stdio.h> void main() { int i, num; _Bool flag = 1; printf("請輸入一個整數\n"); scanf("%d", &num); for (i = 2; i < num / 2; i++) { if (num % i == 0) { flag = 0; break; } } if (flag) { printf("%d是一個素數\n", num); } else { printf("%d不是一個素數\n",num); } printf("迴圈執行的次數:%d\n", i); }
執行結果:
請輸入一個整數
1000
1000不是一個素數
迴圈執行的次數:2
請按任意鍵繼續. . .
顯然,這樣可以提高效率
★break只能跳出本層迴圈,跳出外層迴圈需要在繼續新增break語句。
continue語句
continue語句:跳出本輪迴圈,進入下一輪迴圈;
舉例子:使用者鍵盤輸入“I Love U songpl”,忽略”U“,直接輸出“I Love songpl”
程式:
#include<stdio.h> void main() { int ch; while ((ch = getchar()) != '\n') { if (ch == 'U') continue; putchar(ch); } putchar('\n'); }
執行結果:
I Love U songpl
I Love songpl
請按任意鍵繼續. . .
★cintinue和break都是之作用本層迴圈;
★當使用while語句代替for語句時,如果有continue語句時,要注意是否會進入死迴圈;
★finished by songpl,2018.12.3