C++continue语句
读者在学习C语言的时候应该知道,continue的作用式结束本次循环,白话就是跳出循环体中还没有执行的语句,接着执行下一次是否执行循环体中语句的判断。
continue语句的一般格式为
continue;
看到这里,相比读者会有一个疑惑,上一节学的break语句和今天的continue语句有什么区别呢?
continue语句只是结束本次循环,而不是结束整个循环;break语句则式结束整个循环的过程,不再判断执行循环的条件是否成立,读者应当很清晰的记清楚break和continue的区别,在开发中会常常遇到。
while(表达式1) | |
{ | |
while(表达式1) | |
{ | |
…… | |
if(表达式2) | |
{ | |
…… | |
continue; | |
} | |
} | |
while(表达式1) { while(表达式1) { …… | |
if(表达式2) | |
{ | |
…… | |
break; | |
} | |
} |
经典案例:C++求100-200之间所有的素数
# include<iostream> | |
# include<cmath> | |
# include<iomanip> | |
using namespace std; | |
int main() | |
{ | |
int m, k, i, n = 0;//定义整型变量 | |
bool bool_prime;//定义bool变量 | |
for(m = 101; m <= 200; m= m + 2)//判断m是否为素数,增量为2 | |
{ | |
bool_prime = true;//循环开始时先认为m为素数 | |
k = int(sqrt(m));//用k代表sqrt(m)的整数部分 | |
for(i=2; i<=k; ++i)//此循环的作用是将m被2至sqrt(m)除,检查是否能整除 | |
{ | |
if(m%i == 0)//如果能整除,表示m不是素数 | |
{ | |
bool_prime = false; | |
break;//终止执行本循环 | |
} | |
} | |
if(bool_prime==true)//如果为真 | |
{ | |
cout<<setw(5)<<m;//输出素数m,字段宽度为5 | |
n += 1;//n用来累计素数的个数 | |
} | |
if(n%10 == 0)//输出10个数后换行 | |
cout<<endl; | |
} | |
cout<<endl;//最后一次执行换行 | |
return 0; //返回值为0 | |
} |
执行本程序之后,会输出
101 103 107 109 113 127 131 137 139 149
151 157 163 167 173 179 181 191 193 197
199
读者需要知道素数是指一个大于1的自然数,除了1和它自身外,不能被其它自然数整除。
更多案例可以go公众号:C语言入门到精通
正文完