1. 程式人生 > >C++基礎表示式(2)

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;