首頁(yè) - 網(wǎng)校 - 萬(wàn)題庫(kù) - 美好明天 - 直播 - 導(dǎo)航

2017年全國(guó)計(jì)算機(jī)二級(jí)C++考試復(fù)習(xí)知識(shí)點(diǎn)(1)

來(lái)源:考試吧 2017-09-29 9:00:44 要考試,上考試吧! 萬(wàn)題庫(kù)
“2017年全國(guó)計(jì)算機(jī)二級(jí)C++考試復(fù)習(xí)知識(shí)點(diǎn)(1)”供考生參考。更多計(jì)算機(jī)等級(jí)考試復(fù)習(xí)資料等信息請(qǐng)?jiān)L問(wèn)考試吧計(jì)算機(jī)等級(jí)考試網(wǎng)。

  點(diǎn)擊查看:2017年全國(guó)計(jì)算機(jī)二級(jí)C++考試復(fù)習(xí)知識(shí)點(diǎn)匯總

  一、C++概述

  (一) 發(fā)展歷史

  1980年,Bjarne Stroustrup博士開(kāi)始著手創(chuàng)建一種模擬語(yǔ)言,能夠具有面向?qū)ο蟮某绦蛟O(shè)計(jì)特色。在當(dāng)時(shí),面向?qū)ο缶幊踢是一個(gè)比較新的理念,Stroustrup博士并不是從頭開(kāi)始設(shè)計(jì)新語(yǔ)言,而是在C語(yǔ)言的基礎(chǔ)上進(jìn)行創(chuàng)建。這就是C++語(yǔ)言。

  1985年,C++開(kāi)始在外面慢慢流行。經(jīng)過(guò)多年的發(fā)展,C++已經(jīng)有了多個(gè)版本。為次,ANSI和ISO的聯(lián)合委員會(huì)于1989年著手為C++制定標(biāo)準(zhǔn)。1994年2月,該委員會(huì)出版了第一份非正式草案,1998年正式推出了C++的國(guó)際標(biāo)準(zhǔn)。

  (二) C和C++

  C++是C的超集,也可以說(shuō)C是C++的子集,因?yàn)镃先出現(xiàn)。按常理說(shuō),C++編譯器能夠編譯任何C程序,但是C和C++還是有一些小差別。

  例如C++增加了C不具有的關(guān)鍵字。這些關(guān)鍵字能作為函數(shù)和變量的標(biāo)識(shí)符在C程序中使用,盡管C++包含了所有的C,但顯然沒(méi)有任何C++編譯器能編譯這樣的C程序。

  C程序員可以省略函數(shù)原型,而C++不可以,一個(gè)不帶參數(shù)的C函數(shù)原型必須把void寫(xiě)出來(lái)。而C++可以使用空參數(shù)列表。

  C++中new和delete是對(duì)內(nèi)存分配的運(yùn)算符,取代了C中的malloc和free。

  標(biāo)準(zhǔn)C++中的字符串類(lèi)取代了C標(biāo)準(zhǔn)C函數(shù)庫(kù)頭文件中的字符數(shù)組處理函數(shù)。

  C++中用來(lái)做控制態(tài)輸入輸出的iostream類(lèi)庫(kù)替代了標(biāo)準(zhǔn)C中的stdio函數(shù)庫(kù)。

  C++中的try/catch/throw異常處理機(jī)制取代了標(biāo)準(zhǔn)C中的setjmp()和longjmp()函數(shù)。

  二、關(guān)鍵字和變量

  C++相對(duì)與C增加了一些關(guān)鍵字,如下:

  typename bool dynamic_cast mutable namespace

  static_cast using catch explicit new

  virtual operator false private template

  volatile const protected this wchar_t

  const_cast public throw friend true

  reinterpret_cast try

  bitor xor_e and_eq compl or_eq

  not_eq bitand

  在C++中還增加了bool型變量和wchar_t型變量:

  布爾型變量是有兩種邏輯狀態(tài)的變量,它包含兩個(gè)值:真和假。如果在表達(dá)式中使用了布爾型變量,那么將根據(jù)變量值的真假而賦予整型值1或0。要把一個(gè)整型變量轉(zhuǎn)換成布爾型變量,如果整型值為0,則其布爾型值為假;反之如果整型值為非0,則其布爾型值為真。布兒型變量在運(yùn)行時(shí)通常用做標(biāo)志,比如進(jìn)行邏輯測(cè)試以改變程序流程。

  #include iostream.h

  int main()

  {

  bool flag;

  flag=true;

  if(flag) cout < return 0;

  }

  C++中還包括wchar_t數(shù)據(jù)類(lèi)型,wchar_t也是字符類(lèi)型,但是是那些寬度超過(guò)8位的數(shù)據(jù)類(lèi)型。許多外文字符集所含的數(shù)目超過(guò)256個(gè),char字符類(lèi)型無(wú)法完全囊括。wchar_t數(shù)據(jù)類(lèi)型一般為16位。

  標(biāo)準(zhǔn)C++的iostream類(lèi)庫(kù)中包括了可以支持寬字符的類(lèi)和對(duì)象。用wout替代cout即可。

  #include iostream.h

  int main()

  {

  wchar_t wc;

  wc='b';

  wout < wc='y';

  wout < wc='e';

  wout < return 0;

  }

  說(shuō)明一下:某些編譯器無(wú)法編譯該程序(不支持該數(shù)據(jù)類(lèi)型)。

  三、強(qiáng)制類(lèi)型轉(zhuǎn)換

  有時(shí)候,根據(jù)表達(dá)式的需要,某個(gè)數(shù)據(jù)需要被當(dāng)成另外的數(shù)據(jù)類(lèi)型來(lái)處理,這時(shí),就需要強(qiáng)制編譯器把變量或常數(shù)由聲明時(shí)的類(lèi)型轉(zhuǎn)換成需要的類(lèi)型。為此,就要使用強(qiáng)制類(lèi)型轉(zhuǎn)換說(shuō)明,格式如下:

  int* iptr=(int*) &table;

  表達(dá)式的前綴(int*)就是傳統(tǒng)C風(fēng)格的強(qiáng)制類(lèi)型轉(zhuǎn)換說(shuō)明(typecast),又可稱(chēng)為強(qiáng)制轉(zhuǎn)換說(shuō)明(cast)。強(qiáng)制轉(zhuǎn)換說(shuō)明告訴編譯器把表達(dá)式轉(zhuǎn)換成指定的類(lèi)型。有些情況下強(qiáng)制轉(zhuǎn)換是禁用的,例如不能把一個(gè)結(jié)構(gòu)類(lèi)型轉(zhuǎn)換成其他任何類(lèi)型。數(shù)字類(lèi)型和數(shù)字類(lèi)型、指針和指針之間可以相互轉(zhuǎn)換。當(dāng)然,數(shù)字類(lèi)型和指針類(lèi)型也可以相互轉(zhuǎn)換,但通常認(rèn)為這樣做是不安全而且也是沒(méi)必要的。強(qiáng)制類(lèi)型轉(zhuǎn)換可以避免編譯器的警告。

  long int el=123;

  short i=(int) el;

  float m=34.56;

  int i=(int) m;

  上面兩個(gè)都是C風(fēng)格的強(qiáng)制類(lèi)型轉(zhuǎn)換,C++還增加了一種轉(zhuǎn)換方式,比較一下上面和下面這個(gè)書(shū)寫(xiě)方式的不同:

  long int el=123;

  short i=int (el);

  float m=34.56;

  int i=int (m);

  使用強(qiáng)制類(lèi)型轉(zhuǎn)換的最大好處就是:禁止編譯器對(duì)你故意去做的事發(fā)出警告。但是,利用強(qiáng)制類(lèi)型轉(zhuǎn)換說(shuō)明使得編譯器的類(lèi)型檢查機(jī)制失效,這不是明智的選擇。通常,是不提倡進(jìn)行強(qiáng)制類(lèi)型轉(zhuǎn)換的。除非不可避免,如要調(diào)用malloc()函數(shù)時(shí)要用的void型指針轉(zhuǎn)換成指定類(lèi)型指針。

  四、標(biāo)準(zhǔn)輸入輸出流

  在C語(yǔ)言中,輸入輸出是使用語(yǔ)句scanf()和printf()來(lái)實(shí)現(xiàn)的,而C++中是使用類(lèi)來(lái)實(shí)現(xiàn)的。

  #include iostream.h

  main() //C++中main()函數(shù)默認(rèn)為int型,而C語(yǔ)言中默認(rèn)為void型。

  {

  int a;

  cout <

  cin>>a; /*輸入一個(gè)數(shù)值*/

  cout < return 0;

  }

  cin,cout,endl對(duì)象,他們本身并不是C++語(yǔ)言的組成部分。雖然他們已經(jīng)是ANSI標(biāo)準(zhǔn)C++中被定義,但是他們不是語(yǔ)言的內(nèi)在組成部分。在C++中不提供內(nèi)在的輸入輸出運(yùn)算符,這與其他語(yǔ)言是不同的。輸入和輸出是通過(guò)C++類(lèi)來(lái)實(shí)現(xiàn)的,cin和cout是這些類(lèi)的實(shí)例,他們是在C++語(yǔ)言的外部實(shí)現(xiàn)。

  在C++語(yǔ)言中,有了一種新的注釋方法,就是‘//’,在該行//后的所有說(shuō)明都被編譯器認(rèn)為是注釋?zhuān)@種注釋不能換行。C++中仍然保留了傳統(tǒng)C語(yǔ)言的注釋風(fēng)格/*……*/。

  C++也可采用格式化輸出的方法:

  #include iostream.h

  int main()

  {

  int a;

  cout <

  cin>>a;

  cout

掃描/長(zhǎng)按二維碼幫助考試通關(guān)
2017等考成績(jī)查詢(xún)時(shí)間
2017等考各科通關(guān)技巧
2017各科最新預(yù)測(cè)試卷
2017等考成績(jī)?cè)u(píng)定及管理

微信搜索"考試吧"了解更多考試資訊、下載備考資料

  相關(guān)推薦:

  2017年全國(guó)計(jì)算機(jī)等級(jí)考試時(shí)間|教材目錄(2017年版)

  2017年9月計(jì)算機(jī)等級(jí)考試真題|計(jì)算機(jī)等級(jí)考試答案

  各地2017年9月計(jì)算機(jī)等考成績(jī)查詢(xún)時(shí)間|免費(fèi)查分提醒

  計(jì)算機(jī)等級(jí)考試成績(jī)?cè)u(píng)定流程及標(biāo)準(zhǔn)|合格證書(shū)樣本及證書(shū)說(shuō)明

  歷年真題匯總|考試吧特別策劃:2017年計(jì)算機(jī)等級(jí)考試報(bào)考指南

0
收藏該文章
0
收藏該文章
文章搜索
萬(wàn)題庫(kù)小程序
萬(wàn)題庫(kù)小程序
·章節(jié)視頻 ·章節(jié)練習(xí)
·免費(fèi)真題 ·?荚囶}
微信掃碼,立即獲!
掃碼免費(fèi)使用
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
此欄目下沒(méi)有文章
版權(quán)聲明:如果計(jì)算機(jī)等級(jí)考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請(qǐng)與我們聯(lián)系800@exam8.com,我們將會(huì)及時(shí)處理。如轉(zhuǎn)載本計(jì)算機(jī)等級(jí)考試網(wǎng)內(nèi)容,請(qǐng)注明出處。
Copyright © 2004- 考試吧計(jì)算機(jī)等級(jí)考試網(wǎng) 出版物經(jīng)營(yíng)許可證新出發(fā)京批字第直170033號(hào) 
京ICP證060677 京ICP備05005269號(hào) 中國(guó)科學(xué)院研究生院權(quán)威支持(北京)
在線(xiàn)模擬試題
考證通關(guān)殺器
考試最新資訊
學(xué)
一次通關(guān)技巧