C++基础表达式(2)

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-=a
a; //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,6
    a //逗号表达式,表达式值18,x=3

  • 在用cout输出一个逗号表达式的值时,要将该逗号表
    达式用括号括起来,如
    cout<<(35,43-65,67/3)<<endl;

猜你喜欢

转载自blog.csdn.net/qgs1101/article/details/84936873
今日推荐