![基于Proteus和Keil的C51程序设计项目教程(第2版):理论、仿真、实践相融合](https://wfqqreader-1252317822.image.myqcloud.com/cover/785/36511785/b_36511785.jpg)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
2.6 算术运算、赋值运算
2.6.1 算术运算
算术运算符:+(加)、-(减)、*(乘)、/(除)、%(整数求余)、++(自加1)、--(自减1)。
自增(++)、自减(--)运算符的作用是使变量值加1或减1,有前置和后置两种形式。
前置:++i,--i(先执行i+1或i-1,再使用i值)。
后置:i++,i--(先使用i值,再执行i+1或i-1)。
例如:
![](https://epubservercos.yuewen.com/964F67/19391577901347306/epubprivate/OEBPS/Images/40331_81_1.jpg?sign=1738953203-fM8dJKvAItEumKfVJMy19vgMzmDofBkB-0-ab98030b0d2d0a8cdadedbcc58d0f054)
注意:++在前先加后用,++在后先用后加。
2.6.2 赋值及复合赋值运算
1.“=”赋值运算符
利用赋值运算符将一个变量与一个表达式连接起来的式子为赋值表达式,在表达式后面加“;”便构成了赋值语句。使用“=”的赋值语句格式如下:
![](https://epubservercos.yuewen.com/964F67/19391577901347306/epubprivate/OEBPS/Images/40331_81_2.jpg?sign=1738953203-EYMvQYa7W15D3kFZ5axilqu9WFaOH4IG-0-76b417370e277d9393534478500db79f)
例如:
![](https://epubservercos.yuewen.com/964F67/19391577901347306/epubprivate/OEBPS/Images/40331_81_3.jpg?sign=1738953203-kUrrM6ZFYJn4U4DcTUhLi05lkukBN08v-0-d072496d07d47e689558b6f08a6945d4)
由上面的例子可以知道赋值语句的意义就是先计算出“=”右边表达式的值,然后将得到的值赋给左边的变量,而且右边的表达式可以是一个赋值表达式。
注意:
(1)如果赋值运算符两边的类型不一致,则系统在算出表达式的值之后,先将该值转换为左边变量的类型,再赋值给左边的变量。
(2)赋值运算符“=”右边的表达式可以是一个赋值表达式,形式为
![](https://epubservercos.yuewen.com/964F67/19391577901347306/epubprivate/OEBPS/Images/40331_81_4.jpg?sign=1738953203-eaAShePleQaRy9HpYrRxjc9dVRZ90PmP-0-df4ee61e60c1fb02384355ed6c3d8e89)
(3)在变量说明中,不允许连续给多个变量赋初值,如
![](https://epubservercos.yuewen.com/964F67/19391577901347306/epubprivate/OEBPS/Images/40331_81_5.jpg?sign=1738953203-TU4Utd40Ozt23OGwl7FsDyIIqrGGgGCu-0-813c3bac399b59106ce12b33718eb9a3)
2.复合赋值运算符
复合赋值运算符有+=、-=、*=、/=、%=、<<=、>>=、&=、^=、|=。凡是双目运算都可以用复合赋值运算符去简化表达。例如:a+=3相当于a=a+3,a*=b相当于a=a*b。
显然,用复合赋值运算符会降低程序的可读性,但可简单化程序书写,提高编译的效率。