1. 程式人生 > >【C語言補漏】 break語句和continue語句

【C語言補漏】 break語句和continue語句

 break語句

在switch語句中經常用到,因為switch語句執行完匹配的case語句後,不會自動結束,而會繼續執行下面的語句。所以使用break跳出switch。

break:跳出本層的迴圈。使用break有時候可以提到程式碼的效率。

舉個例子:

#include<stdio.h>

void main()
{
	int i, num;
	_Bool flag = 1;
	printf("請輸入一個整數\n");
	scanf("%d", &num);

	for (i = 2; i < num / 2; i++)
	{
		if (num % i == 0)
		{
			flag = 0;
		}
	}
	if (flag)
	{
		printf("%d是一個素數\n", num);
	}
	else
	{
		printf("%d不是一個素數\n",num);
	}
	printf("迴圈執行的次數:%d\n", i);
}

執行結果:

請輸入一個整數
1000
1000不是一個素數
迴圈執行的次數:500
請按任意鍵繼續. . .

如果num = 1000,顯然num能被2整除,不是素數。所以此時就可以跳出迴圈。不用執行整下的迴圈語句了。

修改:

#include<stdio.h>

void main()
{
	int i, num;
	_Bool flag = 1;
	printf("請輸入一個整數\n");
	scanf("%d", &num);

	for (i = 2; i < num / 2; i++)
	{
		if (num % i == 0)
		{
			flag = 0;
			break;
		}
	}
	if (flag)
	{
		printf("%d是一個素數\n", num);
	}
	else
	{
		printf("%d不是一個素數\n",num);
	}
	printf("迴圈執行的次數:%d\n", i);
}

執行結果:

請輸入一個整數
1000
1000不是一個素數
迴圈執行的次數:2
請按任意鍵繼續. . .

顯然,這樣可以提高效率

★break只能跳出本層迴圈,跳出外層迴圈需要在繼續新增break語句。


continue語句

continue語句:跳出本輪迴圈,進入下一輪迴圈;

舉例子:使用者鍵盤輸入“I Love U songpl”,忽略”U“,直接輸出“I Love songpl”

程式:

#include<stdio.h>

void main()
{
	int ch;
	while ((ch = getchar()) != '\n')
	{
		if (ch == 'U')
			continue;
		putchar(ch);
	}
	putchar('\n');
}

執行結果:

I Love U songpl
I Love  songpl
請按任意鍵繼續. . .

★cintinue和break都是之作用本層迴圈;

★當使用while語句代替for語句時,如果有continue語句時,要注意是否會進入死迴圈;


★finished by songpl,2018.12.3