亚洲综合AⅤ一区二区三区不卡,欧美成在线观看国产,老司机精品视频在线观看播放,精品久久国产免费

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

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

      第2章 數(shù)據(jù)類型、運(yùn)算符和表達(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碼集對(duì)應(yīng)的全部符號(hào)。

      (3)整型

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

      (4)浮點(diǎn)型

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

      浮點(diǎn)型數(shù)據(jù)的取值范圍原則上是任意大小和精度的小數(shù),但實(shí)際上不可能是任意大小的,而是有一定范圍的。C+ +中的浮點(diǎn)數(shù)可以采用尾數(shù)加階碼的表示形式,表示的浮點(diǎn)數(shù)范圍是:?jiǎn)尉刃?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類型還可以用來聲明一個(gè)指針變量。

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

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

      short 短類型,縮短字長(zhǎng);

      long長(zhǎng)類型,加長(zhǎng)字長(zhǎng);

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

      unsigned無符號(hào)類型,取值范圍只包括正值;

      2.2 常量

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

      1.邏輯常量

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

      2.字符常量

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

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

      3.整型常量

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

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

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

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

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

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

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

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

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

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

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

      4.實(shí)型常量

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

      (1)定點(diǎn)表示

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

      (2)浮點(diǎn)表示

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

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

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

      5.枚舉常量

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

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

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

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

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

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

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

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

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

      2.3 變量

      1.變量的定義

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

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

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

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

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

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

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

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

      (3)中間不能有空格;

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

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

      2變量的使用方式

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

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

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

      (2)生存期與作用域

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

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

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

      (3)變量的存儲(chǔ)類屬性

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

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

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

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

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

      (4)typedef類型說明

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

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

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

      3符號(hào)常量聲明語句

      符號(hào)常量在使用之前必須先進(jìn)行聲明。符號(hào)常量聲明語句同變量聲明語句類似,其語法格式為:

      const<類型名><符號(hào)常量名><初值表達(dá)式>……;

      其中,關(guān)鍵字const指明這是一條符號(hào)常量聲明語句,后面跟著符號(hào)常量的類型名,接著是符號(hào)常量名,它是一個(gè)用戶定義的標(biāo)識(shí)符,符號(hào)常量名之后為一個(gè)賦值號(hào)和一個(gè)初值表達(dá)式。由此可見,必須在聲明符號(hào)常量的同時(shí)為其賦初值。該語句也可以聲明多個(gè)符號(hào)常量。

      系統(tǒng)執(zhí)行符號(hào)常量聲明語句時(shí),需要依次為每個(gè)符號(hào)常量分配存儲(chǔ)單元并賦初值。一個(gè)符號(hào)常量被聲明后,它的值就是聲明所賦予的初值,作為常量,這個(gè)值以后將始終保持不變,因?yàn)橄到y(tǒng)只允許讀取它的值,而不允許再次向它賦值。另外,在符號(hào)常量聲明語句中,若<類型名>為int,則int可省略。

      符號(hào)常量聲明語句既可以出現(xiàn)在函數(shù)體外,也可以出現(xiàn)在函數(shù)體內(nèi),這一點(diǎn)也跟變量定義語句相同。

      C+ +關(guān)鍵字中的true和false就是系統(tǒng)預(yù)先定義的兩個(gè)符號(hào)常量,它們的值分別為1和0。使用符號(hào)常量往往可以提高程序的可讀性和可維護(hù)性。由于符號(hào)常量和變量同樣要求系統(tǒng)為其分配內(nèi)存單元,所以可以把符號(hào)變量視為一種不允許賦值改變的或只讀不寫的變量,稱其為const變量。

      4使用#define命令定義符號(hào)常量

      # define命令是一條預(yù)處理命令,也可以用它來定義符號(hào)常量。其命令格式為:

      #define<符號(hào)常量名><字符序列>

      <符號(hào)常量名>是用戶定義的標(biāo)識(shí)符,又稱為宏或宏標(biāo)識(shí)符;<字符序列>也是由用戶給定的用來代替宏的一串字符序列,也稱為宏替換體,它可以是數(shù)值常量、可計(jì)算值的表達(dá)式或字符串。宏被該命令定義后就可以使用在其后的程序中。當(dāng)程序被編譯時(shí)將把所有地方使用的宏標(biāo)識(shí)符替換為對(duì)應(yīng)的字符序列,并把宏命令刪除掉。

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

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

      C+ +語言中的運(yùn)算符又稱為操作符,是用來對(duì)數(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)于對(duì)運(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(它們分別對(duì)應(yīng)著整數(shù)1和0。由一個(gè)關(guān)系運(yùn)算符連接前后兩個(gè)數(shù)值表達(dá)式而構(gòu)成的式子稱為關(guān)系表達(dá)式,簡(jiǎn)稱關(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)算分量的對(duì)應(yīng)二進(jìn)制位進(jìn)行與操作。基中,0 和0與得0,0和1與得0,1和0與得0,1和1與得1。

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

      (3)“^”是按位異或運(yùn)算符,它將兩個(gè)運(yùn)算分量的對(duì)應(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)算分量的對(duì)應(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)算,與其對(duì)應(yīng)的運(yùn)算符?:稱為條件運(yùn)算符。條件運(yùn)算符的使用格式為:

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

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

      (2)逗號(hào)運(yùn)算符

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

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

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

      (3)sizeof運(yùn)算符

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

      sizeof(<運(yùn)算分量>)

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

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

      (4)圓括號(hào)運(yùn)算符

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

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

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

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

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

      ③圓括號(hào)用于類型構(gòu)造。其格式為:

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

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

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

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

     、迍(dòng)態(tài)存儲(chǔ)分配運(yùn)算符:new(分配)和delete(釋放)。

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

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

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

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

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

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

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

    1 2  下一頁

      編輯推薦:

      權(quán)威預(yù)測(cè):2013年全國(guó)計(jì)算機(jī)等級(jí)考試時(shí)間

      2013年上半年計(jì)算機(jī)等級(jí)考試報(bào)名時(shí)間預(yù)測(cè)

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

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