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