理论教育 C语言赋值运算符与表达式

C语言赋值运算符与表达式

时间:2023-11-21 理论教育 版权反馈
【摘要】:例如:2.复合的赋值运算符在赋值运算符“=”之前加上其他运算符,可以构成复合的赋值运算符。表2-5基本的复合赋值运算符说明:复合赋值运算符右边的表达式是一个运算整体,不能把它们分开。2)进行“b=4”的运算,表达式的值为4。

C语言赋值运算符与表达式

1.赋值运算符

C语言的赋值运算符为“=”,其作用是将一个数据赋给一个变量。数据可以是常量、变量或表达式。例如:

2.复合的赋值运算符

在赋值运算符“=”之前加上其他运算符,可以构成复合的赋值运算符。在“=”前加一个算术运算符,构成基本的复合赋值运算符,如表2-5所示。

表2-5 基本的复合赋值运算符

说明:

复合赋值运算符右边的表达式是一个运算整体,不能把它们分开。例如,a*=b+c等价于a=a* (b +c)。

C语言可使用的复合赋值运算符还有以下5种:<<=、>>=(与移位运算符组合)和&=、^=、|=(与位逻辑运算符组合)。

C语言采用复合运算符的作用一方面是简化程序,使程序精练;另一方面是提高编译效率,因为这样的写法与“逆波兰”式一致,有利于编译,能产生质量较高的目标代码。

3.赋值表达式

(1)赋值表达式的构成

由赋值运算符将一个变量和一个表达式连接起来的式子称为赋值表达式。它的一般形式为:

例如:

赋值表达式的求解过程是将赋值运算符右侧表达式的值赋给左侧的变量。赋值表达式的值就是左侧变量的值。例如,“a =2”这个赋值表达式的值为2(变量a的值也是2)。

赋值表达式中的表达式还可以是一个赋值表达式。例如:(www.daowen.com)

“b = 8”是一个赋值表达式,它的值等于8,因此“a=(b=8)”相当于“a=8”,a的值等于8,整个赋值表达式的值也等于8。

(2)优先级

赋值运算符的优先级别低于算术运算符、关系运算符。例如:

如果x的初值为2,此赋值表达式的求解步骤如下:

1)进行“6 <x”的运算,值为0。

2)进行“y =0”的运算。

因此,y的值等于0,此表达式的值为0。

(3)结合方向

赋值表达式按照自右至左的顺序结合。例如:

此赋值表达式的求解步骤如下:

1)进行“20/5”的运算,值为4。

2)进行“b=4”的运算,表达式的值为4。

3)进行“a =4”的运算。

因此,a,b的值均为4,此表达式的值也为4。

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

我要反馈