2.4 運(yùn)算符和表達(dá)式
1運(yùn)算符和表達(dá)式的概念
C+ +語言中的運(yùn)算符又稱為操作符,是用來對數(shù)據(jù)進(jìn)行運(yùn)算的符號(hào)。
C+ +語言中的運(yùn)算符可以根據(jù)其運(yùn)算分量個(gè)數(shù)的多少分為單目(或一元)運(yùn)算符、雙目(或二元)運(yùn)算符和三目(或三元)運(yùn)算符3類。
運(yùn)算符可能是一個(gè)字符,也可能由兩個(gè)或三個(gè)字符組成,還有一些運(yùn)算符是C+ +關(guān)鍵字。
2運(yùn)算類型與運(yùn)算符
C+ +包含多種不同種類的運(yùn)算。每一種運(yùn)算與其他運(yùn)算的區(qū)別在于以下3個(gè)方面:
(1)參加運(yùn)算的運(yùn)算分量的數(shù)量和類型;
(2)運(yùn)算結(jié)果的數(shù)據(jù)類型;
(3)運(yùn)算的具體操作。
3賦值運(yùn)算
賦值運(yùn)算是一種雙目運(yùn)算,其形式為:
<變量名>=<表達(dá)式>
右運(yùn)算分量為一個(gè)表達(dá)式!=”為賦值運(yùn)算符(與數(shù)學(xué)中的等號(hào)含義不同)。左運(yùn)算分量為與右運(yùn)算分量類型相同的變量。
賦值運(yùn)算的具體操作為:先計(jì)算右端表達(dá)式的值,然后把該值賦給左端變量。
4算術(shù)運(yùn)算符和算術(shù)表達(dá)式
算術(shù)運(yùn)算是指int型、float型、double(也包括char型)的數(shù)值類數(shù)據(jù)計(jì)算后,得到同一類型數(shù)據(jù)的運(yùn)算。算術(shù)運(yùn)算中所使用的運(yùn)算符稱為算術(shù)運(yùn)算符。
單目算術(shù)運(yùn)算符包括:-(單減)、+ +(增量)和- -(減量)。
單減運(yùn)算的格式為:-<運(yùn)算分量>
單減運(yùn)算相當(dāng)于對運(yùn)算分量取相反數(shù),例如:-a,-(x+y)。
增量運(yùn)算有兩種形式。
前綴增量:+ +<運(yùn)算分量>
后綴增量:<運(yùn)算分量>+ +
雙目算術(shù)運(yùn)算符包括:+(加)、-(減)、*(乘)、/(除)和%(取余)。它們的含義與數(shù)學(xué)上相同。該類運(yùn)算的運(yùn)算分量為任一種數(shù)值類型,即任一種整數(shù)類型和任一種實(shí)數(shù)類型。
由算術(shù)運(yùn)算符(包括單目和雙目)連接運(yùn)算分量而組成的式子稱為算術(shù)表達(dá)式。每個(gè)算術(shù)表達(dá)式的值為一個(gè)數(shù)值,其類型按照以下規(guī)則確定:
(1)當(dāng)參加運(yùn)算的兩個(gè)運(yùn)算分量均為整型時(shí)(但具體類型可以不同,如一個(gè)為int型,另一個(gè)為char型),則運(yùn)算結(jié)果為int型。
(2)當(dāng)參加運(yùn)算的兩個(gè)運(yùn)算分量中至少有一個(gè)是單精度型,并且另一個(gè)不是雙精度型時(shí),則運(yùn)算結(jié)果為float型。
(3)當(dāng)參加運(yùn)算的兩個(gè)運(yùn)算分量中至少有一個(gè)是雙精度型時(shí),則運(yùn)算結(jié)果為雙精度型。
5關(guān)系運(yùn)算符和關(guān)系表達(dá)式
C+ +語言提供了6種關(guān)系運(yùn)算符,它們是:
<(小于)、< =(小于等于)、>(大于)、> =(大于等于)、= =(等于)、! =(不等于)
這6種運(yùn)算符都是雙目運(yùn)算符,用來比較兩個(gè)運(yùn)算分量的大小,運(yùn)算結(jié)果為邏輯型值true或false(它們分別對應(yīng)著整數(shù)1和0。由一個(gè)關(guān)系運(yùn)算符連接前后兩個(gè)數(shù)值表達(dá)式而構(gòu)成的式子稱為關(guān)系表達(dá)式,簡稱關(guān)系式。當(dāng)一個(gè)關(guān)系式成立時(shí),則計(jì)算結(jié)果為邏輯值是(true),否則為邏輯值假(false)
關(guān)系運(yùn)算符的使用格式為:
<運(yùn)算分量><關(guān)系運(yùn)算符><運(yùn)算分量>
6邏輯運(yùn)算符和邏輯表達(dá)式
C+ +語言提供了3種邏輯運(yùn)算符,它們是:
!(邏輯非)、&&(邏輯與)、(邏輯或)
其中,!為單目運(yùn)算符,&&和為雙目運(yùn)算符。
邏輯運(yùn)算符的使用格式為:
<邏輯運(yùn)算符!><運(yùn)算分量>
<運(yùn)算分量><邏輯運(yùn)算符&&或><運(yùn)算分量>
邏輯運(yùn)算的具體操作步驟為:
(1)計(jì)算兩邊運(yùn)算分量的值;
(2)若運(yùn)算分量的值不是邏輯型,則自動(dòng)轉(zhuǎn)換為邏輯型,即以0值為假(即false),非0值為真(即true);
(3)按不同邏輯運(yùn)算符計(jì)算返回值。
7位運(yùn)算
C+ +提供6種位運(yùn)算符。
(1)“&”是按位與運(yùn)算符,它將兩個(gè)運(yùn)算分量的對應(yīng)二進(jìn)制位進(jìn)行與操作;校0 和0與得0,0和1與得0,1和0與得0,1和1與得1。
(2)“|”是按位或運(yùn)算符,它將兩個(gè)運(yùn)算分量的對應(yīng)二進(jìn)制位進(jìn)行或操作。其中,0和0或得0,0和1或得1,1和0或得1,1和1或得1。
(3)“^”是按位異或運(yùn)算符,它將兩個(gè)運(yùn)算分量的對應(yīng)二進(jìn)制位進(jìn)行異或操作。其中,0和0異或得0,0和1異或得1,1和0異或得1,1和1異或得0。
(4)“>>”是按位右移運(yùn)算符,由于右移的位數(shù)為右邊運(yùn)算分量的值,所以右邊運(yùn)算分量的值必須是一個(gè)整數(shù)。
(5)“<<”是按位左移運(yùn)算符,由于左移的位數(shù)為右邊運(yùn)算分量的值,所以右邊運(yùn)算分量的值必須是一個(gè)整數(shù)。
(6)“~”是按位取反運(yùn)算符,它將運(yùn)算分量的對應(yīng)二進(jìn)制數(shù)的每一位進(jìn)行取反操作。其中,0取反得1,1取反得0。
位運(yùn)算符的使用格式:
<運(yùn)算分量><雙目運(yùn)算符><運(yùn)算分量>
<單目運(yùn)算符><運(yùn)算分量>
編輯推薦:
2014年上半年計(jì)算機(jī)等級(jí)考試報(bào)名時(shí)間預(yù)告
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |