首页 百科知识 赋值运算符与赋值表达式

赋值运算符与赋值表达式

时间:2022-09-22 百科知识 版权反馈
【摘要】:赋值符号“=”就是赋值运算符,作用是将符号右边的数据赋给符号左边的变量,成为此变量的当前值。第一步:先执行x-=x*x运算,即y=x+=10-10*10;可以计算出y=x+=-90,x=-90。

3.4.2 赋值运算符与赋值表达式

1.赋值运算符

赋值符号“=”就是赋值运算符,作用是将符号右边的数据赋给符号左边的变量,成为此变量的当前值。例如a=5就是将整数5赋给变量a,变量a的当前值为5。

赋值运算符是双目运算符,结合方式从右到左,优先级很低,只比逗号运算符高,比其它运算低。

注意:

①一般情况下,赋值运算符左右两边的数据类型应保持一致,否则可能会导致出现错误。

例如:

img48

错误,不能将一个实数赋给一个整型变量。

②在C语言程序中,可以将一个整数赋给一个实型变量。

③C语言允许在定义变量时,对变量赋初值。例如:int a=5,b=6;

④C语言允许对几个变量同时赋值。

例如:

img49

上述赋值不能写成:int a=b=c=4;否则,将会出现编译错误。

2.复合赋值运算符

在赋值运算符“=”前面加上其他运算符构成复合赋值运算符。C语言系统中的复合赋值运算符有以下几个:

+=,-=,*=,/=,%=,<<=,>>=,&=,=∧,|=

前5个是复合算术赋值运算符,后5个是复合位运算赋值运算符,在这里,只介绍复合算术赋值运算符。

①+=  a+=3 等价于 a=a+3

②-=  a-=3 等价于 a=a-3

③*=  a*=3 等价于 a=a*3

④/=  a/=3 等价于 a=a/3

⑤%=  a%=3 等价于 a=a%3

所有的复合赋值运算符都是双目运算符,其结合方式、优先级和赋值运算符完全一样。

例如:

①假定x=10;y=x+=x-=x*=x;则y值为0。其计算步骤如下:

第一步:先执行x*=x运算,即y=x+=x-=x*x;可以计算出y=x+=x-=100,x=100。

第二步:执行x-=100运算,即y=x+=100-100;可以计算出y=x+=0,x=0。

第三步:执行x+=0运算,即y=x+0;可以计算出y=0,x=0。

②假定x=10;y=x+=x-=x*x;则y值为-180。

第一步:先执行x-=x*x运算,即y=x+=10-10*10;可以计算出y=x+=-90,x=-90。

第二步:执行x+=-90运算,即y=(-90)+(-90);可以计算出y=-180,x=-180。

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

我要反馈