|循环嵌套 + 经典图形打印|VS2022 实战精讲)
大家好我是网域小星球。上一篇我们系统学习了 C 语言三大循环while、do-while、for已经能实现基本的重复执行逻辑。但在实际编程里很多场景需要一层循环里面再套一层循环这就是循环嵌套。它是新手进阶的必经之路也是笔试、面试里非常经典的考点。本篇我们重点讲循环嵌套的执行逻辑配合最经典的打印图形、数字规律题全程可直接在 VS2022 运行内容扎实、一步到位。目录一、本章学习目标二、什么是循环嵌套三、循环嵌套基本格式四、经典案例 1打印矩形五、经典案例 2打印空心矩形六、经典案例 3打印直角三角形七、经典案例 4倒直角三角形八、经典案例 5打印数字金字塔九、嵌套循环中的 break 和 continue十、循环嵌套常见错误总结十一、本章核心总结下期预告一、本章学习目标学完本篇你将掌握循环嵌套的执行原理与执行顺序双层for循环的标准写法与规范经典图形打印矩形、空心矩形、直角三角形数字规律与字符规律输出循环嵌套常见错误与调试思路break /continue 在嵌套中的作用范围二、什么是循环嵌套循环嵌套就是在一个循环内部再写一个完整的循环。外层循环执行 1 次内层循环要完整执行 N 次最常用for 循环嵌套 for 循环结构清晰、不易出错多用于打印图形、二维数据、矩阵、表格等执行顺序口诀外层走一次内层跑一圈三、循环嵌套基本格式for (外层变量; 条件; 更新) { // 外层代码 for (内层变量; 条件; 更新) { // 内层代码 } }四、经典案例 1打印矩形用*打印一个 3 行 5 列的矩形。新手易错以为 break 能直接跳出所有循环实际上只能跳出自己所在那一层。十、循环嵌套常见错误总结十一、本章核心总结下期预告C 语言从 0 入门六一维数组详解 经典排序、查找实战下一篇我们进入数组的世界学习如何批量存储一组数据实现成绩统计、排序、查找等实用功能为后续函数、结构体打下基础依旧是 VS2022 全程实战零基础也能轻松跟上。外层循环控制行数3 行内层循环控制每行列数5 列#define _CRT_SECURE_NO_WARNINGS 1 #include stdio.h int main() { // 外层3行 for (int i 0; i 3; i) { // 内层每行5个* for (int j 0; j 5; j) { printf(*); } // 每行结束换行 printf(\n); } return 0; }运行结果***** ***** *****五、经典案例 2打印空心矩形只打印四条边中间为空。思路第一行、最后一行全部打印*中间行只在开头和结尾打印*中间打空格#define _CRT_SECURE_NO_WARNINGS 1 #include stdio.h int main() { int row 4; int col 6; for (int i 0; i row; i) { for (int j 0; j col; j) { // 第一行、最后一行 或 第一列、最后一列 if (i 0 || i row - 1 || j 0 || j col - 1) { printf(*); } else { printf( ); } } printf(\n); } return 0; }运行结果****** * * * * ******六、经典案例 3打印直角三角形打印 5 行直角三角形第 i 行打印 i 个*。#define _CRT_SECURE_NO_WARNINGS 1 #include stdio.h int main() { int n 5; for (int i 1; i n; i) { // 第 i 行打印 i 个 for (int j 1; j i; j) { printf(*); } printf(\n); } return 0; }运行结果* ** *** **** *****七、经典案例 4倒直角三角形只需把内层循环条件反过来即可。for (int i 5; i 1; i--) { for (int j 1; j i; j) { printf(*); } printf(\n); }结果***** **** *** ** *八、经典案例 5打印数字金字塔第 i 行打印 1~i 的数字#define _CRT_SECURE_NO_WARNINGS 1 #include stdio.h int main() { int n 5; for (int i 1; i n; i) { for (int j 1; j i; j) { printf(%d , j); } printf(\n); } return 0; }运行结果1 1 2 1 2 3 1 2 3 4 1 2 3 4 5九、嵌套循环中的 break 和 continuebreak只跳出当前所在的那一层循环不会影响外层循环。continue只跳过当前内层循环的本次进入内层下一次循环。内层、外层变量名相同如都用 i导致逻辑混乱忘记在内层循环结束后换行所有内容打在一行条件写反出现死循环或打印为空括号不匹配VS2022 报语法错误缩进混乱代码可读性极差自己都看不懂循环嵌套 外层控制行数内层控制每列内容执行顺序外层一次内层一圈打印图形三步走确定行数外层循环确定每行内容内层循环每行结束加换行双层 for 循环是最常用、最规范的写法复杂图形 循环 条件判断组合使用