ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
【21.1 **减法语法格式。**】 减法语法格式: “保存变量”=“减数1”-“减数2”-...-“减数N”; 含义:右边的“减数”与“减数”相减(这里暂时把平时所说的被减数也归类为减数),并且把最终的运算结果赋值给左边的“保存变量”。注意,这里的符号“=”不是等于号的意思,而是赋值的意思。左边的“保存变量”必须是变量,不能是常量,否则编译时会报错。右边的“减数”既可以是变量,也可以是常量,也可以是“保存变量”本身自己。多说一句,什么是变量和常量?变量是可以在程序中被更改的,被分配的一个RAM空间。常量往往是数字,或者被分配在ROM空间的一个具体数值。下面根据右边“减数”与“减数”的不同组合,列出了减法运算的5种常用组合。 第1种:“减数1”是常量,“减数2”是常量。比如: unsigned char a; a=15-3; 分析:数字“15”和“3”都是常量。执行上述语句后,保存变量a变成了12。 第2种:“减数1”是变量,“减数2”是常量。比如: unsigned char b; unsigned char x=15; b=x-10; 分析:x是变量,“10”是常量。由于原来x变量里面的数值是15,执行上述语句后,保存变量b变成了5。而变量x则保持不变,x还是15。 第3种:“减数1”是变量,“减数2”是变量。比如: unsigned char c; unsigned char x=15; unsigned char y=6; c=x-y; 分析:x是变量,y也是变量。由于原来x变量里面的数值是15,y变量里面的数值是6,执行上述语句后,保存变量c变成了9。而变量x和y则保持不变,x还是15,y还是6。 第4种:“减数1”是保存变量本身,“减数2”是常量。比如: unsigned char d=18; d=d-2; d=d-7; 分析:d是保存变量,“2”和“7”都是常量。这类语句有一个特点,具备了自减功能,可以更改自己本身的数值。比如原来保存变量d的数值是18,执行“d=d-2;”语句后,d变成了16,接着再执行完“d=d-7;”语句后,d最后变成了9。 第5种:“减数1”是保存变量本身,“减数2”是变量。比如: unsigned char e=28; unsigned char x=15; unsigned char y=6; e=e-x; e=e-y; 分析:e是保存变量,x与y都是变量。这类语句有一个特点,具备了自减功能,可以更改自己本身的数值。比如原来保存变量e的数值是28,执行“e=e-x;”语句后,e变成了13,接着再执行完“e=e-y;”语句后,e最后变成了7。 【21.2 例程练习和分析。】 现在我们编写一个程序来验证上面讲到的5个减法例子: 程序代码如下: /\*---C语言学习区域的开始。-----------------------------------------------\*/ void main() //主函数 { unsigned char a; //定义一个变量a,并且分配了1个字节的RAM空间。 unsigned char b; //定义一个变量b,并且分配了1个字节的RAM空间。 unsigned char c; //定义一个变量c,并且分配了1个字节的RAM空间。 unsigned char d=18; //定义一个变量d,并且分配了1个字节的RAM空间。初始化默认为18. unsigned char e=28; //定义一个变量e,并且分配了1个字节的RAM空间。初始化默认为28. unsigned char x=15; //定义一个变量x,并且分配了1个字节的RAM空间。初始化默认为15. unsigned char y=6; //定义一个变量y,并且分配了1个字节的RAM空间。初始化默认为6. //第1种:“减数1”是常量,“减数2”是常量。 a=15-3; //第2种:“减数1”是变量,“减数2”是常量。 b=x-10; //第3种:“减数1”是变量,“减数2”是变量。 c=x-y; //第4种:“减数1”是保存变量本身,“减数2”是常量。 d=d-2; d=d-7; //第5种:“减数1”是保存变量本身,“减数2”是变量。 e=e-x; e=e-y; View(a); //把第1个数a发送到电脑端的串口助手软件上观察。 View(b); //把第2个数b发送到电脑端的串口助手软件上观察。 View(c); //把第3个数c发送到电脑端的串口助手软件上观察。 View(d); //把第4个数d发送到电脑端的串口助手软件上观察。 View(e); //把第5个数e发送到电脑端的串口助手软件上观察。 while(1) { } } /\*---C语言学习区域的结束。-----------------------------------------------\*/ 在电脑串口助手软件上观察到的程序执行现象如下: 开始... 第1个数 十进制:12 十六进制:C 二进制:1100 第2个数 十进制:5 十六进制:5 二进制:101 第3个数 十进制:9 十六进制:9 二进制:1001 第4个数 十进制:9 十六进制:9 二进制:1001 第5个数 十进制:7 十六进制:7 二进制:111 分析: 通过实验结果,发现在单片机上的计算结果和我们的分析是一致的。 【21.3 如何在单片机上练习本章节C语言程序?】 直接复制前面章节中第十一节的模板程序,练习代码时只需要更改“C语言学习区域”的代码就可以了,其它部分的代码不要动。编译后,把程序下载进带串口的51学习板,通过电脑端的串口助手软件就可以观察到不同的变量数值,详细方法请看第十一节内容。