首頁考試吧論壇Exam8視線考試商城網(wǎng)絡(luò)課程模擬考試考友錄實用文檔求職招聘論文下載
2013中考
法律碩士
2013高考
MBA考試
2013考研
MPA考試
在職研
中科院
考研培訓(xùn) 自學(xué)考試 成人高考
四 六 級
GRE考試
攻碩英語
零起點日語
職稱英語
口譯筆譯
申碩英語
零起點韓語
商務(wù)英語
日語等級
GMAT考試
公共英語
職稱日語
新概念英語
專四專八
博思考試
零起點英語
托?荚
托業(yè)考試
零起點法語
雅思考試
成人英語三級
零起點德語
等級考試
華為認(rèn)證
水平考試
Java認(rèn)證
職稱計算機(jī) 微軟認(rèn)證 思科認(rèn)證 Oracle認(rèn)證 Linux認(rèn)證
公 務(wù) 員
導(dǎo)游考試
物 流 師
出版資格
單 證 員
報 關(guān) 員
外 銷 員
價格鑒證
網(wǎng)絡(luò)編輯
駕 駛 員
報檢員
法律顧問
管理咨詢
企業(yè)培訓(xùn)
社會工作者
銀行從業(yè)
教師資格
營養(yǎng)師
保險從業(yè)
普 通 話
證券從業(yè)
跟 單 員
秘書資格
電子商務(wù)
期貨考試
國際商務(wù)
心理咨詢
營 銷 師
司法考試
國際貨運代理人
人力資源管理師
廣告師職業(yè)水平
衛(wèi)生資格 執(zhí)業(yè)醫(yī)師 執(zhí)業(yè)藥師 執(zhí)業(yè)護(hù)士
會計從業(yè)資格
基金從業(yè)資格
統(tǒng)計從業(yè)資格
經(jīng)濟(jì)師
精算師
統(tǒng)計師
會計職稱
法律顧問
ACCA考試
注冊會計師
資產(chǎn)評估師
審計師考試
高級會計師
注冊稅務(wù)師
國際內(nèi)審師
理財規(guī)劃師
美國注冊會計師
一級建造師
安全工程師
設(shè)備監(jiān)理師
公路監(jiān)理師
公路造價師
二級建造師
招標(biāo)師考試
物業(yè)管理師
電氣工程師
建筑師考試
造價工程師
注冊測繪師
質(zhì)量工程師
巖土工程師
造價員考試
注冊計量師
環(huán)保工程師
化工工程師
咨詢工程師
結(jié)構(gòu)工程師
城市規(guī)劃師
材料員考試
監(jiān)理工程師
房地產(chǎn)估價
土地估價師
安全評價師
房地產(chǎn)經(jīng)紀(jì)人
投資項目管理師
環(huán)境影響評價師
土地登記代理人
繽紛校園 實用文檔 英語學(xué)習(xí) 作文大全 求職招聘 論文下載 訪談|游戲
計算機(jī)等級考試

2013二級C++考點歸納:數(shù)據(jù)類型、運算符和表達(dá)式

  第2章 數(shù)據(jù)類型、運算符和表達(dá)式

  2.1 C++語言的數(shù)據(jù)類型

  C+ +中的數(shù)據(jù)類型大體可以分成三類,它們是:基本類型、導(dǎo)出類型和用戶定義類型。

  1.基本類型

  (1)邏輯型

  邏輯型用關(guān)鍵字bool表示,因此又稱為bool型(布爾型)。邏輯型的取值范圍只包含true和false,它們都是C+ +關(guān)鍵字。

  (2)字符型

  字符型用關(guān)鍵字char表示,因此又稱為char型,即把字符作為一種數(shù)據(jù)進(jìn)行操作。字符型的取值范圍是全部基本字符以及ASCII碼集或擴(kuò)充ASCII碼集對應(yīng)的全部符號。

  (3)整型

  整型用關(guān)鍵字int表示,因此又稱為int型,它是C+ +中最常用的數(shù)據(jù)類型,整型數(shù)據(jù)的取值范圍是計算機(jī)所能表示的所有整數(shù)。

  (4)浮點型

  浮點型包括單精度型和雙精度型兩種,單精度型用關(guān)鍵字float表示,又稱float型;雙精度型用關(guān)鍵字double表示,又稱double型。它們對應(yīng)著數(shù)學(xué)中實數(shù)的概念,即帶有小數(shù)點的數(shù)。

  浮點型數(shù)據(jù)的取值范圍原則上是任意大小和精度的小數(shù),但實際上不可能是任意大小的,而是有一定范圍的。C+ +中的浮點數(shù)可以采用尾數(shù)加階碼的表示形式,表示的浮點數(shù)范圍是:單精度型-3.4E38~3.4E38,但不能超過7位有效數(shù)字;雙精度型-1.7977E308~1.7977E308 ,但不能超過15位有效數(shù)字。

  (5)空值型

  空值型用關(guān)鍵字void表示,因此又稱為void型?罩敌偷娜≈禐榭铡+ +中不存在void型的常量或變量。C+ +語言規(guī)定,所有函數(shù)說明都必須指明返回值類型,沒有返回值的函數(shù)應(yīng)說明為void類型的函數(shù);另外,void類型還可以用來聲明一個指針變量。

  2.基本類型的派生類型

  C+ +語言中,基本類型的字長及其取值范圍可以放大和縮小,改變后的類型就叫做基本類型的派生類型。派生類型聲明符是由基本類型關(guān)鍵字char、int、float、double前面加上類型修飾符組成的。類型修飾符包括:

  short 短類型,縮短字長;

  long長類型,加長字長;

  signed有符號類型,取值范圍包括正負(fù)值;

  unsigned無符號類型,取值范圍只包括正值;

  2.2 常量

  常量是指在程序執(zhí)行過程中值不改變的量。常量有兩種表示形式,即字面常量和符號常量。字面常量的類型是根據(jù)書寫形式來區(qū)分的,它們的類型分別為:整型、浮點型、字符型、字符串型,每個字面常量的字面本身就是它的值。符號常量是一個標(biāo)識符,在程序中必須遵循“先聲明,后使用”的原則。

  1.邏輯常量

  邏輯常量主要用在邏輯運算中,此外,由于邏輯值對應(yīng)著整數(shù)1或0,所以它也能夠像其他整數(shù)一樣出現(xiàn)在表達(dá)式中,參與各種整數(shù)運算。

  2.字符常量

  字符常量簡稱字符,它以單引號作為起止符號,中間有一個或若干個字符。這是一般意義上的字符常量;除此之外還有一種特殊形式的字符常量,以“\”開頭的包括多個字符的字符序列也是符合規(guī)定的字符常量。但是,無論字符常量包含一個還是多個字符,每個字符常量只能表示一個字符,當(dāng)字符常量的一對單引號內(nèi)多于一個字符時,則將按照一定的規(guī)則解釋為一個字符。

  計算機(jī)中常用的ASCII字符也是字符型的數(shù)據(jù),因為ASCII碼值在0~127之間,正好落在字符型數(shù)據(jù)的取值范圍之內(nèi)。ASCII字符集中的每一個顯示字符(個別字符除外)都可以作為一個字符常量。但是,對于一些特殊的字符,如回車、換行等具有控制功能的字符,或者像單引號、雙引號等作為特殊標(biāo)記使用的字符,就無法直接采用單引號作為起止符號來表示。C+ +中引入了“轉(zhuǎn)義”字符的概念,其含義是:用反斜線“\”引導(dǎo)的下一個字符失去了原來的含義,而轉(zhuǎn)義為具有某種控制功能的字符。另外,還允許用反斜線引導(dǎo)一個具有1至3位的八進(jìn)制整數(shù)或一個以字母x(大、小寫均可)作為開始標(biāo)記的具有1至2位的十六進(jìn)制整數(shù),對應(yīng)的字符就是以這個整數(shù)作為ASCII碼的字符。

  3.整型常量

  整型常量就是整型常數(shù),簡稱整數(shù),它有十進(jìn)制、八進(jìn)制和十六進(jìn)制3種表示。

  (1)十進(jìn)制整數(shù)

  十進(jìn)制整數(shù)以正號(+)或負(fù)號(-)開頭,由首位非0的一串十進(jìn)制數(shù)字組成。若以正號開頭則為正數(shù),若以負(fù)號開頭則為負(fù)數(shù),若省略正負(fù)號,則默認(rèn)為正數(shù)。

  當(dāng)一個十進(jìn)制整數(shù)大于等于-2 147 483 648(即231),同時小于等于2 147 483 647(即-231-1)時,則被系統(tǒng)看作是整型常量;當(dāng)在2 147 483 648~4 294 967 295即232-1范圍之內(nèi)時,則被看作是無符號整型常量;當(dāng)超過上述兩個范圍時,則無法用C+ +整數(shù)類型表示,只有把它用實數(shù)(即帶小數(shù)點的數(shù))表示才能夠被有效地存儲和處理。

  (2)八進(jìn)制整數(shù)

  八進(jìn)制整數(shù)以數(shù)字0開頭,后面接若干個八進(jìn)制數(shù)字(借用十進(jìn)制數(shù)字中的0~7)。八進(jìn)制整數(shù)前面不帶正負(fù)號,全部默認(rèn)為正數(shù)。

  當(dāng)一個八進(jìn)制整數(shù)大于等于0同時小于等于017777777777時,則稱為整型常量,當(dāng)大于等于020000000000同時小于等于037777777777時,則稱為無符號整型數(shù)量。不要使用超過上述兩個范圍的八進(jìn)制整數(shù),因為沒有與此相對應(yīng)的C+ +整數(shù)類型。

  (3)十六進(jìn)制整數(shù)

  十六進(jìn)制整數(shù)以數(shù)字0和字母x(大、小寫均可)開頭,后面接若干個十六進(jìn)制數(shù)字(借用十進(jìn)制數(shù)字0~9,字母A~F或a~f)。

  當(dāng)一個十六進(jìn)制整數(shù)大于等于0同時小于等于0x7FFFFFFF時,則稱為整型常量,當(dāng)大于等于0x80000000同時小于等于0xFFFFFFFF時,則稱為無符號整型常量,與八進(jìn)制整數(shù)類似,超過上述兩個范圍的十六進(jìn)制整數(shù)也沒有與之相對應(yīng)的C+ +整數(shù)類型,所以也不能使用它們。

  C+ +中的整型數(shù)據(jù)除了一般表示方法之外,還允許給它們添加后綴u或l。對于任一種進(jìn)制的整數(shù),若后綴為字母u(大、小寫均可),則規(guī)定它為一個無符號整型(unsigned int)數(shù),若后綴為字母l(大、小寫均可),則規(guī)定它為一個長整型(long int)數(shù)。在一個整數(shù)的末尾,可以同時使用u和l,并且對排列無要求。

  4.實型常量

  實型常量有十進(jìn)制的定點和浮點兩種表示方法,但并不存在其他進(jìn)制的表示,下面分別介紹這兩種表示方法。

  (1)定點表示

  定點表示的實數(shù)簡稱定點數(shù),實際上是以小數(shù)形式表示實數(shù)。定點表示的實數(shù)是由一個正號或負(fù)號(正號可以省略)后接若干個十進(jìn)制數(shù)字和一個小數(shù)點所組成,這個小數(shù)點可以處在任何一個數(shù)字位的前面或后面。

  (2)浮點表示

  浮點表示的實數(shù)簡稱浮點數(shù),實際上是以指數(shù)形式表示實數(shù)。浮點表示的實數(shù)是由一個十進(jìn)制整數(shù)或定點數(shù)后接一個字母E(大、小寫均可)和一個1至3位的十進(jìn)制整數(shù)所組成,字母E之前的部分稱為該浮點數(shù)的尾數(shù),之后的部分成為該浮點數(shù)的指數(shù),該浮點數(shù)的值就是它的尾數(shù)乘以10的指數(shù)冪。

  對于一個浮點數(shù),若將它尾數(shù)中的小數(shù)點調(diào)整到最左邊第一個非零數(shù)字的后面,則稱它為規(guī)格化(或標(biāo)準(zhǔn)化)浮點數(shù)。

  實型常量分為單精度(float)、雙精度(double)和長雙精度(long double)三類。一般float型數(shù)據(jù)在內(nèi)存中占4個字節(jié),提供7位有效數(shù)字;double型數(shù)據(jù)占8個字節(jié),提供15位有效數(shù)字;long double型數(shù)據(jù)占10個字節(jié),提供19位有效數(shù)字。對于一個定點數(shù)或浮點數(shù),C+ +自動按一個雙精度數(shù)(double型)來存儲。若在一個定點數(shù)或浮點數(shù)之后加上字母F(大、小寫均可),則自動按一個單精度數(shù)來存儲。

  5.枚舉常量

  枚舉常量是枚舉類型中定義的值,即枚舉植。枚舉類型屬于用戶定義類型,用關(guān)鍵字enum表示,因此又稱為enum類型。用戶通常利用枚舉類型定義程序中需要使用的一組相關(guān)符號常量。聲明枚舉類型的語法格式為:

  enum<類型名>{<枚舉值表>};

  其中,enum是關(guān)鍵字,指出要定義的是枚舉類型。<類型名>是標(biāo)識符,即由用戶給出的具體枚舉類型名。<枚舉值表>包含多個枚舉值,它們用逗號分隔開,每個枚舉值就是一個枚舉常量。枚舉值有兩種定義形式:一是<值名>;二是<值名>=<整型常量>。

  關(guān)于enum類型有四點說明:

  (1)一個enum類型實際上是int類型的一個子集,其每一個枚舉值代表一個整數(shù)。

  (2)n個枚舉值全部未賦常量值時,它們自左至右分別與整數(shù)0,1…n-1對應(yīng)。

  (3)若第i個枚舉值賦常量值為m,則其未賦常量值的后續(xù)枚舉值分別與整數(shù)m+1,m+2…對應(yīng),直到下一個賦了值的枚舉值或結(jié)束。因此,為枚舉值所賦的整型常量值應(yīng)從左至右遞增。

  (4)枚舉類型的聲明也可作為成組聲明若干整型符號常量的方法。也就是說,把每個要聲明的符號常量作為一個枚舉值,將各個枚舉值合在一起定義成一個枚舉類型。

  由于枚舉類型屬于用戶定義數(shù)據(jù)類型,一旦枚舉類型被定義后就可以使用它來定義變量。

  2.3 變量

  1.變量的定義

  變量的定義是通過變量聲明語句來實現(xiàn)的,變量聲明語句的一般格式為:

  [<存儲類>]<類型名><變量名>[=<初值表達(dá)式>],...;

  <存儲類>有四種,它們分別是auto、register、static、extern。

  <類型名>為已存在的一種數(shù)據(jù)類型名稱,如char,short,int,long,float,double等基本數(shù)據(jù)類型名,或者用戶定義的數(shù)據(jù)類型名。

  <變量名>是用戶定義的一個標(biāo)識符,用來表示一個變量,該變量可以通過后面的可選項賦予一個值,稱為給變量賦初值,也叫做對變量進(jìn)行初始化。C+ +中標(biāo)識符是區(qū)分大小寫的,也就是說,大寫字母和小寫字母被認(rèn)為是不同的字母。

  變量名的命名遵循如下規(guī)則:

  (1) 不能是C+ +關(guān)鍵字;

  (2)第一個字符必須是字母或下劃線;

  (3)中間不能有空格;

  (4)變量名中不能包括;,′″+-之類的特殊符號。

  實際上變量名中除了能使用26個英文大小寫字母和數(shù)字外,只能使用下劃線“_”。

  2變量的使用方式

  (1)全局變量和局部變量

  全局變量是在所有函數(shù)定義、類定義和程序塊之外聲明的變量。聲明全局變量時如果在程序中不對它進(jìn)行專門的初始化,該變量會被系統(tǒng)自動初始化為0。在程序的任何一個函數(shù)、類或程序塊之內(nèi)均可以訪問全局變量。

  局部變量是在某個函數(shù)定義、類定義或程序塊之內(nèi)聲明的變量。局部變量只能在聲明它的函數(shù)、類或程序塊中被訪問。

  (2)生存期與作用域

  生存期是指從一個變量被聲明且分配了內(nèi)存開始,直到該變量聲明語句失效,它占用的內(nèi)存空間被釋放為止。一個全局變量的生存期從它被聲明開始,直到程序結(jié)束;一個局部變量的生存期從它被聲明開始,直到包含它的最近的一個程序塊結(jié)束。

  作用域是指變量名可以代表該變量存儲空間的使用范圍。

  一般情況下,變量的作用域與其生存期一致,但由于C+ +語言允許在程序的不同部分為不同變量取同一名字,因此一個變量名的作用域可能小于其生存期。

  (3)變量的存儲類屬性

  在C+ +中變量還可以按存儲分配方式的不同被劃分為4種不同的存儲類別,它們分別是:

 、賏uto變量:用關(guān)鍵字auto聲明的局部變量稱為自動變量。auto為變量聲明時的默認(rèn)存儲類別,即在變量定義時,如果不顯式標(biāo)明存儲類別,則系統(tǒng)自動按auto變量處理。auto變量所占用存儲空間的分配和釋放工作將由系統(tǒng)自動完成。

  ②register變量:用關(guān)鍵字register聲明的局部變量稱為寄存器變量。register變量可能以寄存器作為其存儲空間。聲明寄存器變量時,關(guān)鍵字register的作用只能是建議(而不是強(qiáng)制)系統(tǒng)使用寄存器,原因是寄存器雖然存取速度快,但空間有限,當(dāng)寄存器不夠用時,該變量仍然按自動變量處理。

 、踫tatic變量:用關(guān)鍵字static聲明的變量稱為靜態(tài)變量。任何靜態(tài)變量的生存期將延續(xù)到整個程序的終止。與全局變量一樣,為靜態(tài)變量分配的存儲空間在整個程序運行過程中不再被釋放;如果靜態(tài)變量未被賦初值,系統(tǒng)將自動為其賦初值為0。

 、躤xtern變量:用關(guān)鍵字extern聲明的變量稱為外部變量。變量一旦被聲明為外部變量,系統(tǒng)就不必像一般變量那樣為其分配內(nèi)存,因為該變量已在這一局部的外面被定義。外部變量一般用于多個文件組成的程序中,有些變量在多個文件中被聲明,但卻是指同一變量。標(biāo)明某一變量為外部變量可以避免為其重復(fù)分配內(nèi)存。

  (4)typedef類型說明

  使用關(guān)鍵字typedef可以為已有類型名定義一個新類型名。其語法格式為:

  typedef<已有類型名><新類型名>

  typedef類型說明并沒有真正地定義新的數(shù)據(jù)類型,它只是相當(dāng)于給某個已有的數(shù)據(jù)類型起了一個別名。在規(guī)模較大的程序中為了提高代碼可讀性常采用這種形式。

  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),這一點也跟變量定義語句相同。

  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)的字符序列,并把宏命令刪除掉。

  2.4 運算符和表達(dá)式

  1運算符和表達(dá)式的概念

  C+ +語言中的運算符又稱為操作符,是用來對數(shù)據(jù)進(jìn)行運算的符號。

  C+ +語言中的運算符可以根據(jù)其運算分量個數(shù)的多少分為單目(或一元)運算符、雙目(或二元)運算符和三目(或三元)運算符3類。

  運算符可能是一個字符,也可能由兩個或三個字符組成,還有一些運算符是C+ +關(guān)鍵字。

  2運算類型與運算符

  C+ +包含多種不同種類的運算。每一種運算與其他運算的區(qū)別在于以下3個方面:

  (1)參加運算的運算分量的數(shù)量和類型;

  (2)運算結(jié)果的數(shù)據(jù)類型;

  (3)運算的具體操作。

  3賦值運算

  賦值運算是一種雙目運算,其形式為:

  <變量名>=<表達(dá)式>

  右運算分量為一個表達(dá)式。“=”為賦值運算符(與數(shù)學(xué)中的等號含義不同)。左運算分量為與右運算分量類型相同的變量。

  賦值運算的具體操作為:先計算右端表達(dá)式的值,然后把該值賦給左端變量。

  4算術(shù)運算符和算術(shù)表達(dá)式

  算術(shù)運算是指int型、float型、double(也包括char型)的數(shù)值類數(shù)據(jù)計算后,得到同一類型數(shù)據(jù)的運算。算術(shù)運算中所使用的運算符稱為算術(shù)運算符。

  單目算術(shù)運算符包括:-(單減)、+ +(增量)和- -(減量)。

  單減運算的格式為:-<運算分量>

  單減運算相當(dāng)于對運算分量取相反數(shù),例如:-a,-(x+y)。

  增量運算有兩種形式。

  前綴增量:+ +<運算分量>

  后綴增量:<運算分量>+ +

  雙目算術(shù)運算符包括:+(加)、-(減)、*(乘)、/(除)和%(取余)。它們的含義與數(shù)學(xué)上相同。該類運算的運算分量為任一種數(shù)值類型,即任一種整數(shù)類型和任一種實數(shù)類型。

  由算術(shù)運算符(包括單目和雙目)連接運算分量而組成的式子稱為算術(shù)表達(dá)式。每個算術(shù)表達(dá)式的值為一個數(shù)值,其類型按照以下規(guī)則確定:

  (1)當(dāng)參加運算的兩個運算分量均為整型時(但具體類型可以不同,如一個為int型,另一個為char型),則運算結(jié)果為int型。

  (2)當(dāng)參加運算的兩個運算分量中至少有一個是單精度型,并且另一個不是雙精度型時,則運算結(jié)果為float型。

  (3)當(dāng)參加運算的兩個運算分量中至少有一個是雙精度型時,則運算結(jié)果為雙精度型。

  5關(guān)系運算符和關(guān)系表達(dá)式

  C+ +語言提供了6種關(guān)系運算符,它們是:

  <(小于)、< =(小于等于)、>(大于)、> =(大于等于)、= =(等于)、! =(不等于)

  這6種運算符都是雙目運算符,用來比較兩個運算分量的大小,運算結(jié)果為邏輯型值true或false(它們分別對應(yīng)著整數(shù)1和0。由一個關(guān)系運算符連接前后兩個數(shù)值表達(dá)式而構(gòu)成的式子稱為關(guān)系表達(dá)式,簡稱關(guān)系式。當(dāng)一個關(guān)系式成立時,則計算結(jié)果為邏輯值是(true),否則為邏輯值假(false)

  關(guān)系運算符的使用格式為:

  <運算分量><關(guān)系運算符><運算分量>

  6邏輯運算符和邏輯表達(dá)式

  C+ +語言提供了3種邏輯運算符,它們是:

  !(邏輯非)、&&(邏輯與)、(邏輯或)

  其中,!為單目運算符,&&和為雙目運算符。

  邏輯運算符的使用格式為:

  <邏輯運算符!><運算分量>

  <運算分量><邏輯運算符&&或><運算分量>

  邏輯運算的具體操作步驟為:

  (1)計算兩邊運算分量的值;

  (2)若運算分量的值不是邏輯型,則自動轉(zhuǎn)換為邏輯型,即以0值為假(即false),非0值為真(即true);

  (3)按不同邏輯運算符計算返回值。

  7位運算

  C+ +提供6種位運算符。

  (1)“&”是按位與運算符,它將兩個運算分量的對應(yīng)二進(jìn)制位進(jìn)行與操作。基中,0 和0與得0,0和1與得0,1和0與得0,1和1與得1。

  (2)“|”是按位或運算符,它將兩個運算分量的對應(yīng)二進(jìn)制位進(jìn)行或操作。其中,0和0或得0,0和1或得1,1和0或得1,1和1或得1。

  (3)“^”是按位異或運算符,它將兩個運算分量的對應(yīng)二進(jìn)制位進(jìn)行異或操作。其中,0和0異或得0,0和1異或得1,1和0異或得1,1和1異或得0。

  (4)“>>”是按位右移運算符,由于右移的位數(shù)為右邊運算分量的值,所以右邊運算分量的值必須是一個整數(shù)。

  (5)“<<”是按位左移運算符,由于左移的位數(shù)為右邊運算分量的值,所以右邊運算分量的值必須是一個整數(shù)。

  (6)“~”是按位取反運算符,它將運算分量的對應(yīng)二進(jìn)制數(shù)的每一位進(jìn)行取反操作。其中,0取反得1,1取反得0。

  位運算符的使用格式:

  <運算分量><雙目運算符><運算分量>

  <單目運算符><運算分量>

  8.其他運算

  (1)條件運算符

  條件運算是C+ +中唯一的三目運算,與其對應(yīng)的運算符?:稱為條件運算符。條件運算符的使用格式為:

  <表達(dá)式1>?<表達(dá)式2>:<表達(dá)式3>

  當(dāng)計算有條件運算符構(gòu)成的表達(dá)式時,首先計算<表達(dá)式1>,若其值非0,則計算出<表達(dá)式2>的值,并用這個值作為整個表達(dá)式的值;若<表達(dá)式1>的值為0,則計算出<表達(dá)式3>的值,并用這個值作為整個表達(dá)式的值。

  (2)逗號運算符

  C+ +中使用逗號運算符指明對多個表達(dá)式進(jìn)行順序求值。逗號運算符的使用格式為:

  <表達(dá)式1>,<表達(dá)式2>,……<表達(dá)式n>

  其中,每個逗號都稱為逗號運算符,整個式子稱為逗號表達(dá)式。上述逗號表達(dá)式的求值步驟為:從左向右依次計算<表達(dá)式1>、<表達(dá)式2>…<表達(dá)式n>的值;將<表達(dá)式n>(即最右端的表達(dá)式)的值作為整個逗號表達(dá)式的值。

  (3)sizeof運算符

  使用運算符sizeof可以進(jìn)行字長提取操作,因此sizeof運算符又稱為字長提取符,它的使用格式為:

  sizeof(<運算分量>)

  其中,sizeof為關(guān)鍵字;<運算分量>既可以是一個類型名,也可以是一個表達(dá)式,當(dāng)作為<運算分量>的表達(dá)式只包含一個變量名時,圓括號()可以省略。

  字長提取運算的結(jié)果為一個整數(shù),該整數(shù)表示指定的類型或變量的字節(jié)長度,即在內(nèi)存中占用的字節(jié)(Byte)數(shù)。

  (4)圓括號運算符

  C+ +中不僅將圓括號()歸為運算符,而且根據(jù)不同的使用方式,可以對圓括號運算符的功能作出以下3種不同的解釋:

 、賵A括號用于函數(shù)調(diào)用。其格式為:

  <函數(shù)名>(<實參表>)

 、趫A括號用于強(qiáng)制類型轉(zhuǎn)換。其格式為:

  (<類型名>)<表達(dá)式>

 、蹐A括號用于類型構(gòu)造。其格式為:

  <類型名>(<表達(dá)式>)

  類型構(gòu)造是指使用圓括號中<表達(dá)式>的值來構(gòu)造一個具有目標(biāo)數(shù)據(jù)類型的值,要構(gòu)造的目標(biāo)數(shù)據(jù)類型由<類型名>指定。

 、軘(shù)組下標(biāo)運算符:[](下標(biāo))。

 、葜羔樳\算符:*(取地址)和&(值引用)。

  ⑥動態(tài)存儲分配運算符:new(分配)和delete(釋放)。

 、咦饔糜蛳薅ㄟ\算符:::(類域或全局域)

  9.優(yōu)先級和結(jié)合性

  根據(jù)運算符的優(yōu)先級和結(jié)合性,可以將表達(dá)式的計算順序規(guī)則總結(jié)為以下3條:

  (1)優(yōu)先計算帶有括號的子表達(dá)式;

  (2)在沒有括號的部分,依照運算符優(yōu)先級,由高到低進(jìn)行計算;

  (3)具有相同優(yōu)先級的運算符,按照結(jié)合性規(guī)定,依次進(jìn)行計算。

  C+ +運算符分成17個優(yōu)先級,優(yōu)先級數(shù)字越小,表示運算符優(yōu)先級越高。具有同一優(yōu)先級數(shù)字的運算符,優(yōu)先級相同。單目運算符、賦值運算符和復(fù)合賦值運算符是右結(jié)合的,其余所有運算符都是左結(jié)合的。

1 2  下一頁

  編輯推薦:

  權(quán)威預(yù)測:2013年全國計算機(jī)等級考試時間

  2013年上半年計算機(jī)等級考試報名時間預(yù)測

  各地2012年9月全國計算機(jī)等級考試成績查詢預(yù)告

文章搜索
計算機(jī)等級考試欄目導(dǎo)航
版權(quán)聲明:如果計算機(jī)等級考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請與我們聯(lián)系800@exam8.com,我們將會及時處理。如轉(zhuǎn)載本計算機(jī)等級考試網(wǎng)內(nèi)容,請注明出處。