数组:
1、数组介绍
2、一维数组定义
3、数组的存值 取值
4、遍历
1、数组介绍
2、一维数组定义
3、数组的存值 取值
4、遍历
5、字符数组
1.数组介绍:
数组 是一个有序排列的 容器
下标:元素的序号(位置) 序号是从 0 开始
2.一维数组定义:
公式:数据类型 名字【有多少元素】={元素,元素};
1)超出数组元素个数 存取值 叫做 数组越界
2)数组元素不够的时候 系统会自动使用0补全 只能少存 不能多存(不能超过
数组元素个数)
3) 元素的数据类型 必须和数组的数据类型 相同
例如:
int
list[3] = {2,99,55};
类型 名
个数
元素
3.数组取值:
数组取值公式 类型 变量名 = 数组名【下标】;
取出来的数组元素 赋值给 另一个变量类型要与数组元素类型相同
例如:
如果元素个数不够用0补齐
int list[5] = {33,22};
注意 不要数组越界
int num = list[2];//取第三个元素
printf("第三个元素:%d\n",num);
printf("第三个元素:%d\n",num);
给数组 某一个下标
对应的元素赋值
数组名[要赋值的下标] = 值;
list[3] =
99;
printf("第四个元素:%d\n",list[3]);
4.数组遍历:
一个个取出来 使用循环
遍历
index
当做下标来使用
遍历过程:遍历 是把数组里面全部的元素
都逐个取出来
listScore[0];listScore[1];listScore[2];发现一个规律:取数组元素的时候
仅仅是
下标不同 而且下标是按顺序排列(0 1 2 3)
可以根据昨天学的 for
循环 来实现
下标的排序
定义 for
循环里面index这个变量
初始值是0(也就是第一个元素的下标)
例如:
int
listScore [10] = {60,61,62,63};
int count = sizeof(listScore)/sizeof(int);
for (int i = 0; i<count; i++) {
printf("下标%d:%d\n",i,listScore[i]);
int count = sizeof(listScore)/sizeof(int);
for (int i = 0; i<count; i++) {
printf("下标%d:%d\n",i,listScore[i]);
}
计算数组的元素个数
数组元素个数
=
数组所占大小/元素所占大小;
数组元素个数
= sizeof(数组名)/元素所占大小;
sizeof:获得
数据的
大小
int listScore [4] = {60,61,62,63};
printf("数组的大小:%lu\n",sizeof(listScore));
printf("单个元素的大小:%lu\n",sizeof(int));
printf("单个元素的大小:%lu\n",sizeof(int));
printf("数组元素个数:%lu\n",sizeof(listScore)/sizeof(int));
例如:
往数组里面 输入
数字
初始化 数组
int list[10] = {};
输入元素 到第1个位置
int num;
printf("输入元素 到第1个位置");
printf("输入元素 到第1个位置");
scanf("%d",&num);
把输入的数字 赋值给数组第1个位置
list[0] = num;
便利数组
for (int
i =
0; i<sizeof(list)/sizeof(int);
i++) {
printf("现在数组里面的元素 下标:%d=元素:%d\n",i,list[i]);
printf("现在数组里面的元素 下标:%d=元素:%d\n",i,list[i]);
}
字符数组:与
数字数组
基本相同
例如:
char 数组名【元素个数】= {‘元素’,‘元素’,‘元素’};
char name[12] = {'B','r','u','c','e'};
遍历字符数组
for (int
i=0; i<sizeof(name)/sizeof(char);
i++) {
printf("%c",name[i]);
}
printf("%c",name[i]);
}
printf("\n");
字符数组 相当于
字符串
字符串 系统认为以\0结束
双引号“字符串”
单引号引起来是 字符‘a’‘b’
双引号“字符串”“monster”“hero”
如果当字符串来使用 字符数组的元素个数
需要条件 \0这个位置
(比字符串里面的字符多一位)
例如:
char
name2[5] =
"Bruce";
for
(int
i=0; i<sizeof(name2)/sizeof(char);
i++) {
printf("%c",name2[i]);
}
printf("%c",name2[i]);
}
printf("\n");