欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C語(yǔ)言中break與continue的用法和區(qū)別詳解

 更新時(shí)間:2021年10月08日 15:51:11   作者:木唐枝  
當(dāng)我們使用while或for循環(huán)時(shí),如果想提前結(jié)束循環(huán)(在不滿足結(jié)束條件的情況下結(jié)束循環(huán)),可以使用break或continue關(guān)鍵字,這篇文章主要給大家介紹了關(guān)于C語(yǔ)言中break與continue的用法和區(qū)別的相關(guān)資料,需要的朋友可以參考下

前言

本文將通過簡(jiǎn)單的實(shí)例來詳細(xì)分析在C語(yǔ)言中break語(yǔ)句和continue語(yǔ)句的用法和區(qū)別,歡迎大家批評(píng)指正。(部分內(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語(yǔ)句 我們?cè)趧偛诺拇a添加兩行代碼并使用break語(yǔ)句,使其變成以下程序:

int main()
{
	int i = 1;
	while (i <= 10)
	{
		if (i == 5)
			break;
		printf("%d ", i);
		i++;
	}
	return 0;
}

此程序運(yùn)行的結(jié)果如下圖:


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

總結(jié): while 循環(huán)中的break是用于永久終止循環(huán)

(2)continue語(yǔ)句

還是剛才的代碼,我們將其中的break 語(yǔ)句替換為continue語(yǔ)句

int main()
{
	int i = 1;
	while (i <= 10)
	{
		if (i == 5)
			//break;
			continue;
		printf("%d ", i);
		i++;
	}
	return 0;
}

運(yùn)行該程序,得到結(jié)果:


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


總結(jié):continue 語(yǔ)句在while 循環(huán)中的作用是終止本次循環(huán),即continue后面的代碼不會(huì)執(zhí)行,程序會(huì)跳轉(zhuǎn)至while語(yǔ)句的判斷部分,由于此時(shí) i 等于5并且永遠(yuǎn)滿足判斷條件小于等于10,因此該循環(huán)將進(jìn)入死循環(huán),一直進(jìn)行下去。

該示列對(duì)continue語(yǔ)句的用法不太直觀,因此我們進(jìn)行修改,將上述代碼中的i++ 語(yǔ)句放置while循環(huán)里的最前面,并對(duì)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é)果:


然后我們?cè)诖a中加入continue 語(yǔ)句:

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語(yǔ)句

代碼:

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語(yǔ)句一樣,是用于永久終止循環(huán)。

(2)continue語(yǔ)句

代碼:

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語(yǔ)句一樣,是用于跳出本次循環(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語(yǔ)句

示例:

int main()
{
	int i = 0;
	do
	{
		i++;
		if (i == 5)
		{
			break;
			//continue;
		}
		printf("%d ", i);
	} while (i < 10);
	return 0;
}

結(jié)果:

(2)continue語(yǔ)句

示例:

int main()
{
	int i = 0;
	do
	{
		i++;
		if (i == 5)
		{
			//break;
			continue;
		}
		printf("%d ", i);
	} while (i < 10);
	return 0;
}

結(jié)果:

二、switch語(yǔ)句

continue語(yǔ)句只用于循環(huán)語(yǔ)句中,不能用于switch語(yǔ)句

而break語(yǔ)句可用于switch語(yǔ)句中。當(dāng)其使用時(shí)可使程序跳出switch而執(zhí)行switch以后的語(yǔ)句。如果沒有break語(yǔ)句,則會(huì)從滿足條件的地方(即與switch(表達(dá)式)括號(hào)中表達(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é)

本文對(duì)C語(yǔ)言中break和continue語(yǔ)句詳細(xì)做了分析,由于三種循環(huán)(while、for、do while)在使用上有些差異,因此在實(shí)際應(yīng)用中要具體判斷,同時(shí)也感謝大家的觀看,以上是本文的全部?jī)?nèi)容。

相關(guān)文章

  • C++?ASIO實(shí)現(xiàn)異步套接字管理詳解

    C++?ASIO實(shí)現(xiàn)異步套接字管理詳解

    Boost?ASIO(Asynchronous?I/O)是一個(gè)用于異步I/O操作的C++庫(kù),該框架提供了一種方便的方式來處理網(wǎng)絡(luò)通信、多線程編程和異步操作,本文介紹了如何通過ASIO框架實(shí)現(xiàn)一個(gè)簡(jiǎn)單的異步網(wǎng)絡(luò)套接字應(yīng)用程序,需要的可以參考下
    2023-08-08
  • OpenCV視頻流C++多線程處理方法詳細(xì)分析

    OpenCV視頻流C++多線程處理方法詳細(xì)分析

    為OpenCV是搞計(jì)算機(jī)視覺必須要掌握的基礎(chǔ),這篇文章主要給大家介紹了關(guān)于OpenCV視頻流多線程處理的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-11-11
  • C++算法之海量數(shù)據(jù)處理方法的總結(jié)分析

    C++算法之海量數(shù)據(jù)處理方法的總結(jié)分析

    本篇文章是對(duì)海量數(shù)據(jù)處理方法進(jìn)行了詳細(xì)的總結(jié)與分析,需要的朋友參考下
    2013-05-05
  • C++實(shí)現(xiàn)二維圖形的打印

    C++實(shí)現(xiàn)二維圖形的打印

    大家好,本篇文章主要講的是C++實(shí)現(xiàn)二維圖形的打印,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下
    2022-02-02
  • 直觀理解C語(yǔ)言中指向一位數(shù)組與二維數(shù)組的指針

    直觀理解C語(yǔ)言中指向一位數(shù)組與二維數(shù)組的指針

    這篇文章主要介紹了直觀理解C語(yǔ)言中指向一位數(shù)組與二維數(shù)組的指針,數(shù)組指針是C語(yǔ)言入門學(xué)習(xí)過程中的重點(diǎn)和難點(diǎn),需要的朋友可以參考下
    2016-05-05
  • C++指針運(yùn)算符(&和*)的實(shí)現(xiàn)

    C++指針運(yùn)算符(&和*)的實(shí)現(xiàn)

    C++ 提供了兩種指針運(yùn)算符,一種是取地址運(yùn)算符 &,一種是間接尋址運(yùn)算符 *,本文就詳細(xì)的介紹一下這兩種運(yùn)算符的使用,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-08-08
  • 數(shù)據(jù)結(jié)構(gòu)之紅黑樹詳解

    數(shù)據(jù)結(jié)構(gòu)之紅黑樹詳解

    這篇文章主要介紹了數(shù)據(jù)結(jié)構(gòu)之紅黑樹詳解,紅黑樹是一種自平衡二叉查找樹,它的統(tǒng)計(jì)性能要好于平衡二叉樹(AVL樹),因此,紅黑樹在很多地方都有應(yīng)用,需要的朋友可以參考下
    2014-08-08
  • 深入C++中inline關(guān)鍵字的使用

    深入C++中inline關(guān)鍵字的使用

    本篇文章是對(duì)C++中inline關(guān)鍵字的使用進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • C++ 實(shí)現(xiàn)漢諾塔的實(shí)例詳解

    C++ 實(shí)現(xiàn)漢諾塔的實(shí)例詳解

    這篇文章主要介紹了C++ 實(shí)現(xiàn)漢諾塔的實(shí)例詳解的相關(guān)資料,這里主要說明C++中數(shù)據(jù)結(jié)構(gòu)的遞歸的應(yīng)用,需要的朋友可以參考下
    2017-08-08
  • 如何使用遞歸和非遞歸方式反轉(zhuǎn)單向鏈表

    如何使用遞歸和非遞歸方式反轉(zhuǎn)單向鏈表

    以下是對(duì)使用遞歸和非遞歸方式反轉(zhuǎn)單向鏈表的示例進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過來參考下
    2013-07-07

最新評(píng)論