在前边已经介绍过用break语句可以使流程跳出switch结构,继续执行switch语句下面的一个语句。
实际上,break语句还可以用于循环体内。break语句的一般格式为:
break;
其作用为使流程从循环体内跳出循环体,即提前结束循环,接着执行循环体下面的语句。break语句只能用于循环语句和switch语句内,不能单独使用或用于其他语句中。
continue语句的一般格式为:
continue;
其作用为结束本次循环,即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定。
continue语句和break语句的区别是:continue语句只结束本次循环,而不是终止整个循环的执行。而break语句则是结束整个循环过程,不再判断执行循环的条件是否成立。
举例,给定正整数m,判定其是否为素数。
#include <iostream>
#include <cmath>
using namespace std;
int main(){
int m,i,k;
cout<<"输入大于1的正整数m:"<<endl;
cin>>m;
if(m==2) cout<<m<<"是素数"<<endl;
else{
k=sqrt(m);
for(i=2;i<=k;i++) if (m%i==0) break; //只要有一个整除,就可停止
if(i>k) cout<< m<<"是素数"<<endl; //循环提前终止表示是非素数
else cout<< m<<"不是素数"<<endl;
}
return 0;
}