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 课后小练习
- 编写一个程序,定义一个包含 10 个整数的数组,将数组元素初始化为 1 到 10,然后输出数组中的所有元素。
- 编写一个函数,找出数组中的最大值,并在
main
函数中调用该函数进行测试。
通过这部分的学习,你已经掌握了一维数组的基本概念、定义、初始化、访问、遍历以及作为函数参数的使用方法,一维数组可以帮助你更高效地处理一组相同类型的数据。