当前位置: 首页 > news >正文

C++学习笔记(十一)——循环结构

循环结构的作用
循环结构用于重复执行某一代码块,直到满足特定条件后退出循环。
C++ 提供了以下三种循环结构:

  • for 循环(确定次数的循环)
  • while 循环(条件控制的循环)
  • do-while 循环(至少执行一次的循环)

此外,C++ 还提供了 breakcontinue 语句来控制循环流程。

一、for 循环

作用:
for 循环适用于确定循环次数的情况

语法:

for (初始化; 条件; 更新) {// 循环体
}

注意:

  • 初始化:在for循环开始前执行一次,且仅执行一次(如 int i = 0;)。
  • 条件:每次循环开始前检查,若为 true 则执行循环体,否则终止循环。
  • 更新:每次循环结束后执行(如 i++)。

示例 :计算 1 到 100 的累加和

#include <iostream>
using namespace std;int main() {int sum = 0;for (int i = 1; i <= 100; i++) {sum += i;}cout << "sum = " << sum << endl;system("pause");return 0;
}

二、 while 循环

作用:
while 循环适用于循环次数不确定,但需要根据条件控制循环的情况。

语法:

while (条件) {// 循环体
}

注意:

  • 条件:每次循环开始前检查,若为 true 则执行循环体,否则终止循环。

示例:输入一个正数,直到用户输入 0 或负数 退出

#include <iostream>
using namespace std;int main() {int num;cout << "输入一个正数(输入 0或负数 退出):";cin >> num;while (num > 0) {cout << "你输入的正数是:" << num << endl;cout << "输入一个正数(输入 0或负数 退出):";cin >> num;}system("pause");return 0;
}

三、 do-while 循环

作用:
do-while 循环至少执行一次,然后根据条件决定是否继续循环。

语法:

do {// 循环体
} while (条件);

注意:

  • 先执行一次循环体,然后检查 while 条件,若为 true 则继续循环。

示例:至少执行一次的用户输入

#include <iostream>
using namespace std;int main() {int num;do {cout << "输入一个正数(输入 0或负数 退出):";cin >> num;cout << "你输入的数是:" << num << endl;} while (num > 0);system("pause");return 0;
}

四、三种循环的对比

比较:

循环类型适用场景是否先判断条件是否至少执行一次
for循环次数确定(如遍历数组)
while循环次数不确定,但可能不执行
do-while至少执行一次,然后决定是否继续

示例:

#include <iostream>
using namespace std;int main() {int i = 1;// 输出1~3// for 循环cout << "for循环:";for (i = 1; i <= 3; i++) {cout << i << " ";}cout << endl;// while 循环i = 1;cout << "while循环:";while (i <= 3) {cout << i << " ";i++;}cout << endl;// do-while 循环i = 1;cout << "do-while循环:";do {cout << i << " ";i++;} while (i <= 3);cout << endl;system("pause");return 0;
}

五、 break 语句

作用:
用于提前终止循环

示例:用户输入 0或负数 时终止循环

#include <iostream>
using namespace std;int main() {int num;while (true) {  // 无限循环cout << "输入一个正数(输入 0或负数 退出):";cin >> num;if (num <= 0) {break;  // 终止循环}cout << "你输入的正数是:" << num << endl;}system("pause");return 0;
}

六、 continue 语句

作用:
用于跳过当前循环的剩余部分,直接进入下一次循环

示例:打印 1 到 10,但跳过 5

#include <iostream>
using namespace std;int main() {// 输出1~10,但跳过5for (int i = 1; i <= 10; i++) {if (i == 5) {continue;  // 跳过 5}cout << i << " ";}cout << endl;system("pause");return 0;
}

七、 其他循环

(1)嵌套循环

作用:
循环结构可以嵌套使用,例如输出乘法表

示例:九九乘法表

#include <iostream>
using namespace std;int main() {for (int i = 1; i <= 9; i++) {for (int j = 1; j <= i; j++) {cout << j << " × " << i << " = " << i * j << "\t";}cout << endl;}system("pause");return 0;
}

(2)无限循环

作用:
循环条件始终为 true,则进入无限循环

示例:for 实现无限循环

#include <iostream>
using namespace std;int main() {for (;;) // 等价于 while(true){cout << "无限循环..." << endl;}system("pause");return 0;
}

与以下代码等价:

#include <iostream>
using namespace std;int main() {while (true) {cout << "无限循环..." << endl;}system("pause");return 0;
}
http://www.lryc.cn/news/547620.html

相关文章:

  • 【C++】二叉树相关算法题
  • 物联网IoT系列之MQTT协议基础知识
  • 【大学生体质】智能 AI 旅游推荐平台(Vue+SpringBoot3)-完整部署教程
  • 【Node.js入门笔记1---初始Node.js)】
  • 自学Java-JavaSE基础加强(多线程)
  • 数字后端培训实战项目六大典型后端实现案例
  • 安卓免费多功能工具:一站式解决 PDF 阅读、编辑、转换等需求
  • diffuser库使用本地模型生成图像
  • 递归—基础算法
  • 全面复习回顾——C++语法篇2
  • 探秘基带算法:从原理到5G时代的通信变革【十】基带算法应用与对比
  • Linux | Vim 鼠标不能右键粘贴、跨系统复制粘贴
  • 无人机遥控器扩频技术解析!
  • Spring Boot API 项目中 HAProxy 与 Nginx 的选择与实践
  • OpenBMC:BmcWeb构造connect对象
  • ORB-SLAM2源码学习(六):相机跟踪(局部地图跟踪和关键帧创建)
  • WordPress使用(3)
  • Docker基础篇——什么是Docker与Docker的仓库、镜像、容器三大概念
  • Gitlab配置personal access token
  • 使用STM32CubeMX实现LED灯每秒闪烁一次(STM32G070CBT6单片机)
  • django中路由配置规则的详细说明
  • 游戏引擎学习第138天
  • 测试理论快速入门
  • 【PostgreSQL】如何免密使用PostgreSQL数据库内置工具
  • 模块15.常用API
  • 5c/c++内存管理
  • python实现的可爱卸载动画
  • 微服务的春天:基于Spring Boot的架构设计与实践
  • *VulnHub-FristiLeaks:1.3暴力解法、细节解法,主打软硬都吃,隧道搭建、寻找exp、提权、只要你想没有做不到的姿势
  • OpenCV 颜色空间:原理与操作指南