从单片机基础到程序框架(全集 2019pdf版).pdf - 第109页
通过实验结 果,发现在单 片机上的计算 结果和 我们的分析是 一致的。 【25.3 如何在单片机上练习本章节 C 语言程序?】 直接复制前 面章节中第十 一节的模板程 序, 练习代码时只需要 更改 “ C 语言学习区 域” 的 代码就可 以了, 其它 部分的 代码 不要动 。编 译后 ,把程 序下 载进带 串口 的 51 学 习板, 通过 电脑 端的串 口助 手软件 就可 以观 察到不同的 变量数值,详 细方法请看第 十一节 内容。

View(a); //把第 1 个数 a 发送到电脑端的串口助手软件上观察。
View(b); //把第 2 个数 b 发送到电脑端的串口助手软件上观察。
View(c); //把第 3 个数 c 发送到电脑端的串口助手软件上观察。
View(d); //把第 4 个数 d 发送到电脑端的串口助手软件上观察。
View(e); //把第 5 个数 e 发送到电脑端的串口助手软件上观察。
while(1)
{
}
}
/*---C 语言学习区域的结束。-----------------------------------------------*/
在电脑串口助手软件上观察到的程序执行现象如下:
开始...
第 1 个数
十进制:45
十六进制:2D
二进制:101101
第 2 个数
十进制:150
十六进制:96
二进制:10010110
第 3 个数
十进制:90
十六进制:5A
二进制:1011010
第 4 个数
十进制:252
十六进制:FC
二进制:11111100
第 5 个数
十进制:180
十六进制:B4
二进制:10110100
分析:
通过实验结果,发现在单片机上的计算结果和我们的分析是一致的。
【25.3 如何在单片机上练习本章节 C 语言程序?】
直接复制前面章节中第十一节的模板程序,练习代码时只需要更改“C 语言学习区域”的代码就可以了,
其它部分的代码不要动。编译后,把程序下载进带串口的 51 学习板,通过电脑端的串口助手软件就可以观
察到不同的变量数值,详细方法请看第十一节内容。

第二十六节:连乘、自乘、自乘简写,溢出。
【26.1 连乘。】
上一节的乘法例子中,右边的乘数只有两个。实际上,C 语言规则没有限制乘数的个数,它的通用格式
如下:
“保存变量”=“乘数 1”*“乘数 2”...*“乘数 N”;
当右边的乘数个数超过两个的时候(这里暂时把平时所说的被乘数也归类为乘数),这种情况就是“连
乘”。每个乘数的属性没有限定,可以是常量,也可以是变量。比如:
unsigned char x=3; //定义一个变量 x,初始化默认为 3.
unsigned char y=6; //定义一个变量 y,初始化默认为 6.
unsigned char k=2; //定义一个变量 k,初始化默认为 2.
a=2*5*3; //乘数全部是常量。a 的结果为 30。
b=k*x*y; //乘全部是变量。b 的结果为 36。
c=x*5*y; //乘数,有的是常量,有的是变量。c 的结果为 90。
连乘的运行顺序是,赋值符号“=”右边的乘数挨个相乘,把每一次的运算结果放在一个临时的隐蔽中
间变量里,这个隐蔽的变量我们看不到,是单片机系统内部参与运算时的专用寄存器,等右边所有乘数连乘
的计算结果出来后,再把隐蔽变量所保存的计算结果赋值给左边的“保存变量”。
【26.2 自乘与自乘简写。】
什么是自乘?当赋值符号“=”右边的乘数只要其中有一个是“保存变量”本身时,这种情况就是“自乘”,
常见格式如下:
“保存变量”=“保存变量”*“乘数 1”;
“保存变量”=“保存变量”*(“乘数 1”*“乘数 2”...*“乘数 N”);
上述自乘计算式可以简写成如下格式:
“保存变量”*=“乘数 1”;
“保存变量”*=“乘数 1”*“乘数 2”...*“乘数 N”;
这种格式就是“自乘简写”。现在举几个例子如下:
unsigned char d=5; //定义一个变量 d,初始化默认为 5.
unsigned char e=5; //定义一个变量 e,初始化默认为 5.
unsigned char f=5; //定义一个变量 f,初始化默认为 5.
unsigned char x=3; //定义一个变量 x,初始化默认为 3.
unsigned char y=6; //定义一个变量 y,初始化默认为 6.
unsigned char k=2; //定义一个变量 k,初始化默认为 2.
d*=6; //相当于 d=d*6;最后 d 的结果为 30。
e*=x; //相当于 e=e*x;最后 e 的结果为 15。
f*=2*y*k; //相当于 f=f*(2*y*k);最后 f 的结果为 120。
【26.3 有没有“自乘 1”的特殊写法?】
之前在讲加法的自加和减法的自减运算时,还给大家介绍了它们另外一种特殊的简写方式。比如减法运
算,当右边只有 2 减数,当一个减数是“保存变量”,另一个是常数 1 时,格式如下: