必备技能3.6:使用break来退出循环
使用break可以忽略对循环条件的检测,强制性地退出一个循环。当在循环体中遇到break语句的时候,循环就会立即终止,继而执行循环后面的语句。下面就是一个示例:
#include <iostream>
using namespace std;
int main()
{
int t;
//下面的循环只能从0执行10,而不会执行到100;
for ( t = 0;t < 100; t++ )
{
if ( t == 10 ) break;
cout << t << ' ';
}
return 0;
}
程序的输出如下:
0 1 2 3 4 5 6 7 8 9
正如输出的结果所展示的那样,这个程序只是打印了数字0到9,而不是打印到了100,这是因为使用了break语句是的循环提前结束了。
当在使用嵌套的循环的时候,一个break语句只能使得程序的执行从最内部的循环中退出。下面就是一个示例:
#include <iostream>
using namespace std;
int main()
{
int t, count;
for ( t = 0; t < 10; t++ )
{
count = 1;
for (;;)
{
cout << count << ' ';
count ++;
if ( count == 10 ) break;
}
cout << '\n';
}
return 0;
}
程序的输出如下:
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
可以看出上面的程序共计打印数字1到9十次。每次打印的时候,在内部循环中都会遇到break语句,程序的控制就从内部循环转移到了外部的循环。注意上面的内部循环本是一个无限循环,通过使用break来使其终止。
break语句可以使用在任何的循环体中。通常,在遇到特殊,需要立刻终止循环的时候使用break语句,就像上面的例子展示的那样。
还有一点需要注意:switch中的break语句只会影响switch语句,而不会影响switch所在的循环语句。