9. 一维数组——编程世界的数据“收纳盒”

9.1 为什么需要一维数组

在编程中,我们常常需要处理一组相同类型的数据。例如,要记录一个班级 50 名学生的考试成绩,如果为每个学生的成绩都定义一个单独的变量,那会非常繁琐,而且不利于统一管理和操作。这时,一维数组就派上用场了。一维数组就像是一个“收纳盒”,可以把多个相同类型的数据依次存放在一起,方便我们对这些数据进行批量处理。

9.2 一维数组的定义和初始化

定义数组 在 C++ 中,定义一维数组的基本语法是:数据类型 数组名[数组大小]; 其中,数据类型指定了数组中元素的类型,数组名是数组的标识符,数组大小表示数组中元素的个数,必须是一个常量表达式。

示例代码

#include <iostream>
using namespace std;

int main() {
    // 定义一个包含 5 个整数的数组
    int scores[5];
    return 0;
}

在这个程序中,定义了一个名为 scores 的整数数组,它可以存储 5 个整数。

初始化数组 数组可以在定义时进行初始化,有以下几种常见的初始化方式:

  • 全部元素初始化
#include <iostream>
using namespace std;

int main() {
    // 全部元素初始化
    int scores[5] = {80, 85, 90, 95, 100};
    return 0;
}

在这个程序中,定义了一个包含 5 个整数的数组 scores,并将其元素依次初始化为 80、85、90、95 和 100。

  • 部分元素初始化
#include <iostream>
using namespace std;

int main() {
    // 部分元素初始化,未初始化的元素自动初始化为 0
    int scores[5] = {80, 85};
    return 0;
}

在这个程序中,只初始化了数组 scores 的前两个元素,后三个元素会自动初始化为 0。

  • 省略数组大小初始化
#include <iostream>
using namespace std;

int main() {
    // 省略数组大小,编译器会根据初始化列表的元素个数确定数组大小
    int scores[] = {80, 85, 90, 95, 100};
    return 0;
}

在这个程序中,省略了数组 scores 的大小,编译器会根据初始化列表中元素的个数确定数组的大小为 5。

9.3 访问数组元素

数组中的元素可以通过下标来访问,下标从 0 开始。例如,对于一个包含 n 个元素的数组,其下标范围是 0 到 n - 1

示例代码

#include <iostream>
using namespace std;

int main() {
    int scores[5] = {80, 85, 90, 95, 100};
    // 访问数组的第一个元素
    cout << "第一个学生的成绩是: " << scores[0] << endl;
    // 访问数组的第三个元素
    cout << "第三个学生的成绩是: " << scores[2] << endl;
    return 0;
}

在这个程序中,通过下标 0 访问数组的第一个元素,通过下标 2 访问数组的第三个元素。

9.4 遍历数组

遍历数组就是依次访问数组中的每个元素。通常使用循环来实现数组的遍历。

示例代码

#include <iostream>
using namespace std;

int main() {
    int scores[5] = {80, 85, 90, 95, 100};
    // 使用 for 循环遍历数组
    for (int i = 0; i < 5; i++) {
        cout << "第 " << i + 1 << " 个学生的成绩是: " << scores[i] << endl;
    }
    return 0;
}

在这个程序中,使用 for 循环遍历数组 scores,依次输出每个学生的成绩。

9.5 数组作为函数参数

数组可以作为函数的参数传递,这样可以在函数中对数组进行操作。

示例代码

#include <iostream>
using namespace std;

// 函数:计算数组元素的总和
int sum(int arr[], int size) {
    int total = 0;
    for (int i = 0; i < size; i++) {
        total += arr[i];
    }
    return total;
}

int main() {
    int scores[5] = {80, 85, 90, 95, 100};
    int result = sum(scores, 5);
    cout << "学生成绩的总和是: " << result << endl;
    return 0;
}

在这个程序中,定义了一个函数 sum,它接受一个整数数组和数组的大小作为参数,在函数内部计算数组元素的总和并返回。在 main 函数中调用 sum 函数,将数组 scores 和其大小传递给 sum 函数,并输出计算结果。

9.6 课后小练习

  1. 编写一个程序,定义一个包含 10 个整数的数组,将数组元素初始化为 1 到 10,然后输出数组中的所有元素。
  2. 编写一个函数,找出数组中的最大值,并在 main 函数中调用该函数进行测试。

通过这部分的学习,你已经掌握了一维数组的基本概念、定义、初始化、访问、遍历以及作为函数参数的使用方法,一维数组可以帮助你更高效地处理一组相同类型的数据。

类似文章

发表回复