数组
引言
如果你需要写一个程序记录3个人的成绩
cpp
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
1
2
2
那如果你需要记录1000个人的成绩呢?就不能用定义一个一个变量的方式了,要使用数组
cpp
int a[1000];
for(int i = 0; i<= 999 ;i++)
scanf("%d",&a[i]);
1
2
3
2
3
1. 什么是数组?
数组:一组数字
2. 如何定义数组 数组类型 数组名[数组大小]
cpp
// 1. 直接定义一个数组,名字叫a,有100个元素
int a[100];
// 2.定义时直接初始化,有3个元素,3个元素分别为 1 2 3
int abc[3] = {1,2,3};
// 3.部分初始化 其中第一个元素为10 其它元素为0
int d[3] = {10};
// 3. 不直接指定数组的大小,数组的大小由初始化列表的元素个数来决定
// foo大小为5
int foo[] = {1,2,3,4,5};
// 4 定义了一个char数组
char bar[] = {'a','1','2'};
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
3. 数组定义后如何使用
- 数组的下标从0开始,如
int a[3]
有三个元素,分别是a[0],a[1],a[2]
- 使用下标访问数组里的一个元素,就像普通的变量一样cpp
int a[3]; //定义 scanf("%d",&a[1]); //输入 a[0] = 1; //赋值 a[0] = a[1] + a[2]; //运算
1
2
3
4
cpp
#include <iostream>
using namespace std;
int main(){
int a[5];
for(int i=0;i<=4;++i){ //由键盘输入5个数字
scanf("%d",&a[i]); // 存到数组里
}
printf("array is : ");
for(int i=0;i<=4;++i){
printf("%d ",a[i]); //输出每个元素并空一格
}
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
4. 一个小题目 : 猴子选大王
TODO
5. 总结与注意事项
- 定义数组时,必须知道数组的确定大小,也就是说要用常量表达式,
int a[常量表达式]
int n;int a[n];
错,因为n
是变量
- 定义数组里可以直接初始化
int a[3] = {1,2,3}
- 定义数组里可以通过初始化来指明数组大小
int a[] = {1,2,3}
- 数组的下标从0开始,
int a[3]
,共3个元素,第一个a[0]
,最后一个a[2]
- 通过数组的下标来访问元素