更多信息:計算機等級考試二級C語言精編教程匯總
2.5 算術表達式
2.5.1 基本的算術運算符
在C語言中,基本的算術運算符是:+、-、*、/、%,分別為加、減、乘、除、求余運算符。這些運算符需要兩個運算對象,稱為雙目運算符。除求余運算符%外,運算對象可以是整型,也可以是實型。如1+2、1.2*3.2。
求余運算符的運算對象只能是整型。在%運算符左側(cè)的運算數(shù)為被除數(shù),右側(cè)的運算數(shù)為除數(shù),運算結(jié)果是兩數(shù)相除后所得的余數(shù)。當運算數(shù)為負數(shù)時,所得結(jié)果的符號隨機器的不同而不同。
“+”和“-”也可用作單目運算符,運算符必須出現(xiàn)在運算數(shù)的左邊。運算數(shù)可為整型,也可為實型。如:-54、+3.9。
說明:
(1)如果雙目運算符兩邊運算數(shù)的類型一致,則所得結(jié)果的類型與運算數(shù)的類型一致。例如:1.0/2.0,其運算結(jié)果為0.5;1/2,其運算結(jié)果為O。
(2)如果雙目運算符兩邊運算數(shù)的類型不一致,系統(tǒng)將自動進行類型轉(zhuǎn)換,使運算符兩邊的類型達到一致后,再進行運算。
(3)在C語言中,所有實型數(shù)的運算均以雙精度方式進行。若是單精度數(shù),則在尾數(shù)部分添0,使之轉(zhuǎn)化為雙精度數(shù)。
2.5.2 運算符的優(yōu)先級、結(jié)合性和算術表達式
在C語言中,常量、變量、函數(shù)調(diào)用以及按C語言語法規(guī)則用運算符把運算數(shù)連起來的式子都是合法的表達式。凡是表達式都有一個值,即運算結(jié)果。
一、算術運算符的優(yōu)先級
算術運算符和圓括號的優(yōu)先級高低次序如下:
二、算術運算符和圓括號的結(jié)合性
以上所列的運算符中,只有單目運算符“+”和“-”的結(jié)合性是從右到左的,其余運算符的結(jié)合性都是從左到右。
例如:表達(5+1)/2的運算結(jié)果是3,圓括號的優(yōu)先級高于除號;表達式5+1/2的運算結(jié)果是5,除號的優(yōu)先級高于加號;表達式5*-2的褥算結(jié)果是-1O,單目運算符“-”的優(yōu)先級高于乘號,這個表達式與5*(-2)等價。
三、算術表達式
用算術運算符和一對圓括號將運算數(shù)(或稱操作數(shù))連接起來的、符合C語言語法的表達式稱為算術表達式。
算術表達式中,運算對象可以是常量、變量和函教等。例如:2+sqrt(c)*b。
在計算機語言中,算術表達式的求值規(guī)律與數(shù)學中四則運算的規(guī)律類似,其運算規(guī)則和要求如下:
(1)在算術表達式中,可使用多層圓括號,但左右括號必須配對。運算時從內(nèi)層圓括號開始,由內(nèi)向外依次計算表達式的值。
(2)在算術表達式中,若包含不同優(yōu)先級的運算符,則按運算符的優(yōu)先級由高到低進行;若表達式中運算符的級別相同,則按運算符的結(jié)合方向進行。例如表達式a+b-c,因為+號和-號的優(yōu)先級相同,它們的結(jié)合性為從左到右,因此先計算a+b,然后把所得結(jié)果減去c的值。
2.5.3 強制類型轉(zhuǎn)換表達式
強制類型轉(zhuǎn)換表達式的形式如下:
(類型名)(表達式)
上述形式中,(類型名)稱為強制類型轉(zhuǎn)換運算符,利用強制類型轉(zhuǎn)換運算符可以將一個表達式的值轉(zhuǎn)換成指定的類型,這種轉(zhuǎn)換是根據(jù)人為要求進行的。例如:表達式(int)3.234把3.234轉(zhuǎn)換成整數(shù)3;表達式(double)(10%3)把10%3所得結(jié)果1轉(zhuǎn)換成雙精度數(shù)。
編輯推薦:北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |