break和continue語句
阿新 • • 發佈:2019-01-18
ont main while amp 而不是 get 下一個 har enter鍵
1、break語句可以從循環體內跳出循環體,即提前結束循環,接著執行循環下面的語句。
一般形式:break;
break不能用於循環語句和switch語句之外的任何其他語句中。
註意:(1)break語句對if-else的條件語句不起作用。
(2)在多層循環中,一個break語句就向外跳一層。
例:
#include<stdio.h> void main() { int r; double pi=3.14159,area; for(r=1;r<=10;r++) { area=pi*r*r; if(area>100) { break; } printf("r=%d,area=%f\n",r,area); } }
程序的作用是計算r=1到r=10的圓的面積,直到面積area大於100為止。從上面的for循環可以看到:當area>100時,執行break語句,提前結束循環,即不再繼續執行其余的幾次循環。
例:
#include<conio.h> #include<stdio.h> void main() { int i; char c; i=1; while(1)/*設置循環*/ { c=‘\0‘;/*變量賦初值*/ while(c!=13&&c!=27)/*鍵盤接受字符直到按回車或Esc鍵*/ { c=getch(); printf("%c\n",c); } if(c==27) break;/*判斷若為Esc鍵則退出循環*/ i++; printf("The No. is %d\n",i); } printf("The end"); }
2、continue語句
作用為結束本次循環,即跳過循環體中下面尚未執行的語句,接著進行下一次是否執行循環的判斷。
一般形式:continue;
區別:(1)continue語句只結束本次循環,而不是終止整個循環的執行。
(2)break語句則是結束整個循環過程,不再判斷執行循環的條件是否成立。
例:顯示輸入的字符,如果按的是Esc鍵,則退出循環;如果是enter鍵,則不做任何處理,繼續輸入下一個字符。
#include<conio.h> void main() { char ch; for( ; ; ) { ch=getch(); if(ch==27) break; if(ch==13) continue; putch(ch); } getch(); }
break和continue語句