1. 程式人生 > >break和continue語句

break和continue語句

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語句