- C++
什么是一维数组
- @ 2025-10-9 13:25:13
一、什么是一维数组? 数组是一种存储相同类型数据的集合,可以一次性定义多个同类型变量,通过 “索引”(位置编号)快速访问。一维数组是最简单的数组形式,类似 “一排盒子”,每个盒子存储一个数据,有固定的顺序。 二、一维数组的定义格式 cpp 运行 数据类型 数组名[数组长度]; 数据类型:数组中所有元素的类型(如int、double等) 数组名:自定义名称(遵循变量命名规则,如arr、scores) 数组长度:必须是整数(常量),表示数组能存储的元素个数 三、数组的初始化(常用 3 种方式) 数组定义后可以直接赋值,称为 “初始化”,避免使用未初始化的数组(值不确定)。 示例 1:完全初始化(指定所有元素) cpp 运行 #include using namespace std;
int main() { // 定义一个int类型的数组,长度为5,同时初始化所有元素 int numbers[5] = {10, 20, 30, 40, 50}; // 5个元素依次存入数组
// 输出数组中的元素(通过索引访问,索引从0开始)
cout << "第1个元素(索引0):" << numbers[0] << endl; // 输出10
cout << "第2个元素(索引1):" << numbers[1] << endl; // 输出20
cout << "第5个元素(索引4):" << numbers[4] << endl; // 输出50
return 0;
} 示例 2:部分初始化(剩余元素自动补 0) cpp 运行 #include using namespace std;
int main() { // 定义长度为5的数组,只初始化前2个元素,剩余3个自动为0 int arr[5] = {1, 2};
// 循环输出所有元素(索引0~4)
for (int i = 0; i < 5; i++) { // i从0到4,对应所有索引
cout << "arr[" << i << "] = " << arr[i] << endl;
}
// 输出结果:1, 2, 0, 0, 0
return 0;
} 示例 3:省略长度(自动根据初始化元素个数确定长度) cpp 运行 #include using namespace std;
int main() { // 不指定长度,编译器自动计算(这里有3个元素,长度为3) double prices[] = {9.9, 19.9, 29.9};
// 输出数组长度:通过sizeof计算(总字节数 / 单个元素字节数)
int len = sizeof(prices) / sizeof(prices[0]);
cout << "数组长度为:" << len << endl; // 输出3
return 0;
} 四、数组的访问与修改 通过 “数组名 [索引]” 访问或修改元素,索引范围是 0 到(长度 - 1),超出范围会导致错误(越界访问)。 cpp 运行 #include using namespace std;
int main() { int scores[3] = {80, 90, 85}; // 定义存储3个成绩的数组
// 修改第2个元素(索引1)
scores[1] = 95; // 将原来的90改为95
// 访问并输出所有元素
for (int i = 0; i < 3; i++) {
cout << "成绩" << i+1 << ":" << scores[i] << endl;
}
// 输出结果:80, 95, 85
// 错误示例:越界访问(索引3超出长度3的范围0~2)
// cout << scores[3] << endl; // 可能输出随机值或导致程序崩溃
return 0;
} 五、数组的实际应用:输入与统计 案例:输入 5 个学生的成绩,计算平均分 cpp 运行 #include using namespace std;
int main() { const int N = 5; // 用常量定义数组长度,方便修改 int scores[N]; // 定义存储5个成绩的数组 int sum = 0; // 用于累加总分 double avg; // 平均分
// 1. 输入5个成绩到数组
cout << "请输入" << N << "个学生的成绩:" << endl;
for (int i = 0; i < N; i++) {
cin >> scores[i]; // 将输入的值存入数组第i个位置
}
// 2. 计算总分
for (int i = 0; i < N; i++) {
sum += scores[i]; // 累加每个元素的值
}
// 3. 计算平均分(注意转换为double避免整数除法)
avg = (double)sum / N;
// 4. 输出结果
cout << "总分:" << sum << endl;
cout << "平均分:" << avg << endl;
return 0;
} 六、总结 数组是同类型数据的集合,定义格式:数据类型 数组名[长度]; 索引从 0 开始,范围是0 ~ 长度-1,禁止越界访问 初始化方式:完全初始化、部分初始化(补 0)、省略长度(自动计算) 常用操作:通过循环遍历数组、输入 / 输出元素、统计求和等 通过以上示例,可以逐步掌握一维数组的基本用法,多练习输入输出和统计类题目能更快熟悉数组的应用~