一、break语句
直接跳出本轮循环,继续执行以后的语句
(如果是循环嵌套的话只能跳出最里面的不能跳出全部)。
break最大的用处是跳出死循环,主要针对于do-while循环。
break也可用于switch语句中用于跳出switch语句体,如果循环结构里面有switch语句且break用于switch中那将不会终止循环结构了
1.运用在while循环中的实例
求1到100之间的所有素数
#include<stdio.h>
int main()
{
int j=0;
int i=2;
while (i <=100)
{
j = 2;
while(j <i)
{
if (i % j == 0)
break;
j++;
}
if (i<=j)
{
printf("%d ", i);
}
i++;
}
}
2.运用在for循环中的实例
求1到100之间的所有素数
#include<stdio.h>
int main()
{
int j=0;
int i;
for (int i = 2; i <=100; i++)
{
for (j = 2; j <i; j++)
{
if (i % j == 0)
break;
}
if (i<=j)
{
printf("%d ", i);
}
}
}
3.运用在do-while循环中的实例
求1到100之间的所有素数
#include<stdio.h>
int main()
{
int j=0;
int i=2;
do
{
j = 2;
do
{
if (i % j == 0)
break;
j++;
}while (j < i);
if (i<=j)
{
printf("%d ", i);
}
i++;
}while (i <= 100);
}
二、continue语句
跳过本次循环但是会开始新的一轮判断循环,for循环中遇到continue会直接跳过后面的程序加上步长值(表达式3)接受下一轮的判断。
此语句仅限于do-while while for循环结构中使用
举个栗子
#include<stdio.h>
int main()
{
int i;
for (int i = 2; i <= 10; i++)
{
if (i%5==0)
{
continue;
}
printf("%d ", i);
}
}
结果为:
2 3 4 6 7 8 9
当i为5时满足if语句执行continue,后面的代码不看转到i++,i为6执行循环体。到i为10的时候同上执行i为11跳出循环体。
三、GO TO 语句
用于直接跳转,一半不使用。最多用于多层循环想一次跳出。
找到最小三位数的水仙花数
#include<stdio.h>
int main()
{
int i,j,k;
for (i = 1; i <9; i++)
{
for (j = 0; j < 9; j++)
{
for (k = 0; k < 9; k++)
{
if (i*i*i+j*j*j+k*k*k==i*100+j*10+k)
{
goto aaa;
}
}
}
}
aaa:
printf("%d", i * 100 + j * 10 + k);
}