从单片机基础到程序框架(全集 2019pdf版) - 第199页

开始... 第 1 个数 十进制:8 十六进制:8 二进制:100 0 第 2 个数 十进制:1 十六进制:1 二进制:1 第 3 个数 十进制:2 十六进制:2 二进制:10 第 4 个数 十进制:3 十六进制:3 二进制:11 第 5 个数 十进制:4 十六进制:4 二进制:100 第 6 个数 十进制:5 十六进制:5 二进制:101 分析: 变量元素 a[ 0][0]为 8。从 原来定义的 0 变成 8,因为被 ma in 函数…

100%1 / 836
unsigned char a[2][3]=
{
0,1,2,
3,4,5
};
都行。
C 语言是很丰富的语言,比如二维数组还允许不完全初始化的一些情况,这种情况我就不再深入讲解,
我讲解的都是挑选一些针对以后单片机项目中可能会经常用到的语法。
二维数组我在很多项目上还是经常用到的,比如用在一些需要把所得的信息进行查表判断的项目,在每
一行里放一条关键词字符串信息,利用循环语句进行逐行查找匹配信息。至于二维数组如何存放字符串的
识点以后再讲。这节的重点是让大家对二维数组有个初步的认识。
【47.2 例程练习和分析。
现在编写一个程序来熟悉一下二维数组的书写和使用格式。
程序代码如下:
/*---C 语言学习区域的开始。-----------------------------------------------*/
unsigned char a[2][3]= //定义和初始化一个二维数
{
{0,1,2},
{3,4,5}
};
void main() //主函数
{
a[0][0]=8; //故意把第 0 行第 0 列的这个变量赋值 8,让大家看看如何直接操作二维数组某个元素
View(a[0][0]); //把第 1 个数 a[0][0]发送到电脑端的串口助手软件上观察。
View(a[0][1]); //把第 2 个数 a[0][1]发送到电脑端的串口助手软件上观察。
View(a[0][2]); //把第 3 个数 a[0][2]发送到电脑端的串口助手软件上观察。
View(a[1][0]); //把第 4 个数 a[1][0]发送到电脑端的串口助手软件上观察。
View(a[1][1]); //把第 5 个数 a[1][1]发送到电脑端的串口助手软件上观察。
View(a[1][2]); //把第 6 个数 a[1][2]发送到电脑端的串口助手软件上观察。
while(1)
{
}
}
/*---C 语言学习区域的结束。-----------------------------------------------*/
在电脑串口助手软件上观察到的程序执行现象如下:
开始...
1 个数
十进制:8
十六进制:8
二进制:1000
2 个数
十进制:1
十六进制:1
二进制:1
3 个数
十进制:2
十六进制:2
二进制:10
4 个数
十进制:3
十六进制:3
二进制:11
5 个数
十进制:4
十六进制:4
二进制:100
6 个数
十进制:5
十六进制:5
二进制:101
分析:
变量元素 a[0][0]为 8。从原来定义的 0 变成 8,因为被 main 函数里的第 1 行代码赋值了 8
变量元素 a[0][1]为 1。
变量元素 a[0][2]为 2。
变量元素 a[1][0]为 3。
变量元素 a[1][1]为 4。
变量元素 a[1][2]为 5。
【47.3 如何在单片机上练习本章节 C 语言程序?】
直接复制前面章节中第十一节的模板程序,练习代码时只需要更改C 语言学习区域”代码就可以了,
其它部分的代码不要动。编译后,把程序下载进带串口 51 习板,通过电脑端的串口助手软件就可以观
察到不同的变量数值,详细方法请看第十一节内容。