首页 理论教育C语言程序设计实用教程-2.4.3赋值运算符和表达式

C语言程序设计实用教程-2.4.3赋值运算符和表达式

【摘要】:C 语言中,赋值被认为是一种运算,有赋值运算符将一个变量和一个表达式连接起来的式子称为赋值表达式。其形式为:1.赋值运算符赋值运算符为“=”,功能是将赋值运算符右边的表达式的值赋给其左边的变量。

C 语言中,赋值被认为是一种运算,有赋值运算符将一个变量和一个表达式连接起来的式子称为赋值表达式。其形式为:

1.赋值运算符

赋值运算符为“=”,功能是将赋值运算符右边的表达式的值赋给其左边的变量。赋值表达式的值就是被赋值的变量的值。

例如:a=8 这个赋值表达式的值就是8,变量a 的值也是8。

赋值表达式的值也可以赋值给其他变量,如b=(a=2+4),括号内的a=2+4 是一个赋值表达式,其值为6,所以b 的值为6,整个表达式的值也为6。

2.复合赋值运算符

C 语言允许在赋值运算符“=”之前加上其他运算符以构成复合的赋值运算符。(www.chuimin.cn)

例如:

凡是双目运算符,都可以和赋值运算符一起组合成复合的赋值运算符。在C 语言中,可以使用的复合赋值运算符有:

C 语言中采用这种复合运算符,一是为了简化程序,使程序精炼;二是为了提高编译效率,产生质量较高的目标代码。

【例2.6】已知int i=4;,执行语句i+=--i;后,变量i 的值为( )。

分析:

变量i 的初值为4,表达式i+=--i 中,有运算符“+=”为复合赋值运算符,有运算符“--”为自减运算符,操作数在自减运算符的左边,为前置自减运算符,根据运算符的优先级,前置自减运算符优先级高于复合赋值运算符,先算前置自减,前置自减为先自减变量值,再代入表达式计算表达式的值。语句i+=--i 在进行前置自减运算后变为i+=3(变量i 初值为4,自减后为3),再进行复合赋值运算。表达式i+=3,即为i=i+3,变量i 的值经过自减后已为3,所以变量i 最终的值为6。