赋值运算符

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
赋值运算符:= 形式:变量名=常量或表达式 功能:将右边常量或表达式的值赋给左边的变量。
a=b; b=a; 优先级:2级(较低) 结合性:从右向左。 例:a=3; b=c+d ; i=j=1; 赋值表达式:由赋值运算符将一个变量和一个表达式连 接起来的式子。
赋值运算中的自动类型转换
注意:
• 赋值后,原来左边的值被右边表达式的值替换; • 如果右边表达式的值的类型与左边变量的类型不一致,以
复合赋值运算练习:
设有如下变量定义,求出i的值:
int i=3,j=5;
float x=2.5,y=5.0;
i-=j*=x+y; 结果:i=-34 计算过程:i=i-(j=j*(x+y))
=i-(j=j*7.5) =i-(j=5*7.5) =i-37=-34
5
例: a=12; a+=a-=a*a;
• 复合赋值运算符:在赋值符“=”之前加上其它运算符。 • 共有10种复合赋值运算符:
+= ,-=,*=,/=,%= (算术运算有关) <<=,>>=, &=,^ =, |= (与位运算有关)
• 特点:简化程序书写。 • 结合性从右至左。 • 注意两个运算符中间不要有空格。
3
算术复合赋值运算
符号
结果:a=-264, 等价于a=a+(a=a-(a*a))
例: int a=2; a%=4-1; a+=a*=a-=a*=3;
结果:a=0, 等价于a=a+(a=a*(a=a-(a=a*3)))
左边变量的类型为பைடு நூலகம்,将表达式值的类型转换为左边变量 的类型。
int ← float 丢失小数部分(非四舍五入) float ← double 数值溢出或损失精度(位数超过7位时) float ← long 整数的位数超过7位时,损失精度
例:int a=12,b=8; float x,y; b=x=y=a+b; 表达式的值? x的值?b的值?
复合赋值 运算说明
等价于
结合性
+= a+=b -= a-=b
*= a*=b
/=
a/=b
%= a%=b
a=a+b 从右到左 a=a-b
a=a*b a=a/b 从右到左 a=a%b
例: double x=1.5,y=2,z=2;
z-=x+y;
2.0-(1.5+2.0)=-1.5
z=z-(x+y) double型
相关文档
最新文档