break语句的执行只会导致其所在层的循环被中止。在一个嵌套的双重循环中,处于内层循环内的break被执行时,只会导致内层循环的中止,外层循环不受影响。
本文引用自作者编写的下述图书; 本文允许以个人学习、教学等目的引用、讲授或转载,但需要注明原作者"海洋饼干叔
叔";本文不允许以纸质及电子出版为目的进行抄摘或改编。
1.《Python编程基础及应用》,陈波,刘慧君,高等教育出版社。免费授课视频 Python编程基础及应用
2.《Python编程基础及应用实验教程》, 陈波,熊心志,张全和,刘慧君,赵恒军,高等教育出版社Python编程基础及应用实验教程
3. 《简明C及C++语言教程》,陈波,待出版书稿。免费授课视频
我们通过下述示例来说明双重循环中内层break语句的执行效果。
//Project - DoubleFor
#include <iostream>
using namespace std;
int main()
{
for (int i=0;i<10;i++){ //i循环:第0行至第9行
for (int j=0;j<10;j++){ //j循环:第0列至第9列,但第i行最多输出10-i列
if (j>=(10-i))
break;
cout << "*";
}
cout << endl;
}
return 0;
}
上述程序的执行结果为:
**********
*********
********
*******
******
*****
****
***
**
*
上述代码包含两个for循环,外层的i循环从0到9,内层的j循环也从0到9。如果删去代码第9 ~ 10行,程序将输出10行10列共10个*号,当内层j循环结束后,第13行会在行尾输出一个换行符。
第9~10行:对于第i行,程序仅允许输出10-i个*号。当超过数量,即j>=(10-i)时,执行break语句结束内层循环。
下图展示了break语句执行后的程序跳转位置,如图所见,被终止的只是内层j循环,外层i循环将继续执行。
为了帮助更多的年轻朋友们学好编程,作者在B站上开了两门免费的网课,一门零基础讲Python,一门零基础C和C++一起学,拿走不谢!
简洁的C及C++
Python编程基础及应用
如果你觉得纸质书看起来更顺手,目前Python有两本,C和C++在出版过程中。
Python编程基础及应用
Python编程基础及应用实验教程