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