1 赋值运算符赋值表达式
- 赋值运算符
符号:=
格式:变量标识符=表达式
作用:将一个数据(常量或表达式)赋给一个变量
例:
a=3;
d=func();
c=d+2;
说明:
结合方向:自右向左
左侧必须是变量,不能是常量或表达式 - 赋值转换规则:使赋值号右边表达式值自动转换成其左边变量的类型
例:
floatf;
inti;
i=10;
f=i;//f=10.0
i=2.56;//结果i=2;
由赋值运算符将一个变量和一个表达式连接起来的式
子称为“赋值表达式”。
- 它的一般形式为
<变量> <赋值运算符> <表达式>
如“a=5”是一个赋值表达式。 - 对赋值表达式求解的过程:
先求赋值运算符右侧的“表达式”的值
然后赋给赋值运算符左侧的变量。
左侧不能是表达式,常变量只能在第一次初始化时出现在左侧。
整个赋值表达式的值与<表达式>相等。
这里“=”不是等号,不表示相等,而是表示对变量的赋值。
在程序中可以多次给一个变量赋值,每赋一次值,与变量相应的存储单元中的数值(变量值)就被更新一次,变量值总是最后一次赋值的数赋值表达式中的“表达式”,又可以是一个赋值表达式。如
a=(b=5)
例:
a=b=c=5
a=5+(c=6)
a=(b=4)+(c=6)
a=(b=10)/(c=2)
赋值表达式也可以包含复合的赋值运算符。如
a+=a-=aa
假设a的初值为5,计算最终a的值:
a-=aa; //a=-20
a+=-20; //a=-40
2逗号运算符与逗号表达式
-
逗号运算符,用它将两个表达式连接起来。如
3+5,6+8
称为逗号表达式,又称为“顺序求值运算符”。 -
逗号表达式的一般形式为
表达式1,表达式2,表达式3,…,表达式n -
逗号表达式的求解过程是:
先求解表达式1,再求解表达式2……。整个逗号表达式的值是表达式n的值。 -
优先级:最低
-
结合性:自左向右
计算逗号表达式
a=35,a4 //a=15,表达式值60 -
一个逗号表达式又可以与另一个表达式组成一个新的
逗号表达式,考虑
(a=35,a4),a+5 //a=15,表达式值20
x=(a=3,63) //赋值表达式,表达式值18,x=18
x=a=3,6a //逗号表达式,表达式值18,x=3 -
在用cout输出一个逗号表达式的值时,要将该逗号表
达式用括号括起来,如
cout<<(35,43-65,67/3)<<endl;