C++中,while循环是一种基本的循环控制结构,用于反复执行一段代码,直到指定的条件不再满足。while循环会在每次迭代开始前检查条件,如果条件为真,循环体将被执行;否则,循环结束。以处理需要重复处理的相同任务,执行语句可以是单个语句或语句块。本文主要介绍一下C++中while循环的使用。

1、循环

只要达到指定条件,循环就可以执行代码块。循环很方便,因为它们可以节省时间,减少错误并且使代码更具可读性。

循环是一种控制结构,用于反复执行一段代码,直到满足某种条件。循环在许多编程场景中被广泛使用,如遍历数组、处理数据、实现算法等。

2、C++ while 循环

只要指定条件为truewhile循环就会循环遍历一段代码:

语法

while (condition) 
{   
     // 要执行的代码块
 }

在下面的示例中,只要变量(i)小于5,循环中的代码就会一次又一次地运行:

例如:

#include <iostream>
using namespace std;

int main() {
    int i = 1;

    while (i <= 5) {
        cout << i << " ";
        i++;
    }

    return 0;
}

注意:一定要改变while条件中使用的变量,否则循环将不会结束。

3、do while 循环语句

do-while循环是一种后测试循环结构,保证循环体至少执行一次,然后再检查条件是否满足。即使条件一开始为假,do-while循环也会先执行一次循环体,然后再判断是否继续。

语法

do {
  // 要执行的代码块
}
while (condition);

下面的示例使用do while循环。即使while条件为false,循环也将至少执行一次,因为代码块是在条件判断之前执行的:

例如,

#include <iostream>
using namespace std;

int main() {
    int i = 1;

    do {
        cout << i << " ";
        i++;
    } while (i <= 5);

    return 0;
}

注意:不要忘记改变条件中使用的变量,否则循环将会一直执行下去,不会结束。

4、break 关键字

C++中,while循环语句与break语句的结合使用可以让我们在特定条件满足时退出循环。break用于立即中断循环,无论循环条件是否为真。

break 跳出最里层的循环,并且继续执行该循环下面的语句。

例如,

#include <iostream>
using namespace std;

int main() {
    int count = 0;

    // while循环,初始条件为true,因此循环会一直执行
    while (true) {
        cout << "Count is: " << count << endl;
        count++;

        // 如果 count 达到 5,使用 break 语句退出循环
        if (count == 5) {
            cout << "Breaking out of the loop as count reached 5." << endl;
            break;  // 立即中断循环
        }
    }

    cout << "Loop ended." << endl;
    return 0;
}

5、continue 关键字

C++中,continue语句用于跳过当前循环迭代中的剩余代码,直接进入下一次循环迭代。在while循环中,continue语句会使程序立即跳回到循环条件的检查部分,而不执行continue之后的语句。

在 while 或者 do while 循环中,程序立即跳转到表达式的判断语句。

#include <iostream>

int main() {
    int i = 0;

    while (i < 10) {
        i++; // 增加 i 的值

        // 如果 i 是偶数,跳过本次循环迭代
        if (i % 2 == 0) {
            continue;
        }

        // 打印 i 的值(仅奇数会被打印)
        std::cout << "i = " << i << std::endl;
    }

    return 0;
}

6、使用示例

输入数字并求和,直到输入负数停止,用户可以输入一组正数进行累加求和。当用户输入0时,跳过该迭代;当用户输入负数时,停止输入并输出总和。

#include <iostream>
using namespace std;

int main() {
    int number;
    int sum = 0;

    do {
        cout << "Enter a positive number (negative number to stop): ";
        cin >> number;

        if (number < 0) {
            // 当输入负数时,退出循环
            break;
        }

        if (number == 0) {
            // 如果输入0,跳过本次循环,继续下一个迭代
            continue;
        }

        // 累加输入的数字
        sum += number;

    } while (true); // 无限循环,直到 break 终止

    cout << "Total sum of positive numbers: " << sum << endl;

    return 0;
}

推荐文档