3.4.2 赋值运算符与赋值表达式
1.赋值运算符
赋值符号“=”就是赋值运算符,作用是将符号右边的数据赋给符号左边的变量,成为此变量的当前值。例如a=5就是将整数5赋给变量a,变量a的当前值为5。
赋值运算符是双目运算符,结合方式从右到左,优先级很低,只比逗号运算符高,比其它运算低。
注意:
①一般情况下,赋值运算符左右两边的数据类型应保持一致,否则可能会导致出现错误。
例如:
错误,不能将一个实数赋给一个整型变量。
②在C语言程序中,可以将一个整数赋给一个实型变量。
③C语言允许在定义变量时,对变量赋初值。例如:int a=5,b=6;
④C语言允许对几个变量同时赋值。
例如:
上述赋值不能写成: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。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。