最新消息:XAMPP默认安装之后是很不安全的,我们只需要点击左方菜单的 "安全"选项,按照向导操作即可完成安全设置。

那些年C++ 流程控制for 循环

XAMPP相关 admin 84浏览 0评论

第八章:C++ for 循环

此篇教程中,我们将借助一些示例程序来了解 C++ for 循环及其工作原理。

在计算机编程中,循环是用于执行重复的代码块。

例如,假设我们要显示一条消息 100 次。然后我们可以使用循环而不是编写 100 次打印语句。

上例只不过是一个简单的例子;然后,通过有效地利用循环,可以在我们的程序中实现更高的效率和复杂性。

C++ 中有 3 种类型的循环:

  • for 循环
  • while 循环
  • do...while 循环

此篇教程重点介绍 C++ for 循环。我们将在后续篇|教程中了解其他类型的循环。


C++ for 循环

for循环基本语法:

for (initialization; condition; update)

{

    // 循环体
}

以上,

  • initialization - 初始化变量并且只执行一次
  • condition - 如果为 true,则执行 for 循环体,如果为 false,则 for 循环终止
  • update - 更新初始化变量的值并再次检查其条件

了解更多关于 conditions, 请翻阅前面的教程 C++关系和逻辑运算符


C++ for 循环流程图

dra97

C++ for 循环流程图

示例 1:打印从1到5的数字

#include <iostream>
using namespace std;

int main() {
        for (int i = 1; i <= 5; ++i) {
        cout << i << " ";
    }
    return 0;
}

输出:

1 2 3 4 5

以下为此段C++程序的工作过程:

迭代次 变量 i <= 5 执行动作
1st i = 1 true 1 被打印, i 增加至 2.
2nd i = 2 true 2 被打印,i 增加至 3.
3rd i = 3 true 3 被打印,i 增加至 4.
4th i = 4 true 4 被打印,i 增加至 5.
5th i = 5 true 5 被打印,i 增加至 6.
6th i = 6 false 循环终止

示例 2:显示打印文本5次

// 显示打印文本5次的程序

#include <iostream>
using namespace std;

int main() {
    for (int i = 1; i <= 5; ++i) {
        cout <<  "你打印了我! " << endl;
    }
    return 0;
}

输出:

你打印了我!
你打印了我!
你打印了我!
你打印了我!
你打印了我!

以下为此段程序的工作过程:

迭代次 变量 i <= 5 执行动作
1st i = 1 true 你打印了我! 被打印且 i 增加至 2.
2nd i = 2 true 你打印了我! 被打印且 i 增加至 3.
3rd i = 3 true 你打印了我! 被打印且 i 增加至 4.
4th i = 4 true 你打印了我! 被打印且 i 增加至 5.
5th i = 5 true 你打印了我! 被打印且 i 增加至 6.
6th i = 6 false 循环终止

示例 3:求前n个自然数之和

// 求前n个自然数之和的C++程序
// 正整数,例如1,2,3,...n被称为自然数

#include <iostream>
using namespace std;

int main() {
    int num, sum;
    sum = 0;

    cout << "请输入一个正整数num: ";
    cin >> num;

    for (int i = 1; i <= num; ++i) {
        sum += i;
    }

    cout << "Sum = " << sum << endl;

    return 0;
}

输出:

请输入一个正整数num: 10
Sum = 55

在上面的示例程序中,有两个变量numsumsum变量赋值为0num变量赋值为用户提供的输入值。

注意:上述使用的 for 循环:

for(int i = 1; i <= num; ++i)

此段解释如下:

  • int i = 1: 初始化 i 变量
  • i <= num: 只要 i 小于或等于num就运行for循环体代码
  • ++i: 在每次迭代中,将 i 变量增加 1

i变成11时,conditionfalsesum 将等于 0 + 1 + 2 + ... + 10


基于范围的for循环

在C++11中,引入了一个新的基于范围的 for循环,来处理数组和向量等集合,其语法如下:

for (variable : collection) {
    // 循环体
}

此处,对于 collection 中的每个值, 都会执行for循环并将值分配给 variable


示例 4:基于范围的for循环

#include <iostream>
using namespace std;

int main() {

    int num_array[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

    for (int n : num_array) {
        cout << n << " ";
    }

    return 0;
}

输出:

1 2 3 4 5 6 7 8 9 10

在上面的程序中,我们已经声明并初始化了一个名为 num_arrayint 数组(它有10项值)。

在此,我们使用了基于范围的 for 循环来访问数组中的所有项的值。


C++ 无限循环

如果 for 循环中的 condition 始终为 true,则它将永远运行(直到内存已满)。例如:

// 无限循环
for(int i = 1; i > 0; i++) {
    // 代码块
}

在上面的程序中, condition 始终为 true ,然后将无限次运行代码块。

在下篇教程中,我们将学习知识点: while 和 do...while循环……

 

程序算法实验室 zhangJA-Lab

转载请注明:XAMPP中文组官网 » 那些年C++ 流程控制for 循环