1.什么是数组
数组是一种数据结构,用于存储相同类型的多个元素。它是一系列连续的内存位置,每个位置都有一个唯一的索引来访问其中的元素。数组可以在编程中用于存储和操作大量数据。
数组有固定的大小,一旦创建,其大小通常不能改变。数组的大小由元素的数量决定,每个元素占据相同的内存空间。通过使用索引,我们可以访问数组中的特定元素,索引从0开始,依次递增。
例如,一个整数数组 int[5] 可以存储5个整数,可以通过索引访问这些元素,如 arr[0]、arr[1]、arr[2] 等。
2.1一维数组的定义
每个元素的数据类型 数组名[元素的个数];
列如:定义一个长度为10的整数型数组
int arr[10];
浮点型数组,字符型数组也是类似的
float arr[10];
char arr[10];
2.2一维数组的初始化
部分初始化
int scores[5]={78,98,67};
//初始化的为它的值,未进行初始化自动默认(int,float)为0,
全部初始化
int scores[5]={78,98,67,88,90};
当全部初始化的时候,可以将元素的个数省略,
int scores[]={78,98,67,88,90};
字符型数组
char str[]={'h','e','l','l','o','w','o','r','l','d','\0'};
char str[]="helloworld";
一维数组的访问
数组名
[
下标
]
下标是
0
开始的
列:arr[0],arr[1],arr[2]等
2.2二维数组的定义
每个元素的数据类型 数组名[数组的长度]
[每个数组中
元素的个数
]
int arr[][];
二维数组的相关知识与一维数组的类似
3.一维数组的应用
1.元素的输入
1.1直接输入,创建数组的同时,输入元素
int arr[10]={1,2,3,4,5,6,7,8,9,10};
float arr[5]={1,2,3,4,5};
char arr[5]={'h','e','l','l','o'};
1.2通过代码的输入
#include <stdio.h>
#define SIZE 5 // 数组的大小
int main() {
int arr[SIZE]; // 声明一个大小为SIZE的整型数组
int i;
printf("请输入%d个整数:\n", SIZE);
for (i = 0; i < SIZE; i++) {
scanf("%d", &arr[i]); // 通过循环逐个输入数组元素的值
}
printf("您输入的数组为:\n");
for (i = 0; i < SIZE; i++) {
printf("%d ", arr[i]); // 通过循环逐个输出数组元素的值
}
printf("\n");
return 0;
}
2.代码的输出
#include <stdio.h>
#define SIZE 5 // 数组的大小
int main() {
int arr[SIZE] = {1, 2, 3, 4, 5}; // 声明并初始化一个大小为SIZE的整型数组
int i;
printf("数组的元素为:\n");
for (i = 0; i < SIZE; i++) {
printf("%d ", arr[i]); // 通过循环逐个输出数组元素的值
}
printf("\n");
return 0;
}
4.二维数组的应用
4.1二维数组的输入
1.1直接输入,创建数组的同时,输入元素
int arr[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
char arr[5][20]={"beijing","shanghai","wuhan","henan","lasa"};
1.2通过代码输入
#include <stdio.h>
#define X 3// 行数
#define Y 4 // 列数
int main() {
int arr[X][Y]; // 声明一个大小为ROWS*COLS的二维整型数组
int i, j;
printf("请输入%d行%d列的整数矩阵:\n", X, Y);
for (i = 0; i < X; i++) {
for (j = 0; j <Y; j++) {
scanf("%d", &arr[i][j]); // 通过嵌套循环逐个输入二维数组元素的值
}
}
printf("您输入的矩阵为:\n");
for (i = 0; i <X; i++) {
for (j = 0; j < Y; j++) {
printf("%d ", arr[i][j]); // 通过嵌套循环逐个输出二维数组元素的值
}
printf("\n");
}
return 0;
}
4.2.二维数组的输出
#include <stdio.h>
#define X 3 // 行数
#define Y 3 // 列数
int main() {
int arr[X][Y] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}; // 声明并初始化一个大小为X*Y的二维整型数组
int i, j;
printf("二维数组的元素为:\n");
for (i = 0; i < X; i++) {
for (j = 0; j < Y; j++) {
printf("%d ", arr[i][j]); // 通过嵌套循环逐个输出二维数组元素的值
}
printf("\n");
}
return 0;
}