前言今天学习的内容是三种循环的区别和使用场景、控制循环的关键字以及断点调试。以前写循环基本靠“想起来哪个用哪个”今天把选择标准整理清楚后发现思路比背语法更重要。本篇文章要解决三个问题for、while、do-while到底什么时候用break、continue、return对循环分别做了什么循环结果不对时怎么用断点快速找到问题学习思路为了把循环用对我先比较三种循环的执行时机再理解控制关键字的跳转范围最后用一个求和程序打断点验证整个流程。比较循环结构 - 区分控制关键字 - 打断点观察变量 - 修正问题前置知识需要会变量、printf、基本的if判断。不需要会指针、结构体、复杂数据结构。建议先看C语言的数据类型和运算符基础。核心内容1. 三种循环的区别和使用场景先记住一个判断顺序如果执行次数确定优先用for如果次数不确定但条件明确用while如果至少要执行一次用do-while。循环判断时机至少执行几次适合场景for先判断0 次知道循环次数while先判断0 次次数未知满足条件才继续do-while后判断1 次必须先执行一次再判断代码关键结论for管次数while管条件do-while管“至少一次”。2. 控制循环的关键字break跳出当前循环continue跳过本次循环的剩余代码return直接结束整个函数。运行结果Hello 0 Hello 1运行结果:Hello 1Hello 2Hello 4Hello 5Hello 7Hello 8关键结论break管跳出continue管跳过return管收尾放在循环里的位置会直接影响程序是否死循环。3. 断点调试断点调试不是只有报错时才用而是理解程序运行过程最直接的方法。只靠printf加猜测循环次数多时很容易漏掉问题。调试步骤在循环体第一行设置断点。点击“单步执行”逐行运行。每次进入循环时查看循环变量和累加结果。观察条件在什么时候由真变假。重点检查三个位置循环条件、变量更新、break或continue的跳转。关键结论打断点后不要只盯着代码看要看“变量实际是多少、哪一行跳过了、什么时候退出循环”。动手实践实验目标用for循环求1到100的和再用断点观察i和sum的变化。开发环境开发工具VS Code 或 Keil支持 C 调试即可编译器GCC 或 Keil 自带编译器运行方式本地运行或开发板串口输出操作步骤新建 C 文件输入下面的求和程序。在sum i;这一行设置断点。启动调试逐行执行。观察i从1增加到100sum每次都累加。当i变为101时循环条件为假程序退出循环。完整代码运行结果sum5050结果说明i从1开始执行到100后结束所以循环体执行了100次。如果断点显示i一直没有变化说明变量更新语句可能被continue跳过了。可以把for改成while再写一遍加深对三种循环差异的理解。踩坑记录现象原因解决办法程序一直运行不结束循环变量没有更新检查更新语句是否被continue跳过do-while编译报错漏写了结尾分号补上while(条件);的分号断点后看不到关键变化断点打在printf后面把断点移到循环条件和变量更新处循环次数比预期少一次判断条件边界写错用断点观察最后一次进入循环时变量的值总结我掌握了用“次数确定、条件确定、至少一次”来选择for、while、do-while。我掌握了break跳出循环continue跳过本次return结束函数。我掌握了循环调试要看变量值而不是只看代码逻辑。我还需要弄清楚多层循环嵌套时break只能跳出当前一层。下篇预告下一篇会写一些关于本章的题目