C++ 循环语句从入门到实战:超详细教程

一、循环语句的核心作用

在编程中,我们经常需要重复执行某些操作,比如:

  • 计算 1 到 100 的和(重复加法运算)
  • 遍历数组中的每个元素(重复访问操作)
  • 处理用户输入直到满足退出条件(重复交互操作)

这时候就需要用到循环语句。C++ 提供了三种基本循环结构:for循环、while循环和do-while循环。本文将通过大量图解和示例,带你彻底掌握循环的使用方法。

二、for 循环:最常用的计数循环

2.1 语法结构

 
1  for(初始化表达式; 条件表达式; 更新表达式) {

2  循环体语句;

3  }
  1. 首先执行初始化表达式(仅执行一次)
  1. 检查条件表达式是否为真:
    • 为真:执行循环体,然后执行更新表达式,回到步骤 2
    • 为假:退出循环

2.2 经典示例:计算 1-100 的和

 
#include <iostream>

using namespace std;

int main() {

int sum = 0;

for(int i = 1; i <= 100; i++) { // i从1到100

sum += i; // 累加当前i的值

}

cout << "1-100的和为:" << sum << endl; // 输出5050

return 0;

}

2.3 灵活用法

  • 初始化表达式可省略:
int i = 1;

for(; i <= 10; i++) { ... }
  • 更新表达式可包含多个操作:
 

for(int i=0, j=10; i<j; i++, j--) { ... } // 相向移动

三、while 循环:条件驱动的循环

3.1 语法结构

 
初始化语句;

while(条件表达式) {

循环体语句;

更新语句;

}
  1. 先执行初始化语句(外部完成)
  1. 检查条件表达式:
    • 为真:执行循环体和更新语句,回到步骤 2
    • 为假:退出循环

3.2 示例:打印 1-5 的平方

 
#include <iostream>

using namespace std;

int main() {

int num = 1;

while(num <= 5) {

cout << num << "的平方是:" << num * num << endl;

num++; // 关键:必须包含更新条件,否则会无限循环

}

return 0;

}

3.3 注意事项

  • 一定要包含使条件最终为假的更新语句,否则会形成死循环
  • 适用于不确定循环次数,只知道终止条件的场景,比如:
 
while(userInput != 'q') { // 直到用户输入q才退出

获取用户输入;

}

四、do-while 循环:先执行后判断

4.1 语法结构

 
do {

循环体语句;

更新语句;

} while(条件表达式); // 注意末尾的分号!
  1. 先执行一次循环体和更新语句
  1. 检查条件表达式:
    • 为真:回到步骤 1 继续执行
    • 为假:退出循环

4.2 示例:至少执行一次的密码验证

 
#include <iostream>

#include <string>

using namespace std;

int main() {

string password;

do {

cout << "请输入密码(至少6位):";

cin >> password;

} while(password.length() < 6); // 密码不合法时继续循环

cout << "密码设置成功!" << endl;

return 0;

}

4.3 与 while 循环的区别

特性

while 循环

do-while 循环

执行顺序

先判断后执行

先执行后判断

最少执行次数

0 次

1 次

五、循环控制语句:break 和 continue

5.1 break 语句

  • 作用:立即终止当前循环,跳出循环体
  • 示例:找到第一个偶数
 
for(int i=1; i<=10; i++) {

if(i % 2 == 0) {

cout << "第一个偶数是:" << i << endl; // 输出2

break; // 找到后立即退出循环

}

}

5.2 continue 语句

  • 作用:跳过本次循环的剩余语句,直接进入下一次循环
  • 示例:打印 1-10 中的奇数
 
for(int i=1; i<=10; i++) {

if(i % 2 == 0) {

continue; // 遇到偶数就跳过本次循环

}

cout << i << " "; // 输出1 3 5 7 9

}

六、嵌套循环:循环中的循环

6.1 基本概念

一个循环体内包含另一个循环,称为嵌套循环。常见场景:

  • 打印二维表格
  • 遍历二维数组
  • 实现排序算法(如冒泡排序)

6.2 示例:打印九九乘法表

 
#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; // 每行结束换行

}

return 0;

}

6.3 执行流程

外层循环每执行一次,内层循环会完整执行一轮。总执行次数 = 外层次数 × 内层次数。

七、循环使用最佳实践

  1. 选择合适的循环类型
    • 已知循环次数:优先使用 for 循环
    • 未知次数但知道终止条件:使用 while 循环
    • 需要至少执行一次:使用 do-while 循环
  1. 避免死循环
    • 确保条件表达式最终会变为 false
    • 调试时可设置循环次数上限
  1. 简化循环逻辑
    • 循环体尽量保持简洁,复杂逻辑可封装成函数
    • 合理使用 break/continue 优化流程
  1. 循环变量作用域
    • for 循环的初始化变量(如 int i=0)作用域仅限于循环体

八、常见面试题解析

题目:用三种循环实现 1-100 的奇数和

8.1 for 循环实现

 
int sum = 0;

for(int i=1; i<=100; i+=2) {

sum += i;

}

8.2 while 循环实现

 
int sum = 0, i=1;

while(i <= 100) {

sum += i;

i += 2;

}

8.3 do-while 循环实现

 
int sum = 0, i=1;

do {

sum += i;

i += 2;

} while(i <= 100);

九、总结

三种循环的核心区别:

循环类型

执行顺序

适用场景

for 循环

先判断后执行

计数循环(已知次数)

while 循环

先判断后执行

条件循环(未知次数)

do-while

先执行后判断

至少执行一次的循环

掌握循环语句是编写高效程序的基础,建议通过以下方式巩固:

  1. 手动推导循环执行流程
  1. 编写不同场景的循环代码(如质数判断、斐波那契数列)
  1. 调试时观察循环变量的变化过程

通过反复练习,你会对循环的使用越来越得心应手!如果有任何疑问,欢迎在评论区留言讨论~

求个三连!!!🥺

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值