break语句:从循环体内跳出,即提前结束循环,接着执行循环下面的语句。
代码:
float pi=3.14159;
for(r=1;r<=10;r++)
{ area=pi*r*r;
if (area>100) break;
printf(″r=%f,area=%f\n″,r,area);
}
当area>100时,执行break语句,提前结束循环。
例题1:输入一个大于3的整数n,判定它是否素数。

解题思路:
让n被i整除(i的值从2变到n-1)
如果n能被2~(n-1)之中任何一个整数整除,则表示n肯定不是素数,不必再继续被后面的整数除,因此,可以提前结束循环
注意:此时i的值必然小于n
#include <stdio.h>
int main()
{ int n,i;
printf(“n=?"); scanf("%d",&n);
for (i=2;i<=n-1;i++)
if(n%i==0) break;
if(i<=n-1) printf("%d is not\n",n);
else printf("%d is\n",n);
return 0;
}
改进算法:
#include <stdio.h>
#include <math.h>
int main()
{ int n,i,k;
printf(“n=?"); scanf("%d",&n);
k=sqrt(n);
for (i=2; i<=k; i++)
if(n%i==0) break;
if(i<=n-1) printf("%d is not\n",n);
else printf("%d is\n",n);
}
例题2:求100~200间的全部素数。
解题思路:
使用上例的算法判断某个数是否是素数
在上例程序中只要增加一个外循环,先后对100~200间的全部整数一一进行判定即可
……
for(n=101;n<=200;n=n+2)
{ k=sqrt(n);
for (i=2;i<=k;i++)
if (n%i==0) break;
if (i>k)
{ printf("%d ",n);
m=m+1;
if(m%10==0) printf(“\n”); }
}
……
continue语句: 用来结束本次循环,即跳过循环体中下面尚未执行的语句,判定是否执行下一次循环。
例题3: 将1~100之间能被5整除的数输出。

编程思路:
对1到100之间的每一个整数进行检查
如果能被5整除,输出,否则不输出
无论是否输出此数,都要接着检查下一个数
for(n=1;n<=100;n++)
{ if (n%5!=0)
continue;
else printf("%d ",n);
}
break语句和continue语句的区别:
continue语句只结束本次循环,而不是终止整个循环的执行。
break语句结束整个循环过程,不再判断执行循环的条件是否成立。

