C++循环结构教程

一、引言

在 C++编程中,循环结构允许我们重复执行一段代码,直到满足特定的条件。这对于处理重复性任务、遍历数据集合或进行迭代计算等操作非常有用。本教程将介绍 C++中的三种主要循环结构:for循环、while循环和 do-while循环,以及它们的使用方法和应用场景。

二、for 循环

(一)基本的 for 循环

for循环通常用于已知循环次数的情况,其语法如下:

#include <bits/stdc++.h>
using namespace std;

int main() {
    // 从 0 到 4 进行循环
    for (int i = 0; i < 5; ++i) {
        cout << i << " ";
    }
    cout << endl;
    return 0;
}

在上述代码中,for循环的三个部分:

  • int i = 0:初始化部分,定义并初始化循环变量 i 为 0。
  • i < 5:条件部分,只要该条件为真,循环将继续执行。
  • ++i:迭代部分,每次循环结束后,i 的值将增加 1。

(二)使用 for 循环遍历数组

for循环可以方便地遍历数组元素。

#include <bits/stdc++.h>
using namespace std;

int main() {
    int arr[] = {1, 2, 3, 4, 5};
    int size = sizeof(arr) / sizeof(arr[0]);
    // 遍历数组元素
    for (int i = 0; i < size; ++i) {
        cout << arr[i] << " ";
    }
    cout << endl;
    return 0;
}

这里,sizeof(arr) / sizeof(arr[0]) 计算数组的元素数量。循环变量 i 作为数组的索引,从 0 开始,依次访问数组的每个元素。

(三)for-each 循环(C++11 及以上)

对于 C++11 及以上的标准,可以使用基于范围的 for 循环(for-each 循环)更简洁地遍历数组或容器。

#include <bits/stdc++.h>
using namespace std;

int main() {
    int arr[] = {1, 2, 3, 4, 5};
    // 使用 for-each 循环遍历数组
    for (int num : arr) {
        cout << num << " ";
    }
    cout << endl;
    return 0;
}

在这个 for-each 循环中,num 依次代表数组 arr 中的每个元素,无需使用索引。

三、while 循环

(一)基本的 while 循环

while循环在条件为真时重复执行代码,适用于不确定循环次数的情况。

#include <bits/stdc++.h>
using namespace std;

int main() {
    int i = 0;
    // 当 i 小于 5 时,执行循环
    while (i < 5) {
        cout << i << " ";
        ++i;
    }
    cout << endl;
    return 0;
}

只要 i < 5 这个条件成立,循环将继续执行,每次循环后 i 的值会增加 1。

(二)使用 while 循环读取输入

可以使用 while 循环读取输入,直到满足特定条件。

#include <bits/stdc++.h>
using namespace std;

int main() {
    int num;
    // 不断读取输入,直到输入为 0
    cout << "请输入数字(输入 0 结束):" << endl;
    cin >> num;
    while (num!= 0) {
        cout << "输入的数字是:" << num << endl;
        cin >> num;
    }
    return 0;
}

此代码将持续读取用户输入的数字并输出,直到用户输入 0。

四、do-while 循环

(一)基本的 do-while 循环

do-while循环至少会执行一次,因为它先执行代码块,再检查条件。

#include <bits/stdc++.h>
using namespace std;

int main() {
    int i = 0;
    // 先执行代码块,再检查条件
    do {
        cout << i << " ";
        ++i;
    } while (i < 5);
    cout << endl;
    return 0;
}

代码块先执行一次,然后检查 i < 5 的条件,若为真,则继续循环。

(二)使用 do-while 循环进行菜单操作

do-while循环可用于实现菜单操作,确保菜单至少显示一次。

#include <bits/stdc++.h>
using namespace std;

int main() {
    int choice;
    do {
        cout << "1. 显示信息" << endl;
        cout << "2. 退出" << endl;
        cout << "请输入你的选择:";
        cin >> choice;
        switch (choice) {
            case 1:
                cout << "显示信息..." << endl;
                break;
            case 2:
                cout << "退出程序" << endl;
                break;
            default:
                cout << "无效的选择,请重新输入。" << endl;
        }
    } while (choice!= 2);
    return 0;
}

这个 do-while 循环将持续显示菜单并处理用户的选择,直到用户选择退出(输入 2)。

五、循环控制语句

(一)break 语句

break语句可以提前终止循环。

#include <bits/stdc++.h>
using namespace std;

int main() {
    for (int i = 0; i < 10; ++i) {
        if (i == 5) {
            break; // 当 i 等于 5 时,终止循环
        }
        cout << i << " ";
    }
    cout << endl;
    return 0;
}

i 等于 5 时,break 语句将终止 for 循环。

(二)continue 语句

continue语句可以跳过本次循环的剩余部分,直接进入下一次迭代。

#include <bits/stdc++.h>
using namespace std;

int main() {
    for (int i = 0; i < 10; ++i) {
        if (i % 2 == 0) {
            continue; // 跳过偶数
        }
        cout << i << " ";
    }
    cout << endl;
    return 0;
}

在这个例子中,当 i 是偶数时,continue 语句将跳过 cout << i << " ";,直接开始下一次迭代。

六、总结

通过本教程,我们学习了 C++中的三种主要循环结构:for循环、while循环和 do-while循环,以及循环控制语句 breakcontinue。这些循环结构和控制语句可以帮助你实现各种重复操作和迭代计算。根据不同的任务需求,选择合适的循环结构和控制语句,可以使程序更简洁、高效。在实际编程中,熟练掌握这些循环结构对于解决各种复杂问题至关重要。如果还有其他问题或需要进一步的帮助,请随时联系我。

这个文档详细介绍了 C++中的循环结构,包括它们的使用方法、应用场景和相应的代码示例。希望它能帮助你更好地理解和运用 C++的循环结构,写出更强大的程序。

0 条评论

目前还没有评论...