内容正文:
4.1.3 一维数组
1
数组就是一组有序的、相同类型的数据集合。
先定义,后使用
类型 名字 元素个数(数组长度)
数组类型 数组名 [常量表达式];
unsigned char led[8];
int MCU_scores[15];
必须用常量表达式来指定数组长度,不可以出现变量。
#define STUDENT 15
unsigned int k;
unsigned char led[k];
int MCU_scores[STUDENT];
×
√
unsigned char led[8];
存储器
存储器
led
led[0]
led+1
led+2
led+3
led+4
led+5
led+6
led+7
led[1]
led[2]
led[3]
led[4]
led[5]
led[6]
led[7]
led[8]
×
使用循环程序
处理数组
数组定义时初始化
赋值语句初始化
unsigned char led[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
int MCU_scores[15]={85,87,87,90,92};
前面5个数组元素赋初值
unsigned char led[];
led[0]=0xfe;
led[1]=0xfd;
led[2]=0xfb;
led[3]=0xf7;
led[4]=0xef;
led[5]=0xdf;
led[6]=0xbf;
led[7]=0x7f;
数组就是一组有序的数据集合
一个数组包含多个数组元素
每个数组元素就相当于一个变量
定义了一个数组,就相当于批量定义了很多个变量
变量的名字都是以数组名加上下标来组成的
int MCU_scores[15];
MCU_scores[0]
MCU_scores[1]
MCU_scores[2]
……
MCU_scores[14]
在程序中怎样使用一个定义好的数组呢?
在程序中,不能直接引用整个数组中的全部元素,
只能逐个使用数组元素。
采用循环结构程序,来高效处理数组。
int MCU_scores[15]={85,85,95,87,87,87,92,95,85,87,87,92,92,81,87,50};
求平均成绩程序段
求平均成绩程序段
循环第1次:i=0; sum=sum+MCU_scores[0];
循环第2次:i=1; sum=sum+MCU_scores[1];
循环第3次:i=2; sum=sum+MCU_scores[2];
……
循环第15次:i=14; sum=sum+MCU_scores[14];
采用数组实现流水灯控制程序
4.1.4 二维数组
16
第2行
第2列
13级2班成绩单
二维数组
int score[15][7];
行数
列数
数组名[行][列]
行和列都是从0开始数起
;
score[0][0], score[0][1], score[0][2], score[0][3], score[0][4], score[0][5], score[0][6],
score[1][0], score[1][1], score[1][2], score[1][3], score[1][4], score[1][5], score[1][6],
score[2][0], score[2][1], score[2][2], score[2][3], score[2][4], score[2][5], score[2][6],
......
……
score[14][0],score[14][1],score[14][2],score[14][3],score[14][4],score[14][5],score[14][6],
105个数组元素
求学生平均成绩程序段
求学生平均成绩程序段
二维数组就是一个数据方阵队列
二维数组的定义和初始化方法
code关键字把批量不变的数据烧录到程序存储器中
二维数组的引用方法是数组名加上两个下标
用双重循环结构对二维数组的的数组元素进行存取和使用
$$