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

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

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

前言

本文將通過簡單的實(shí)例來詳細(xì)分析在C語言中break語句和continue語句的用法和區(qū)別,歡迎大家批評指正。(部分內(nèi)容稍有重復(fù),大家可自行選擇跳轉(zhuǎn)目錄)

一、循環(huán)體中兩者的作用

1.while循環(huán)

我們先看一個循環(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后面的代碼不會執(zhí)行,程序會跳轉(zhuǎn)至while語句的判斷部分,由于此時 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)其使用時可使程序跳出switch而執(zhí)行switch以后的語句。如果沒有break語句,則會從滿足條件的地方(即與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)用中要具體判斷,同時也感謝大家的觀看,以上是本文的全部內(nèi)容。

相關(guān)文章

最新評論