返回 课程
信奥AC之路-2级
0% 完成
0/0 步骤
-
第一课:字符5 主题|小节
-
第二课 嵌套循环与矩形图案(一)4 主题|小节
-
第三课 嵌套循环与矩形图案(二)3 主题|小节
-
第四课:矩形三5 主题|小节
-
第五课:字符矩形7 主题|小节
-
第六课:直角三角形6 主题|小节
-
第七课:倒三角形7 主题|小节
-
第八课:字符三角形8 主题|小节
-
第九课:字符倒三角形7 主题|小节
-
第十课:平行四边形6 主题|小节
-
第十一课:字符直角三角形5 主题|小节
-
第十二课:左斜三角形6 主题|小节
-
第十三课:等腰三角形6 主题|小节
-
第十四课:倒置等腰三角形7 主题|小节
-
第十五课:上下对称图形4 主题|小节
-
第十六课:复杂对称图形5 主题|小节
-
第十七课:左右对称图形5 主题|小节
-
第十八课:空心图形5 主题|小节
-
第十九课:空心图形3 主题|小节
-
第二十课:嵌套应用4 主题|小节
-
第二十一课:嵌套应用二4 主题|小节
-
第二十二课:嵌套应用三3 主题|小节
-
第二十三课:嵌套应用四3 主题|小节
课 进展
0% 完成
“嵌套循环,”我微笑着解释道,”就像是一个循环里面包含着另一个循环,就像是一个盒子里面放着另一个盒子!这样可以让我们的程序更加强大,能够处理二维的问题,比如创建图形和表格。”
2.1.1 嵌套循环的不同形式
// for循环嵌套for循环
for(初始化表达式; 条件表达式; 更新表达式){ // 外循环:通常控制行数
for(初始化表达式; 条件表达式; 更新表达式){ // 内循环:通常控制列数
// 内部循环执行语句
}
// 外部循环执行语句
}
// while循环嵌套while循环
while(条件语句){ // 外循环
while(条件语句){ // 内循环
// 内部循环执行语句
}
// 外部循环执行语句
}
// for循环嵌套while循环
for(初始化表达式; 条件表达式; 更新表达式){ // 外循环
while(条件语句){ // 内循环
// 内部循环执行语句
}
// 外部循环执行语句
}
// while循环嵌套for循环
while(条件语句){ // 外循环
for(初始化表达式; 条件表达式; 更新表达式){ // 内循环
// 内部循环执行语句
}
// 外部循环执行语句
}
2.1.2 嵌套循环的执行流程
“嵌套循环有一个重要的执行规律,”我继续解释道,”外部循环每执行一次,内部循环都会完整地执行一遍。这就像时钟的时针和分针,时针走一格(外循环),分针要走一整圈(内循环)。”
例如,如果我们想输出一行五个星号,代码很简单:
for(int j=1; j<=5; j++){ // 循环5次
cout << '*'; // 输出一个星号
}
cout << endl; // 换行
但如果我们想输出5行,每行5个星号,那么就需要在外面再套一个循环:
// 输出5行,每行5个星号
for(int i=1; i<=5; i++){ // 控制行数,外循环
for(int j=1; j<=5; j++){ // 控制每行的星号数,内循环
cout << '*'; // 输出一个星号
}
cout << endl; // 每行结束后换行
}
嵌套循环的执行流程:
- 外部循环初始化(i=1)
- 检查外部循环条件(i<=5),为真,进入外部循环体
- 内部循环初始化(j=1)
- 检查内部循环条件(j<=5),为真,进入内部循环体
- 执行内部循环体语句(输出’*’)
- 内部循环更新(j++),j变为2
- 重复步骤4-6,直到j>5
- 内部循环结束,执行外部循环体中内部循环之后的语句(换行)
- 外部循环更新(i++),i变为2
- 重复步骤2-9,直到i>5