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

{ } } /*---C 语言 学习区域的结 束。----- ----------- ---------- ----------- ---------- */ 在电脑串口 助手软件上观 察到的程序执 行现象 如下: 开始... 第 1 个数 十进制:8 十六进制:8 二进制:100 0 第 2 个数 十进制:5 十六进制:5 二进制:101 第 3 个数 十进制:6 十六进制:6 二进制:110 第 4 个数 十进制:2 十六进制:2 …

100%1 / 836
【29.4 例程练习和分析。
现在编写一个程序来验证刚才讲到的两种思路
程序代码如下:
/*---C 语言学习区域的开始。-----------------------------------------------*/
void main() //主函
{
unsigned char a; //千位
unsigned char b; //百位
unsigned char c; //十位
unsigned char d; //个位
unsigned char e; //千位
unsigned char f; //百位
unsigned char g; //十位
unsigned char h; //个位
//x 初始化为 8562,必须是 unsignd int 类型以上,不能 char 类型,char 最大范围是 255。
unsigned int x=8562; //被提取的数
//第一种:先余后商。
a=x%10000/1000; //提取千位
b=x%1000/100; //提取百位
c=x%100/10; //提取十位
d=x%10/1; //提取个位
//第二种:先商后余。
e=x/1000%10; //提取千位
f=x/100%10; //提取百位
g=x/10%10; //提取十位
h=x/1%10; //提取个位
View(a); //把第 1 个数 a 发送到电脑端的串口助手软件上观察。
View(b); //把第 2 个数 b 发送到电脑端的串口助手软件上观察。
View(c); //把第 3 个数 c 发送到电脑端的串口助手软件上观察。
View(d); //把第 4 个数 d 发送到电脑端的串口助手软件上观察。
View(e); //把第 5 个数 e 发送到电脑端的串口助手软件上观察。
View(f); //把第 6 个数 f 发送到电脑端的串口助手软件上观察。
View(g); //把第 7 个数 g 发送到电脑端的串口助手软件上观察。
View(h); //把第 8 个数 h 发送到电脑端的串口助手软件上观察。
while(1)
{
}
}
/*---C 语言学习区域的结束。-----------------------------------------------*/
在电脑串口助手软件上观察到的程序执行现象如下:
开始...
1 个数
十进制:8
十六进制:8
二进制:1000
2 个数
十进制:5
十六进制:5
二进制:101
3 个数
十进制:6
十六进制:6
二进制:110
4 个数
十进制:2
十六进制:2
二进制:10
5 个数
十进制:8
十六进制:8
二进制:1000
6 个数
十进制:5
十六进制:5
二进制:101
7 个数
十进制:6
十六进制:6
二进制:110
8 个数
十进制:2
十六进制:2
二进制:10
分析:
通过实验结果,发现在单片机上的计算结果和我们的分析是一致的。
【29.5 如何在单片机上练习本章节 C 语言程序?】
直接复制前面章节中第十一节的模板程序,练习代码时只需要更改C 语言学习区域”代码就可以了,
其它部分的代码不要动。编译后,把程序下载进带串口 51 习板,通过电脑端的串口助手软件就可以观
察到不同的变量数值,详细方法请看第十一节内容。