C語言中break與continue的用法和區(qū)別詳解
前言
本文將通過簡單的實(shí)例來詳細(xì)分析在C語言中break語句和continue語句的用法和區(qū)別,歡迎大家批評指正。(部分內(nèi)容稍有重復(fù),大家可自行選擇跳轉(zhuǎn)目錄)
一、循環(huán)體中兩者的作用
1.while循環(huán)
我們先看一個(gè)循環(huán)示例:此程序在屏幕上打印出數(shù)字1—10
int main()
{
int i = 1;
while (i <= 10)
{
printf("%d ", i);
i++;
}
return 0;
}
運(yùn)行結(jié)果:

(1)break語句 我們在剛才的代碼添加兩行代碼并使用break語句,使其變成以下程序:
int main()
{
int i = 1;
while (i <= 10)
{
if (i == 5)
break;
printf("%d ", i);
i++;
}
return 0;
}
此程序運(yùn)行的結(jié)果如下圖:

對此程序的運(yùn)行結(jié)果進(jìn)行分析:

總結(jié): while 循環(huán)中的break是用于永久終止循環(huán)
(2)continue語句
還是剛才的代碼,我們將其中的break 語句替換為continue語句
int main()
{
int i = 1;
while (i <= 10)
{
if (i == 5)
//break;
continue;
printf("%d ", i);
i++;
}
return 0;
}
運(yùn)行該程序,得到結(jié)果:

我們可以看出,該程序并未執(zhí)行結(jié)束,以下是對該程序的分析:

總結(jié):continue 語句在while 循環(huán)中的作用是終止本次循環(huán),即continue后面的代碼不會(huì)執(zhí)行,程序會(huì)跳轉(zhuǎn)至while語句的判斷部分,由于此時(shí) i 等于5并且永遠(yuǎn)滿足判斷條件小于等于10,因此該循環(huán)將進(jìn)入死循環(huán),一直進(jìn)行下去。
該示列對continue語句的用法不太直觀,因此我們進(jìn)行修改,將上述代碼中的i++ 語句放置while循環(huán)里的最前面,并對i 的初值以及循環(huán)條件做以修改,以保證改進(jìn)后的代碼依舊可在屏幕上打印數(shù)字1—10
以下是改進(jìn)后代碼:
int main()
{
int i = 0;
while (i < 10)
{
i++;
if (i == 5)
//break;
continue;
printf("%d ", i);
}
return 0;
}
以下是運(yùn)行結(jié)果:

然后我們在代碼中加入continue 語句:
int main()
{
int i = 0;
while (i <10)
{
i++;
if (i == 5)
continue;
printf("%d ", i);
}
return 0;
}
以下是運(yùn)行結(jié)果:

2.for循環(huán)
還是剛才的示例,在屏幕上打印數(shù)字1—10,我們用for循環(huán)實(shí)現(xiàn)
int main()
{
int i = 0;
for (i = 1; i <= 10; i++)
{
printf("%d ", i);
}
return 0;
}
程序運(yùn)行結(jié)果:

(1)break語句
代碼:
int main()
{
int i = 0;
for (i = 1; i <= 10; i++)
{
if (i == 5)
{
break;
}
printf("%d ", i);
}
return 0;
}
結(jié)果分析:

總結(jié): for循環(huán)中的break同while語句一樣,是用于永久終止循環(huán)。
(2)continue語句
代碼:
int main()
{
int i = 0;
for (i = 1; i <= 10; i++)
{
if (i == 5)
{
//break;
continue;
}
printf("%d ", i);
}
return 0;
}
結(jié)果分析:

總結(jié): for循環(huán)中的continue同while語句一樣,是用于跳出本次循環(huán),進(jìn)行下一次循環(huán)。
3.do while循環(huán)
示例:輸出1—10
int main()
{
int i = 0;
do
{
i++;
printf("%d ", i);
} while (i < 10);
return 0;
}
結(jié)果:

(1)break語句
示例:
int main()
{
int i = 0;
do
{
i++;
if (i == 5)
{
break;
//continue;
}
printf("%d ", i);
} while (i < 10);
return 0;
}
結(jié)果:

(2)continue語句
示例:
int main()
{
int i = 0;
do
{
i++;
if (i == 5)
{
//break;
continue;
}
printf("%d ", i);
} while (i < 10);
return 0;
}
結(jié)果:

二、switch語句
continue語句只用于循環(huán)語句中,不能用于switch語句
而break語句可用于switch語句中。當(dāng)其使用時(shí)可使程序跳出switch而執(zhí)行switch以后的語句。如果沒有break語句,則會(huì)從滿足條件的地方(即與switch(表達(dá)式)括號中表達(dá)式匹配的case)開始執(zhí)行,直到switch結(jié)構(gòu)結(jié)束。
示例:輸入數(shù)字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;
}
結(jié)果:

總結(jié)
本文對C語言中break和continue語句詳細(xì)做了分析,由于三種循環(huán)(while、for、do while)在使用上有些差異,因此在實(shí)際應(yīng)用中要具體判斷,同時(shí)也感謝大家的觀看,以上是本文的全部內(nèi)容。
相關(guān)文章
matlab鳥群算法求解車間調(diào)度問題詳解及實(shí)現(xiàn)源碼
這篇文章主要為大家介紹了matlab鳥群算法求解車間調(diào)度的問題分析及實(shí)現(xiàn)源碼,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2022-02-02
C語言 數(shù)據(jù)存儲(chǔ)方式知識(shí)點(diǎn)詳解
在本篇文章里小編給大家整理的是關(guān)于C語言 數(shù)據(jù)存儲(chǔ)方式知識(shí)點(diǎn)詳解,有需要的朋友們可以學(xué)習(xí)參考下。2020-02-02
php5系列的apache遠(yuǎn)程執(zhí)行漏洞攻擊腳本
這篇文章主要介紹了php5系列的apache遠(yuǎn)程執(zhí)行漏洞攻擊腳本,需要的朋友可以參考下2014-06-06
C++中rapidjson將嵌套map轉(zhuǎn)為嵌套json的講解
今天小編就為大家分享一篇關(guān)于C++中rapidjson將嵌套map轉(zhuǎn)為嵌套json的講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-04-04
C++中vector的實(shí)現(xiàn)方法示例詳解
這篇文章主要介紹了C++中vector實(shí)現(xiàn)的相關(guān)資料,vector是C++中重要的容器之一,底層通過三個(gè)迭代器實(shí)現(xiàn),分別是_start,?_finish,?和_end_of_storage,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-10-10
Visual Studio Code 配置C、C++環(huán)境/編譯并運(yùn)行的流程分析
這篇文章主要介紹了Visual Studio Code 配置C、C++環(huán)境/編譯并運(yùn)行的流程分析,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05
C++?Qt實(shí)現(xiàn)動(dòng)態(tài)增加垂直滾動(dòng)條
本博文源于筆者正在工作的一個(gè)小內(nèi)容,內(nèi)容涉及到為qt動(dòng)態(tài)增加垂直滾動(dòng)條,文章分為三個(gè)部分,問題起源,問題解決方案,問題解決成功效果,思路清晰,文章干貨滿滿,復(fù)制源碼即可使用,需要的朋友可以參考下2023-08-08

