3.符號常量聲明語句符號常量在使用之前必須先進(jìn)行聲明。符號常量聲明語句同變量聲明語句類似,其語法格式為:const<類型名><符號常量名><初值表達(dá)式>……;
其中,關(guān)鍵字const指明這是一條符號常量聲明語句,后面跟著符號常量的類型名,接著是符號常量名,它是一個用戶定義的標(biāo)識符,符號常量名之后為一個賦值號和一個初值表達(dá)式。由此可見,必須在聲明符號常量的同時為其賦初值。該語句也可以聲明多個符號常量。系統(tǒng)執(zhí)行符號常量聲明語句時,需要依次為每個符號常量分配存儲單元并賦初值。一個符號常量被聲明后,它的值就是聲明所賦予的初值,作為常量,這個值以后將始終保持不變,因為系統(tǒng)只允許讀取它的值,而不允許再次向它賦值。另外,在符號常量聲明語句中,若<類型名>為int,則int可省略。符號常量聲明語句既可以出現(xiàn)在函數(shù)體外,也可以出現(xiàn)在函數(shù)體內(nèi),這一點(diǎn)也跟變量定義語句相同。C+ +關(guān)鍵字中的true和false就是系統(tǒng)預(yù)先定義的兩個符號常量,它們的值分別為1和0。使用符號常量往往可以提高程序的可讀性和可維護(hù)性。由于符號常量和變量同樣要求系統(tǒng)為其分配內(nèi)存單元,所以可以把符號變量視為一種不允許賦值改變的或只讀不寫的變量,稱其為const變量。4使用#define命令定義符號常量# define命令是一條預(yù)處理命令,也可以用它來定義符號常量。其命令格式為:#define<符號常量名><字符序列><符號常量名>是用戶定義的標(biāo)識符,又稱為宏或宏標(biāo)識符;<字符序列>也是由用戶給定的用來代替宏的一串字符序列,也稱為宏替換體,它可以是數(shù)值常量、可計算值的表達(dá)式或字符串。宏被該命令定義后就可以使用在其后的程序中。當(dāng)程序被編譯時將把所有地方使用的宏標(biāo)識符替換為對應(yīng)的字符序列,并把宏命令刪除掉。 【考點(diǎn)四】
運(yùn)算符和表達(dá)式
1.運(yùn)算符和表達(dá)式的概念C+ +語言中的運(yùn)算符又稱為操作符,是用來對數(shù)據(jù)進(jìn)行運(yùn)算的符號。C+ +語言中的運(yùn)算符可以根據(jù)其運(yùn)算分量個數(shù)的多少分為單目(或一元)運(yùn)算符、雙目(或二元)運(yùn)算符和三目(或三元)運(yùn)算符3類。運(yùn)算符可能是一個字符,也可能由兩個或三個字符組成,還有一些運(yùn)算符是C+ +關(guān)鍵字。
2.運(yùn)算類型與運(yùn)算符C+ +包含多種不同種類的運(yùn)算。每一種運(yùn)算與其他運(yùn)算的區(qū)別在于以下3個方面:(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)算分量為一個表達(dá)式。"="為賦值運(yùn)算符(與數(shù)學(xué)中的等號含義不同)。左運(yùn)算分量為與右運(yùn)算分量類型相同的變量。賦值運(yùn)算的具體操作為:先計算右端表達(dá)式的值,然后把該值賦給左端變量。
4.算術(shù)運(yùn)算符和算術(shù)表達(dá)式算術(shù)運(yùn)算是指int型、float型、double(也包括char型)的數(shù)值類數(shù)據(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ù)運(yùn)算符(包括單目和雙目)連接運(yùn)算分量而組成的式子稱為算術(shù)表達(dá)式。每個算術(shù)表達(dá)式的值為一個數(shù)值,其類型按照以下規(guī)則確定:(1)當(dāng)參加運(yùn)算的兩個運(yùn)算分量均為整型時(但具體類型可以不同,如一個為int型,另一個為char型),則運(yùn)算結(jié)果為int型。(2)當(dāng)參加運(yùn)算的兩個運(yùn)算分量中至少有一個是單精度型,并且另一個不是雙精度型時,則運(yùn)算結(jié)果為float型。(3)當(dāng)參加運(yùn)算的兩個運(yùn)算分量中至少有一個是雙精度型時,則運(yùn)算結(jié)果為雙精度型。
5.關(guān)系運(yùn)算符和關(guān)系表達(dá)式C+ +語言提供了6種關(guān)系運(yùn)算符,它們是:<(小于)、< =(小于等于)、>(大于)、> =(大于等于)、= =(等于)、! =(不等于)這6種運(yùn)算符都是雙目運(yùn)算符,用來比較兩個運(yùn)算分量的大小,運(yùn)算結(jié)果為邏輯型值true或false(它們分別對應(yīng)著整數(shù)1和0。由一個關(guān)系運(yùn)算符連接前后兩個數(shù)值表達(dá)式而構(gòu)成的式子稱為關(guān)系表達(dá)式,簡稱關(guān)系式。當(dāng)一個關(guān)系式成立時,則計算結(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)計算兩邊運(yùn)算分量的值;(2)若運(yùn)算分量的值不是邏輯型,則自動轉(zhuǎn)換為邏輯型,即以0值為假(即false),非0值為真(即true);(3)按不同邏輯運(yùn)算符計算返回值。
7.位運(yùn)算C+ +提供6種位運(yùn)算符。(1)"&"是按位與運(yùn)算符,它將兩個運(yùn)算分量的對應(yīng)二進(jìn)制位進(jìn)行與操作。基中,0 和0與得0,0和1與得0,1和0與得0,1和1與得1。(2)"|"是按位或運(yùn)算符,它將兩個運(yùn)算分量的對應(yīng)二進(jìn)制位進(jìn)行或操作。其中,0和0或得0,0和1或得1,1和0或得1,1和1或得1。(3)"^"是按位異或運(yùn)算符,它將兩個運(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)算分量的值必須是一個整數(shù)。(5)"<<"是按位左移運(yùn)算符,由于左移的位數(shù)為右邊運(yùn)算分量的值,所以右邊運(yùn)算分量的值必須是一個整數(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)算分量>
8.其他運(yùn)算(1)條件運(yùn)算符條件運(yùn)算是C+ +中唯一的三目運(yùn)算,與其對應(yīng)的運(yùn)算符?:稱為條件運(yùn)算符。條件運(yùn)算符的使用格式為:<表達(dá)式1>?<表達(dá)式2>:<表達(dá)式3>當(dāng)計算有條件運(yùn)算符構(gòu)成的表達(dá)式時,首先計算<表達(dá)式1>,若其值非0,則計算出<表達(dá)式2>的值,并用這個值作為整個表達(dá)式的值;若<表達(dá)式1>的值為0,則計算出<表達(dá)式3>的值,并用這個值作為整個表達(dá)式的值。(2)逗號運(yùn)算符C+ +中使用逗號運(yùn)算符指明對多個表達(dá)式進(jìn)行順序求值。逗號運(yùn)算符的使用格式為:<表達(dá)式1>,<表達(dá)式2>,……<表達(dá)式n>其中,每個逗號都稱為逗號運(yùn)算符,整個式子稱為逗號表達(dá)式。上述逗號表達(dá)式的求值步驟為:從左向右依次計算<表達(dá)式1>、<表達(dá)式2>…<表達(dá)式n>的值;將<表達(dá)式n>(即最右端的表達(dá)式)的值作為整個逗號表達(dá)式的值。(3)sizeof運(yùn)算符使用運(yùn)算符sizeof可以進(jìn)行字長提取操作,因此sizeof運(yùn)算符又稱為字長提取符,它的使用格式為:sizeof(<運(yùn)算分量>)
其中,sizeof為關(guān)鍵字;<運(yùn)算分量>既可以是一個類型名,也可以是一個表達(dá)式,當(dāng)作為<運(yùn)算分量>的表達(dá)式只包含一個變量名時,圓括號()可以省略。字長提取運(yùn)算的結(jié)果為一個整數(shù),該整數(shù)表示指定的類型或變量的字節(jié)長度,即在內(nèi)存中占用的字節(jié)(Byte)數(shù)。(4)圓括號運(yùn)算符C+ +中不僅將圓括號()歸為運(yùn)算符,而且根據(jù)不同的使用方式,可以對圓括號運(yùn)算符的功能作出以下3種不同的解釋:①圓括號用于函數(shù)調(diào)用。其格式為:<函數(shù)名>(<實參表>)②圓括號用于強(qiáng)制類型轉(zhuǎn)換。其格式為:(<類型名>)<表達(dá)式>③圓括號用于類型構(gòu)造。其格式為:<類型名>(<表達(dá)式>)類型構(gòu)造是指使用圓括號中<表達(dá)式>的值來構(gòu)造一個具有目標(biāo)數(shù)據(jù)類型的值,要構(gòu)造的目標(biāo)數(shù)據(jù)類型由<類型名>指定。④數(shù)組下標(biāo)運(yùn)算符:[](下標(biāo))。⑤指針運(yùn)算符:*(取地址)和&(值引用)。⑥動態(tài)存儲分配運(yùn)算符:new(分配)和delete(釋放)。⑦作用域限定運(yùn)算符:::(類域或全局域)
9.優(yōu)先級和結(jié)合性根據(jù)運(yùn)算符的優(yōu)先級和結(jié)合性,可以將表達(dá)式的計算順序規(guī)則總結(jié)為以下3條:(1)優(yōu)先計算帶有括號的子表達(dá)式;(2)在沒有括號的部分,依照運(yùn)算符優(yōu)先級,由高到低進(jìn)行計算;(3)具有相同優(yōu)先級的運(yùn)算符,按照結(jié)合性規(guī)定,依次進(jìn)行計算。C+ +運(yùn)算符分成17個優(yōu)先級,優(yōu)先級數(shù)字越小,表示運(yùn)算符優(yōu)先級越高。具有同一優(yōu)先級數(shù)字的運(yùn)算符,優(yōu)先級相同。單目運(yùn)算符、賦值運(yùn)算符和復(fù)合賦值運(yùn)算符是右結(jié)合的,其余所有運(yùn)算符都是左結(jié)合的。
希望與更多計算機(jī)等級考試的網(wǎng)友交流,請進(jìn)入計算機(jī)等級考試論壇
更多信息請訪問:考試吧計算機(jī)等級考試欄目
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |