二級C++精品課程3-1-2:C++運算符之自增、自減運算符

字號:

3.1.2自增、自減運算符
    ++是自增運算符,――自減運算符,這兩個運算符都是單目運算符,且功能相近,都是將數(shù)值變量的值加1或減1,用戶只能將這類操作符應(yīng)用于變量而不能應(yīng)用于常量。要替代下列代碼
    valuel=valuel+1;
    可使用
    ++valuel;
    或
    valuel++;
    這里前一種方式稱為前綴方式,后一種稱為后綴方式,其目的都是使valuel加1。二者的區(qū)別是:前綴式先將操作數(shù)增1(或減1),然后取操作數(shù)的新值參與表達式的運算。后綴是先將操作數(shù)增1(或減1)之前的值參與表達式的運算,到表達式的值被引用之后再做加1(或減1)運算。
    參見表3-3。
    我們可以看出, 自加和自減運算符可在變量名前,也可在變量名后,即都可以用于前綴和后綴的形式,但含義并不相同。對于前綴的形式,變量先作自加或自減運算,然后將運算結(jié)果用于表達式中;而對于后綴的形式, 變量的值先在表達式中參與運算,然后再作自加或自減運算。
    可以作自加或自減的變量類型也可以是實型,但是,實型變量自加或自減運算的用處不大,我們很少使用。通常,我們對整型變量作自加或自減運算。以后,我們還會看到,指針變量也可以作自加或自減運算。
     表3-3 自加和自減運算符
     運算符 名字 實例
    + + 自加(前綴) ++valuel + 10 // 得出16,valuel變?yōu)?
    + + 自加(后綴) valuel++ + 10 // 得出15,valuel變?yōu)?
    - - 自減(前綴) --valuel + 10 // 得出14,valuel變?yōu)?
    - - 自減(后綴) valuel-- + 10 // 得出15,valuel變?yōu)?
    表3-2中假定變量valuel已預(yù)定義:
    int valuel = 5;
    自加自減運算符都是單目運算符,是專門用于加1和減1操作設(shè)置的,其實質(zhì)就是用'++'代替了"+1"(后綴)和"1+"(前綴)、'-'代替了"-1"。需要注意的是自增運算符在操作數(shù)的前面和后面是不一樣的,如:
    a = 6;
    b = a++;
    執(zhí)行結(jié)果為:b=6, a=7
    而
    a = 6;
    b = ++a;
    執(zhí)行結(jié)果為:b=7, a=7.
    自減運算符也存在同樣情況,如:
    a=6;
    b = a--;
    執(zhí)行結(jié)果為:b=6, a=5.
    而
    a=6;
    b=--a;
    執(zhí)行結(jié)果為:b=5, a=5.