【C语言补漏】 break语句和continue语句

 break语句

在switch语句中经常用到,因为switch语句执行完匹配的case语句后,不会自动结束,而会继续执行下面的语句。所以使用break跳出switch。

break:跳出本层的循环。使用break有时候可以提到代码的效率。

举个例子:

#include

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

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

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

 

你可能感兴趣的:(C学习)