位置:首頁(yè) > 軟件操作教程 > 編程開(kāi)發(fā) > C語(yǔ)言 > 問(wèn)題詳情

C語(yǔ)言 continue 語(yǔ)句

提問(wèn)人:劉團(tuán)圓發(fā)布時(shí)間:2020-11-30

continue語(yǔ)句用于終止本次循環(huán),進(jìn)入下一次循環(huán)。

1.continue語(yǔ)句的形式

    continue;

2.功能

    continue語(yǔ)句被稱為繼續(xù)語(yǔ)句。在循環(huán)結(jié)構(gòu)中執(zhí)行到continue語(yǔ)句,會(huì)使本次循環(huán)提前結(jié)束,即跳過(guò)循環(huán)體中continrue語(yǔ)句下面的尚未執(zhí)行的循環(huán)體語(yǔ)句,但不結(jié)束整個(gè)循環(huán),繼續(xù)進(jìn)行下一次循環(huán)的條件判別,條件為真,繼續(xù)進(jìn)行執(zhí)行循環(huán)語(yǔ)句。

3.break與continue的區(qū)別

    break除了可以用于循環(huán)體中,還可以用于switch語(yǔ)句中;而continue語(yǔ)句只能用于循環(huán)中。 

    break與continue出現(xiàn)在循環(huán)體中時(shí),對(duì)循環(huán)次數(shù)的影響不同:循環(huán)中遇到break馬上退出循環(huán),去執(zhí)行循環(huán)之后的語(yǔ)句;continue則僅能跳過(guò)當(dāng)次循環(huán),進(jìn)入下一次循環(huán)。例如:觀察下面兩個(gè)程序的執(zhí)行有何不同?

程序1:

main()

{

    int i;

    int s=0;

    for(i=l;i<=10;i++)

    {

        if(i%5==0)

            continue;

        s=s+i;

}

printf ("s=%d\n",s);

}

    循環(huán)體中,i從1到10之間循環(huán),當(dāng)i能被5整除,即i是5的倍數(shù)時(shí),跳過(guò)當(dāng)次循環(huán),即不執(zhí)行s=s+i,直接進(jìn)入下一個(gè)i的循環(huán);當(dāng)i不是5的倍數(shù)時(shí),把i累加到s,最后輸出s。所以本程序?qū)崿F(xiàn)的是求"1-10之間所有非5的倍數(shù)的數(shù)之和,即s=1+2+3+4+6+7+8+9。輸出結(jié)果是s=40。

程序2:

main()

{

    int i;

    int s=0;

    for(i=2;i<=10;i++)

    {

        if(i%5==0)

            break;

        s=s+i;

    }

    printf("s-%d\n",s);

}

本程序中,當(dāng)i能被5整除,遇到break終止循環(huán)的執(zhí)行,轉(zhuǎn)而執(zhí)行循環(huán)之后的語(yǔ)句,所以當(dāng)i的值變化到5時(shí),退出循環(huán),相當(dāng)于執(zhí)行s=1+2+3+4,輸出結(jié)果為s=10。

繼續(xù)查找其他問(wèn)題的答案?

相關(guān)視頻回答
回復(fù)(0)
返回頂部