news 2026/4/15 13:57:49

循环结构的核心语法和执行逻辑是什么?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
循环结构的核心语法和执行逻辑是什么?

一、循环结构的核心共性

所有循环的本质都是:满足条件时重复执行一段代码,条件不满足时终止循环。核心要素包括:

  1. 初始化:给循环变量赋初始值(仅执行一次);
  2. 条件判断:决定是否继续循环的核心(布尔表达式,0 为假 / 非 0 为真);
  3. 循环体:需要重复执行的代码块;
  4. 更新 / 迭代:修改循环变量,避免无限循环(do-while 需手动写在循环体中)。

二、三种循环的核心语法 + 执行逻辑

1. for 循环(已知循环次数,最常用)
核心语法

cpp

运行

for (初始化表达式; 条件表达式; 更新表达式) { 循环体; // 可包含break/continue }
执行逻辑(固定五步,闭环执行)

关键细节

  • 初始化表达式仅在循环开始时执行一次(如int i=1);
  • 条件表达式为真才会执行循环体,为假直接终止;
  • 更新表达式(如i++)在循环体执行完后才执行;
  • 示例(计算 1-5 的和):

    cpp

    运行

    int sum = 0; for (int i=1; i<=5; i++) { // 初始化:i=1 → 判断:i<=5 → 循环体:sum+=i → 更新:i++ sum += i; } // 执行步骤:i=1(sum=1) → i=2(sum=3) → i=3(sum=6) → i=4(sum=10) → i=5(sum=15) → i=6(条件假,终止)
2. while 循环(未知循环次数,先判断后执行)
核心语法

cpp

运行

// 初始化通常写在while外 初始化表达式; while (条件表达式) { 循环体; // 必须包含更新表达式,否则无限循环 }
执行逻辑(无固定初始化步骤,先判断再执行)

关键细节

  • 初始化在循环外执行,仅一次;
  • 若初始条件为假,循环体一次都不会执行
  • 必须在循环体中手动写更新逻辑(如i++),否则会无限循环;
  • 示例(猜数字):

    cpp

    运行

    int guess, target=7; cin >> guess; // 初始化:输入第一个猜测值 while (guess != target) { // 先判断:输入≠7则循环 cout << "猜错,再试:"; cin >> guess; // 更新:重新输入(循环体中) }
3. do-while 循环(至少执行一次,先执行后判断)
核心语法

cpp

运行

// 初始化写在do外 初始化表达式; do { 循环体; // 必须包含更新表达式 } while (条件表达式); // 末尾必须加;
执行逻辑(先执行,后判断,保底执行一次)

关键细节

  • 无论条件是否为真,循环体至少执行一次(核心区别于 while);
  • 条件表达式后的分号;不能省略;
  • 更新逻辑仍需写在循环体中;
  • 示例(强制输入正数):

    cpp

    运行

    int num; do { cout << "输入正数:"; cin >> num; // 先执行输入(哪怕输入负数) } while (num <= 0); // 输入≤0则重新执行循环体

三、循环控制语句对执行逻辑的影响

  1. break:立即终止当前循环,直接跳转到循环外的后续代码(中断整个循环流程);示例:for(int i=1;i<=5;i++){if(i==3) break;}→ 循环在 i=3 时终止,仅执行 2 次。
  2. continue:跳过本次循环剩余的代码,直接执行 “更新表达式”(for)或 “条件判断”(while/do-while),不终止整个循环;示例:for(int i=1;i<=5;i++){if(i==3) continue; cout<<i;}→ 跳过 i=3,输出 1 2 4 5。

总结

  1. for 循环:语法紧凑,初始化 / 条件 / 更新一体化,适合已知循环次数(如遍历 1-100);
  2. while 循环:语法灵活,适合未知循环次数,但初始条件为假时循环体不执行;
  3. do-while 循环:唯一 “先执行后判断” 的循环,确保循环体至少执行一次
  4. 所有循环的核心:必须通过 “更新逻辑” 改变循环变量,否则会陷入无限循环。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/11 2:47:00

为什么选ms-swift?Qwen2.5-7B微调框架对比评测

为什么选ms-swift&#xff1f;Qwen2.5-7B微调框架对比评测 在当前大模型快速迭代的背景下&#xff0c;如何高效、低成本地完成模型微调&#xff0c;成为开发者和企业关注的核心问题。尤其是对于像 Qwen2.5-7B 这类参数量适中但能力强大的模型&#xff0c;选择一个合适的微调框…

作者头像 李华
网站建设 2026/4/8 6:38:56

Qwen3-Embedding-0.6B低配GPU运行?模型裁剪优化实战

Qwen3-Embedding-0.6B低配GPU运行&#xff1f;模型裁剪优化实战 你是不是也遇到过这样的问题&#xff1a;想在显存只有8GB甚至6GB的消费级显卡&#xff08;比如RTX 3060、RTX 4070&#xff09;上跑一个靠谱的嵌入模型&#xff0c;结果刚加载Qwen3-Embedding-0.6B就报OOM——“…

作者头像 李华
网站建设 2026/4/10 9:39:59

如何选择TTS硬件配置?RTX 3080及以上显卡部署实测数据

如何选择TTS硬件配置&#xff1f;RTX 3080及以上显卡部署实测数据 1. 引言&#xff1a;为什么语音合成也需要“高性能”&#xff1f; 你有没有遇到过这种情况&#xff1a;输入一段文字&#xff0c;想让AI用温柔、坚定或活泼的语气读出来&#xff0c;结果等了半分钟&#xff0…

作者头像 李华
网站建设 2026/4/8 20:58:12

多人脸场景能用吗?科哥UNet实际测试结果来了

多人脸场景能用吗&#xff1f;科哥UNet实际测试结果来了 1. 开篇直击&#xff1a;多人脸不是禁区&#xff0c;但得看怎么用 很多人拿到科哥这个UNet人脸融合镜像的第一反应是&#xff1a;“我有张合照&#xff0c;能一键把所有人脸都换掉吗&#xff1f;” 答案很实在——不能…

作者头像 李华
网站建设 2026/4/11 7:10:35

如何做压力测试?DeepSeek-R1-Distill-Qwen-1.5B并发请求模拟实战

如何做压力测试&#xff1f;DeepSeek-R1-Distill-Qwen-1.5B并发请求模拟实战 你刚把 DeepSeek-R1-Distill-Qwen-1.5B 模型搭好 Web 服务&#xff0c;界面跑起来了&#xff0c;单次提问也流畅——但心里总有点不踏实&#xff1a;如果同时来 20 个用户问数学题&#xff0c;30 个…

作者头像 李华