4.4 C++continue语句 | 求100-200之间的素数

举报
C语言入门到精通 发表于 2021/02/20 00:55:57 2021/02/20
【摘要】 C++continue语句读者在学习C语言的时候应该知道,continue的作用式结束本次循环,白话就是跳出循环体中还没有执行的语句,接着执行下一次是否执行循环体中语句的判断。continue语句的一般格式为continue;看到这里,相比读者会有一个疑惑,上一节学的break语句和今天的continue语句有什么区别呢?continue语句只是结束本次循环,而不是结束整个循环...

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和它自身外,不能被其它自然数整除。

4.4 C++continue语句 mp.weixin.qq.com图标

文章来源: zhuanlan.zhihu.com,作者:小林C语言,版权归原作者所有,如需转载,请联系作者。

原文链接:zhuanlan.zhihu.com/p/326484914

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。