根据下面代码和结果回答下面的问题。数组的遍历方法有哪3种呢?第一种、while循环方式。第二种、for循环方式。第三种、高级for循环写法。即通过临时变量,在每一次循环体种,记录数组的每一个元素。

问题描述:

根据下面代码和结果回答下面的问题。数组的遍历方法有哪3种呢?第一种、while循环方式。第二种、for循环方式。第三种、高级for循环写法。即通过临时变量,在每一次循环体种,记录数组的每一个元素。数组有几个元素,循环体就执行几次。

代码

// Created by 黑马程序员.
#include "iostream"
using namespace std;

/*
 * 获取数组长度: sizeof(数组对象) / sizeof(数组某个元素)
 *
 * 高级for循环获取数组每个元素:
 * for (元素类型 临时变量: 数组变量)
 * {
 *      临时变量即数组元素;
 * }
 *
 */
int main()
{
    int arr[] = {1, 2, 3, 4, 5};

    // while
    int i = 0;  // 控制因子(循环中作为下标)从0开始
    while (i < sizeof(arr) / sizeof(arr[0]))
    {
        cout << "while循环取出内容:" << arr[i] << endl;
        i++;
    }

    // for
    for (int i = 0; i < sizeof(arr) / sizeof(arr[0]); i++)
    {
        cout << "for循环取出内容:" << arr[i] << endl;
    }

    // for 的高级写法
    for (int element: arr)
    {
        cout << "高级for循环取出内容:" << element << endl;
    }

    return 0;
}

结果

D:\CLion_code\cmake-build-debug\CLion_code.exe
while循环取出内容:1
while循环取出内容:2
while循环取出内容:3
while循环取出内容:4
while循环取出内容:5
for循环取出内容:1
for循环取出内容:2
for循环取出内容:3
for循环取出内容:4
for循环取出内容:5
高级for循环取出内容:1
高级for循环取出内容:2
高级for循环取出内容:3
高级for循环取出内容:4
高级for循环取出内容:5

Process finished with exit code 0

问题解答:

在C++中,数组的遍历有三种常见的方法:

1. while 循环方式

通过 while 循环,使用控制因子 i 从 0 开始,逐一遍历数组的每一个元素,直到达到数组的长度。

int i = 0;
while (i < sizeof(arr) / sizeof(arr[0])) {
    cout << "while循环取出内容:" << arr[i] << endl;
    i++;
}

解释:在这个 while 循环中,i 用来表示数组的下标,从 0 开始,每次循环都递增 1,直到 i 达到数组的长度。sizeof(arr) / sizeof(arr[0]) 用于计算数组的长度。

2. for 循环方式

通过 for 循环,使用下标从 0 到数组的最后一个元素,依次访问数组中的每个元素。

for (int i = 0; i < sizeof(arr) / sizeof(arr[0]); i++) {
    cout << "for循环取出内容:" << arr[i] << endl;
}

解释for 循环结构较为紧凑,通过下标 i 访问数组中的每一个元素,从 0 到 sizeof(arr) / sizeof(arr[0]) - 1,即遍历整个数组。

3. 高级 for 循环写法(范围 for 循环)

C++11 引入的范围 for 循环,直接遍历数组中的每个元素,避免了显式使用下标,语法更加简洁。

for (int element : arr) {
    cout << "高级for循环取出内容:" << element << endl;
}

解释:在这个高级 for 循环中,每次循环都会将数组中的一个元素赋值给 element 变量,循环的次数等于数组的长度,代码简洁且易读。

结果与说明

运行代码后的输出结果显示:

  • while 循环、for 循环和高级 for 循环都能够正确地遍历数组中的每个元素,并依次输出数组内容。
  • 三种方法的主要区别在于代码的写法和复杂度:
    • while 循环更灵活,但需要手动管理循环变量。
    • for 循环更加简洁和结构化,适用于已知遍历次数的情况。
    • 高级 for 循环写法是最简洁的,直接操作数组元素而不需要显式的下标,是遍历数组的推荐方式。

 

 

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

神笔馬良

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值