从业十年,教你单片机入门 第24讲:
请先看以下的乘法语法格局:
“保存变量”=“被乘数1”*“乘数2”*… *“乘数N”;
意义是:右边的“被乘数”与各“乘数”相乘,而且把终究的运算成果赋值给左面的“保存变量”。留意,这儿的符号“=”不是等于号的意思,而是赋值的意思。左面的“保存变量”有必要是变量,不能是常量,不然编译时会报错。右边的“被乘数”和“乘数”既可所以变量,也可所以常量,也可所以“保存变量”自身自己。多说一句,何谓变量和常量?变量是能够在程序中被更改的,是被分配的一个RAM空间。常量往往是数字,或许是被分配在ROM空间的一个详细数值。下面依据右边“被乘数”与“乘数”的不同组合,列出了乘法运算的5种常见格局。
第1种:“被乘数1”是常量,“乘数2”是常量。比方:
unsigned char a;
a=15*3;
数字“15”和“3”都是常量。履行上述句子后,保存变量a变成了45。
第2种:“被乘数1”是变量,“乘数2”是常量。比方:
unsigned char b;
unsigned char x=15;
b=x*10;
x是变量,“10”是常量。因为本来x变量里边的数值是15,履行上述句子后,保存变量b变成了150。而变量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变成了90。而变量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变成了36,接着再履行完“d=d*7;”句子后,d最终变成了252。
第5种:“被乘数1”是保存变量自身,“乘数2”是变量。比方:
unsigned char e=2;
unsigned char x=15;
unsigned char y=6;
e=e*x;
e=e*y;
e是保存变量,x与y都是变量。这类句子有一个特色,具有了自乘功用,能够更改自己自身自己的数值。比方本来保存变量e的数值是2,履行“e=e*x;”句子后,e变成了30,接着再履行完“e=e*y;”句子后,e最终变成了180。
现在编写一个程序来操练上述5种格局的乘法句子,最终把程序编译后下载到坚鸿51学习板调查成果。请直接仿制第十节模板程序,修正的main程序代码如下:
void main() //主程序
{
/*—C言语学习区域的开端—————————————————————————*/
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=2; //界说一个变量e,而且分配了1个字节的RAM空间。初始化默以为2.
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;
GuiWdData0=a; //把变量a这个数值放到窗口变量0里边显现
GuiWdData1=b; //把变量b这个数值放到窗口变量1里边显现
GuiWdData2=c; //把变量c这个数值放到窗口变量2里边显现
GuiWdData3=d; //把变量d这个数值放到窗口变量3里边显现
GuiWdData4=e; //把变量e这个数值放到窗口变量4里边显现
/*—C言语学习区域的完毕—————————————————————————*/
while(1)
{
initial();
key_service();
display_service();
}
}
如安在坚鸿51学习板上调查a,b,c,d,e这5个变量?按下S1或许S5按键即可切换显现不同的窗口,然后显现不同的变量。上坚鸿51学习板调查程序履行的成果如下:
变量a为45。
变量b为150。
变量c为90。
变量d为252。
变量e为180。
下节预告:乘法连写的简写