2
多层循环语句
GESP 二级 · 知识点 7

🌀 多层循环语句

循环里再套循环,就像钟表:分针转一圈(内层),时针才走一格(外层)。还有 break「刹车」和 continue「跳过这一轮」两个好帮手!

考纲知识点:while 循环、do...while 循环、for 循环的嵌套
📖
考纲 · 知识点详述
摘自《CCF编程能力等级认证 C++&Python 认证标准》C++ 二级
  1. (8)掌握多层循环结构,掌握for 语句、while 语句、do...while 语句,及相互嵌套的方法。
📚
先学一学
花 5 分钟读完下面 5 课,再去闯关就不慌啦
1
🔁 循环三兄弟

「同一件事重复做」就叫循环,C++ 有三种:

🌟 一句分清
while「先看后做」可能 0 次;do...while「先做后看」至少 1 次;for 最适已知次数。
💡 口诀:for 管次数,while 先判,do-while 至少做一次。
🆚 易混对比:while vs do...while
· 条件一开始就不成立:while 一次都不跑do...while 先跑一次
· 所以「循环体至少执行一次」是 do...while 的专属特征(真题判断:正确)。
💡 口诀:do-while 先斩后奏,至少一次。
2
🕰️ 嵌套循环:钟表里套钟表

循环里再套循环,像钟表:分针(内层)转一圈,时针(外层)才走一格。规则是:

📝 跟着算一算(真题同款)
外层 3 次 × 内层 4 次 = 12 次
外层 i=1..4,内层 j=1..i → 1+2+3+4 = 10 个星
三角形里内层次数跟着外层变,所以是加法累加,不是简单相乘。
💡 口诀:外层一轮、内层整轮;方阵总次数相乘;三角形用加法累加。
⚠️ break 只跳它所在的那一层
嵌套里写 break,只会跳出包含它的最内层循环,外层照常继续(真题判断:正确)。想全跳出去得用别的方法(如设标志变量)。
💡 口诀:break 只跳一层,外层不受影响。
3
🛑 break 与 continue:两个好帮手
🆚 易混对比:刹车 vs 跳过
· break = 一脚刹车,整个循环停(真题:跳出整个循环,执行循环后面的语句)。
· continue = 跳过这一轮剩下的,进下一轮(真题:跳过本轮剩下的语句,回到条件判断)。
别把两者搞混:一个是「全停」,一个是「只跳这一轮」。
💡 口诀:break 一脚刹车停全程,continue 跳过本轮下一轮。
🌟 行业实际:找数就 break
在一堆数据里找第一个满足条件的数(比如第一个不及格成绩),找到了就用 break 立刻停下,省得白跑。continue 则常用于「跳过不想要的项」,比如只统计正数、跳过负数。
💡 口诀:找到就 break 省时间,不要的用 continue 跳。
4
👣 步长与计数小技巧

循环每轮让变量「走一步」,步长决定一次走几格:

📝 跟着数一数
算循环次数要数「有几个满足条件的 i」,不是拿上限乱除。i 从 0 到 <10、每次 +2:0、2、4、6、8 —— 一共 5 个值,所以跑 5 次(干扰项 10 是忘了步长、4 是少算一个)。
💡 口诀:步长不写默认 1;i+=2 一次走两格;算次数要去数个数值。
5
🧩 循环的真实用武之地

多层循环在真实程序里到处都是,来几道真题式实战:

🖨️ 打印图形
· 方阵:外层管行、内层管列,3×3 两层循环打 9 个星。
· 三角形:内层 j 从 1 到 i,i=1..4 时共 1+2+3+4=10 个星(真题:选 10)。
💡 口诀:方阵层数相乘,三角形层数累加。
➕ 累加与更多
循环最常做「累加」:用 sum += i 把 1+2+…+100 加起来;还能找素数(用循环试除判断因数)、统计个数枚举所有组合(如两层循环遍历棋盘每格)。机器人巡逻 3 街 × 每街 3 路口 = 9 步,正是嵌套循环的总次数。
💡 口诀:累加用 sum+=i,枚举组合靠嵌套。
🎯
闯关小锦囊 · 考点提醒
🎮
学完了?来闯关!
下面 14 个小挑战,点一点就能玩

Demo 原型 · 每个知识点独立页面 · 暂不含真实编译与进度存储。