C++ 初学者指南 第三篇(7)使用continue
2013-06-26 15:26
218 查看
必备技能3.7:使用continue
//停止本次,继续循环
实际中也有可能需要提前终止某一次循环,绕过循环体中的正常控制结构。这个功能是通过使用continue语句来完成的。continue语句强制性地执行下一次循环,而跳过从它到控制循环的条件表达式之间的语句。例如,下面的程序打印了0到100之间的偶数。
#include <iostream>
using namespace std;
<span style="color:#ff0000;">int main()
{
int x;
for( x = 0; x <= 100; x++ )
{
if ( x % 2 ) continue;
cout << x << ' ';
}
return 0;
} </span>
在上面的程序中,只有偶数才会被打印出来,因为奇数会导致continue语句被执行,从而引起本次循环提前结束,也就越过了cout语句。 注意%运算符是用来计算一个整数做除法的余数的。因此,当x是奇数的时候,对2做除法的余数就是1,也就是真值。当x是偶数的时候,对2做乘除法的余数是0,也就是假值。
在while和do-while循环中,continue语句会使得控制直接转向到条件表达式,然后继续执行循环。在for循环的情况下,循环的自增部分是会被执行的,再执行条件表达式的检测,然后继续循环。
练习:
1. 当在循环体中执行了break的时候会怎样?
2. continue是用来做什么用的?
3. 假设一个循环体中含有switch,那么switch中的break会导致循环终止吗?
答案:
1. 当在循环中执行了break的时候,就会终止循环,继而执行循环后面的语句。
2. continue是用来提前终止一次循环的,继而开始下一次的循环,如果循环条件满足。
3. switch中的break不会导致循环终止。
//停止本次,继续循环
实际中也有可能需要提前终止某一次循环,绕过循环体中的正常控制结构。这个功能是通过使用continue语句来完成的。continue语句强制性地执行下一次循环,而跳过从它到控制循环的条件表达式之间的语句。例如,下面的程序打印了0到100之间的偶数。
#include <iostream>
using namespace std;
<span style="color:#ff0000;">int main()
{
int x;
for( x = 0; x <= 100; x++ )
{
if ( x % 2 ) continue;
cout << x << ' ';
}
return 0;
} </span>
在上面的程序中,只有偶数才会被打印出来,因为奇数会导致continue语句被执行,从而引起本次循环提前结束,也就越过了cout语句。 注意%运算符是用来计算一个整数做除法的余数的。因此,当x是奇数的时候,对2做除法的余数就是1,也就是真值。当x是偶数的时候,对2做乘除法的余数是0,也就是假值。
在while和do-while循环中,continue语句会使得控制直接转向到条件表达式,然后继续执行循环。在for循环的情况下,循环的自增部分是会被执行的,再执行条件表达式的检测,然后继续循环。
练习:
1. 当在循环体中执行了break的时候会怎样?
2. continue是用来做什么用的?
3. 假设一个循环体中含有switch,那么switch中的break会导致循环终止吗?
答案:
1. 当在循环中执行了break的时候,就会终止循环,继而执行循环后面的语句。
2. continue是用来提前终止一次循环的,继而开始下一次的循环,如果循环条件满足。
3. switch中的break不会导致循环终止。
相关文章推荐
- C++ 初学者指南 第三篇(3)
- C++ 初学者指南 第三篇(5)
- C++ 初学者指南 第三篇(6)
- C++ 初学者指南 第一篇(10)使用代码块
- C++ 初学者指南 第三篇 (2) 项目3-2
- C++ 初学者指南 第三篇 (2) 项目3-3
- C++ 初学者指南 第三篇(2)
- C++ 初学者指南 第三篇(7)
- C++ 初学者指南 第三篇(4)
- C++ 初学者指南 第三篇(8)
- C++ 初学者指南 第五篇(4)使用return语句
- C++ 初学者指南 第三篇(9)
- C++ 初学者指南 第三篇(10)
- C++ 初学者指南 第三篇 (2) 项目3-1
- C++ 初学者指南 第三篇(8)嵌套的循环
- C++ 初学者指南 第三篇(1)
- C++初学者指南 第十篇(9)
- C++ 初学者指南 第五篇(7)
- C++ 初学者指南 第五篇(10)
- C++ 初学者指南 第二篇(7)