首页 百科知识 赋值运算符的运算规则

赋值运算符的运算规则

时间:2023-10-16 百科知识 版权反馈
【摘要】:赋值运算符用于改变变量的值,是双目运算符,具有从右至左的结合性。各赋值运算符如表3-3所示。复合赋值运算符所表示的表达式不仅比一般赋值运算符表示的表达式简练,而且所生成的目标代码也较少,因此,C语言程序中应尽量采用复合赋值运算符的形式表示。计算变量c和d使用了复合赋值运算符,计算变量x的表达式x+=x-=x*x略显复杂,分解成以下四步进行:

3.2 赋值运算符

赋值运算符用于改变变量的值,是双目运算符,具有从右至左的结合性。赋值运算符分为简单赋值运算符和复合赋值运算符。简单赋值运算符“=”的作用是把一个常量或者变量的值赋值给另外一个变量,复合赋值运算符的作用是先进行运算,再把运算结果赋值给一个变量。各赋值运算符如表3-3所示。

表3-3 赋值运算符

img47

下面通过例子更详细地解释赋值运算符。

(1)简单赋值语句

img48

分析结果:

赋值运算符的结合性是从右至左的,所以先计算变量b的值,再计算变量c的值。变量b被赋值为表达式ˊAˊ+1的值,即66。变量c的值被赋值为变量b的值,故变量c的值也是66,相当于字符常量ˊBˊ。

(2)复合赋值语句

x*=y;

等价于

x=x*y;

关于赋值运算符的两点说明:

(1)复合赋值运算符所表示的表达式不仅比一般赋值运算符表示的表达式简练,而且所生成的目标代码也较少,因此,C语言程序中应尽量采用复合赋值运算符的形式表示。

(2)在C语言中可以连续赋值,赋值运算符具有从右至左的结合性,例如:a=b=3+8,根据运算符的结合性,先计算3+8,再将11赋给变量b,最后将变量b的值11赋给变量a。

【例3.2】赋值运算。

程序如下:

img49

运行结果如图3-2所示。

img50

图3-2

分析:

计算变量c和d使用了复合赋值运算符,计算变量x的表达式x+=x-=x*x略显复杂,分解成以下四步进行:

第一步,先计算x*x的值4,原式等价于x+=x-=4;

第二步,上式等价于x+=x=x-4;

第三步,上式转化为x+=x,变量x的值已经发生了改变,由2变为-2;

第四步,上式等价于x=x+x,变量x的值再次发生改变,由-2变为-4。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈