更多信息:計算機等級考試二級C語言精編教程匯總
2.7 自加、自減運算符和逗號運算符
2.7.1 自加運算符“++”和自減運算符“--”
(1)自加運算符“++”和自減運算符“--”的運算結(jié)果是使運算對象的值增1或減1。如i++,相當于i=i+1;i--,相當于i=i-1。因此,自加或自減運算本身也是一種賦值運算。
(2)運算符“++”和“--”是單目運算符,運算對象可以是整型變量也可以是實型變量,但不能是常量或表達式。因為不能給常量或表達式賦值。因此,如++3,(i+j)--等都是不合法的。
(3)用自加或自減運算符構(gòu)成表達式時1既可以前綴形式出現(xiàn),也可以后綴形式出現(xiàn)。例如:++i,--i,i++,i--等都是合法的表達式。無論是作為前綴運算符還是作為后級運算符,對于變量本身來說自增1或自減1都具有相同的效果,但作為表達式來說卻有著不同的值。
例如,若變量i為int類型,且已有值為5。若表達式為++i,則先進行i增1運算,i的值為6,表達式的值也為6;若表達式為--i,則先進行i減1運算,i的值為4,表達式的值也為4;若表達式為i++,則表達式先取i的值為5,然后i進行增1運算,使i中的值為6;若表達式為i--,則表達式先取i的值為5,然后i進行減1運算,使i中的值為4。
(4)運算符“++”和“--”的結(jié)合方向是“自右至左”。
例如有一表達式-i++,其中i的原值為3。由于負號運算符與自加運算符的優(yōu)先級相同,結(jié)合方向是“自右至左”,即相當于對表達式-(i++)進行運算,此時自加運算符“++”為后綴運算符,(i++)的值為3,因此-(i++)的值為-3,然后i自增為4。
(5)不要在一個表達式中對同一個變量進行多次諸如i++或++i等運算,例如寫成:i++*++i+i--*--i,這種表達式不僅可讀性差,而且不同的編譯系統(tǒng)對這樣的表達式將做不同的解釋.進行不同的處理,因而所得結(jié)果也各不相同。
2.7.2 逗號運算符和逗號表達式
“,”是C語言提供的一種特殊運算符,用逗號將表達式連接起來的式子稱為逗號表達式。逗號表達式的一般形式為:
表達式1,表達式2,……,表達式n。
說明:
(1)逗號運算符的結(jié)合性為從左到右,因此逗號表達式將從左到右進行運算。即,先計算表達式1,然后計算表達式2,依次進行,最后計算表達式n。最后一個表達式的值就是此逗號表達式的值。例如:(i=3,i++,++i,i+5)這個逗號表達式的值是10,i的值為5。
(2)在所有運算符中,逗號運算符的優(yōu)先級最低。
編輯推薦:北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |