错,continue语句的作用不是结束整个循环的执行,而是结束本次循环,跳过循环体中剩余的语句,直接进入到下次循环中,准备再次执行循环体。

continue 语句的作用是结束本次循环,跳过循环体中剩余的语句而强制进入下一次循环(回到循环体的开头准备再次执行循环体)。continue语句只用在 while、for 循环中,常与 if 条件语句一起使用,判断条件是否成立。

使用方式

continue语句只在循环语句中。

在循环体中的语句集合执行中,continue语句用于结束本次循环。在for循环中跳至执行循环步长语句,以准备测试下一次循环的条件;在while循环中,则直接跳到循环条件测试。例如,下面的代码把100~200之间能被3整除的数提出,其余的都能输出:

for(int n=100;n<=200;++n){    if(n%3==0)    continue;cout<<n<<endl;}

非必要性

continue语句总是有条件执行的。

循环体中,语句执行到含有continue语句的条件语句时,可以将后面的语句集合分成两部分,其中第一部分中含有continue语句:

循环体:{...} if(条件)    {第一部分(包含continue语句)} {第二部分}    通过将if(){}语句改写成if-else语句,可将continue语句省略掉,并且逻辑语义不变: 循环体:{...} if(条件)    {第一部分}else    {第二部分}

如果本来就如上面改写之后的循环体结构,那么continue语句根本就是多余的,因为执行了if语句的第一部分,通过if结构就直接跳过属于else的第二部分了。

如果第一部分只有一条continue语句,则在省略了continue语句之后,得到:

if(条件){}else{第二部分}    //他可以改写成:  if(!条件){第二部分}

也就是说,只要把条件反一下,就可以完成改写。例如,使用方式中的一段代码可以表示为:

for (int n=100; n<=200;++n)    if(n%3!=0)    cout<<n<<endl;

得到没有continue语句的代码。因此,循环中的continue语句并不是必须的。

循环体描述计算过程。在使用continue的地方,对于在非必要性一段中所描述的第一部分和第二部分集合:

(1)不应该是并列计算功能的结构,因为,并列结构用if-else语句可以描述得更清楚,不需要continue语句;

(2)其主计算也不在第一部分,因为,用一个if语句把主计算框起来,并用continue语句排斥后续部分,在设计上有点头重脚轻。

当循环体在执行主计算过程中,使用continue语句适当过滤一些不符合主计算条件的情形,可以使逻辑结构清晰。

大多数循环体的结构都不会很复杂,因为采用合理的编程方法可以适当避免过程体过分庞大。如果优化等处理使循环体简洁起来的时候,不失时机地使用continue语句,便可以使结构更加清晰。

continue与break的区别

continue语句和break语句的区别是:

continue语句只结束本次循环体的执行,而不是中止整个循环,而break语句则是结束本循环语句,不再进行循环条件判断。

相关推荐:c语言教程视频

更多相关文章

  1. 在嵌套使用if语句时,C语言规定else总是什么?
  2. if语句的用法是什么
  3. c语言的输入输出语句有哪些?
  4. c语言中continue语句的作用是什么
  5. c语言本身没有输入输出语句吗
  6. 在c程序中,注释语句只能位于一条语句的后面吗
  7. c语言语句以什么结束
  8. 【前端词典】从 returnWeekday() 谈 if() 语句代码优化
  9. 学习C的第三天-while语句

随机推荐

  1. 如何动态获取值?
  2. 执行javascript作为coldfusion页面加载
  3. 如何将javascript set style属性返回到CS
  4. 带搜索框选择的下拉列表
  5. bootstrap 中 css 与 javascript 的使用
  6. javascript自适应宽度的瀑布流
  7. 如何将占位符放在struts textfield标记中
  8. 使用Acrobat的javascript调试器
  9. PHP发布请求未识别的索引错误
  10. 为什么elementFromPoint()在IE 11上的ifram