欧美日韩不卡一区二区三区,www.蜜臀.com,高清国产一区二区三区四区五区,欧美日韩三级视频,欧美性综合,精品国产91久久久久久,99a精品视频在线观看

試題

計算機(jī)二級C++考點:C++語言概述

時間:2025-01-03 15:20:46 試題 我要投稿
  • 相關(guān)推薦

計算機(jī)二級C++考點:C++語言概述

  C++語言概述常常被作為計算機(jī)二級C++語言理論的考點,下面就是小編跟大家分享C++語言概述,歡迎大家閱讀!

  1.1C++語言的發(fā)展

  C++起源于C語言。1980年貝爾實驗室的BjarneStroustrup和他的同事們開始對C語言進(jìn)行改進(jìn)和擴(kuò)充,把Simula67(一種早期的面向?qū)ο笳Z言)中類的概念引入到C語言,并將改進(jìn)后的C語言稱為“帶類的C”(Cwithclass)。1983年夏,“帶類的C”被正式命名為“C++”,并于同年7月首次對外發(fā)表。

  1.2C++語言的特點

  1C++是一種面向?qū)ο蟮某绦蛟O(shè)計語言

  (1)抽象數(shù)據(jù)類型。

  (2)封裝和信息隱藏。

  (3)以繼承和派生方式實現(xiàn)程序的重用。

  (4)以運(yùn)算符重載和虛函數(shù)來實現(xiàn)多態(tài)性。

  (5)以模板來實現(xiàn)類型的參數(shù)化。

  2C++是程序員和軟件開發(fā)者在實踐中創(chuàng)造的

  C++往往從編寫實際程序的角度出發(fā),為程序員提供了各種實用、靈活、高效的語言特性。

  3C++是C語言的超集

  能夠很好地兼容C語言正是C++取得成功的原因之一,這是因為:

  (1)C++繼承了C語言簡明、高效、靈活等眾多優(yōu)點。

  (2)以前使用C語言編寫的大批軟件可以不加任何修改,直接在C++開發(fā)環(huán)境下維護(hù)。

  (3)C語言程序員只需要學(xué)習(xí)C++擴(kuò)充的新特性,就可以很快地使用C++編寫程序。

  1.3面向?qū)ο蟪绦蛟O(shè)計

  C++是一種面向?qū)ο蟮某绦蛟O(shè)計語言,它充分支持面向?qū)ο笏枷胫械娜齻主要特征是:

  1封裝性

  封裝性是指將數(shù)據(jù)和算法捆綁成一個整體,這個整體就是對象,描述對象的數(shù)據(jù)被封裝在其內(nèi)部。如果需要存取數(shù)據(jù),可以通過對象提供的算法來進(jìn)行操作,而無需知道對象內(nèi)部的數(shù)據(jù)是如何表示和存儲的。這種思想被稱為信息隱藏。

  2繼承性

  繼承性是指一種事物保留了另一種事物的全部特征,并且具有自身的獨(dú)有特征。

  C++語言采用繼承來支持重用,程序可以在現(xiàn)有類型的基礎(chǔ)上擴(kuò)展功能來定義新類型。新類型是從現(xiàn)有類型中派生出來的,因此被稱為派生類。

  3多態(tài)性

  多態(tài)性是指當(dāng)多種事物繼承自一種事物時,同一種操作在它們之間表現(xiàn)出不同的行為。

  C++語言中使用函數(shù)重載、模板、虛函數(shù)等概念來支持多態(tài)性。

  C++語言主要包括面向過程和面向?qū)ο髢刹糠謨?nèi)容。學(xué)習(xí)C++語言時,應(yīng)該先學(xué)習(xí)其面向過程部分,再學(xué)習(xí)面向?qū)ο蟛糠帧?/p>

  1.4C++語言的基本符號

  C++語言中的基本符號可以分為3類:

  1字母。包括大寫英文字母和小寫英文字母共52個符號。

  2數(shù)字

  3特殊符號。包括:

  +-*/=,_:;?〓″〓′~|!#%&()[]{}^<>和“空格”共30個符號。

  這三類符號共計92個,它們組成了C++語言的基本符號集合。

  1.5C++語言的詞匯

  1關(guān)鍵字

  關(guān)鍵字也稱為保留字,它是由C++語言本身預(yù)先定義好的一類單詞。

  表1ANSIC標(biāo)準(zhǔn)規(guī)定的關(guān)鍵字

  autobreakcasechar

  constcontinuedefaultdo

  doubleelseenumextern

  floatforgotoif

  intlongregisterreturn

  shortsignedsizeofstatic

  structswitchtypedefunion

  unsignedvoidvolatilewhile

  表2ANSIC++標(biāo)準(zhǔn)補(bǔ)充的關(guān)鍵字

  boolcatchclassconst_cast

  dynamic_castexplicitfalse

  friendinlinemutablenamespace

  newoperatorprivateprotected

  publicreinterpret_casestatic_casttemplate

  thisthrowtruetry

  typeidtypenameusingvirtual

  wchar_t2標(biāo)識符

  標(biāo)識符是用戶為程序中各種需要命名的“元素”所起的名字。標(biāo)識符的組成要符合一定的規(guī)則:

  (1)標(biāo)識符是一個以字母或下劃線開頭的,由字母、數(shù)字、下劃線組成的字符串。

  (2)標(biāo)識符不能與任意一個關(guān)鍵字同名。

  (3)標(biāo)識符中的字母區(qū)分大小寫。

  (4)標(biāo)識符不宜過長。C++語言一般設(shè)定一個標(biāo)識符的有效長度為32個字符。

  3字面常量

  常量是指在程序中固定不變的值。常量一般有兩種表示形式,即符號常量和字面常量。C++語言中符號常量的名字就是一個標(biāo)識符,而字面常量卻是一類特殊的單詞。字面常量分為整型、浮點型、字符型和字符串型四類。

  4運(yùn)算符

  運(yùn)算符是對程序中的數(shù)據(jù)進(jìn)行操作的一類單詞。C++語言中運(yùn)算符的種類非常豐富,其中有:

  (1)單字符組成的運(yùn)算符。

  (2)雙字符組成的運(yùn)算符。

  (3)三個字符組成的運(yùn)算符。

  (4)關(guān)鍵字運(yùn)算符。

  5標(biāo)點符號

  標(biāo)點符號是在程序中起分割內(nèi)容和界定范圍作用的一類單詞。

  表3C++語言的標(biāo)點符號

  標(biāo)點符號描述

  (空格)語句中各成分之間的分割符

 ;(分號)語句的結(jié)束符

  ′(單引號)字符常量的起止標(biāo)記符

  ″(雙引號)字符串常量的起止標(biāo)記符

  #(井字號)預(yù)處理命令的開始標(biāo)記符

  {(左花括號)復(fù)合語句的開始標(biāo)記符

 。(右花括號)復(fù)合語句的結(jié)束標(biāo)記符

  ∥(雙斜杠)行注釋的開始標(biāo)記符

  /*(斜杠和星號)塊注釋的開始標(biāo)記符

  */(星號和斜杠)塊注釋的結(jié)束標(biāo)記符

  1.6C++程序的基本框架

  由于C++語言既支持結(jié)構(gòu)化程序設(shè)計,又支持面向?qū)ο蟪绦蛟O(shè)計,所以它同時具有結(jié)構(gòu)化程序設(shè)計和面向?qū)ο蟪绦蛟O(shè)計兩種基本框架。

  1結(jié)構(gòu)化程序設(shè)計框架

  在C++的結(jié)構(gòu)化程序設(shè)計框架中,函數(shù)是程序的基本組成單元。程序的主體通常由若干函數(shù)定義構(gòu)成。

  函數(shù)是程序中完成一定功能的模塊。各個函數(shù)之間通過參數(shù)、返回值和全局變量來進(jìn)行數(shù)據(jù)通信。

  當(dāng)編寫一個較大的程序時,可以把它按照功能逐級劃分成許多相對獨(dú)立的小模塊。每個小模塊的功能由一個函數(shù)實現(xiàn),再通過適當(dāng)?shù)姆椒▽⑦@些函數(shù)組織在一起協(xié)同工作,就能夠完成整個程序所規(guī)定的任務(wù)。這種方法體現(xiàn)出了結(jié)構(gòu)化程序設(shè)計中“功能分解,逐步求精”的思想。

  使用結(jié)構(gòu)化程序設(shè)計方法編寫出的C++程序包括一個主函數(shù)和若干用戶定義函數(shù)。主函數(shù)由操作系統(tǒng)調(diào)用,它是整個程序的入口。在主函數(shù)中調(diào)用其他函數(shù),其他函數(shù)之間也可以相互調(diào)用,并且同一個函數(shù)可以被一個或多個函數(shù)調(diào)用任意多次。在C++中一個函數(shù)被調(diào)用之前必須先被聲明。函數(shù)聲明和函數(shù)體放在一起組成函數(shù)定義;函數(shù)體是用花括號括起來的若干語句,它們完成了一個函數(shù)的具體功能。

  一般地,一個C++程序的結(jié)構(gòu)化程序設(shè)計框架可以表示為:

 。己瘮(shù)1的聲明>

  <函數(shù)2的聲明>

  …

 。己瘮(shù)n的聲明>

 。贾骱瘮(shù)main()>

  <函數(shù)1的定義>

 。己瘮(shù)2的定義>

  …

  <函數(shù)n的定義>

  2面向?qū)ο蟪绦蛟O(shè)計框架

  在C++的面向?qū)ο蟪绦蛟O(shè)計框架中,類成為程序的基本組成單元。程序的主體通常由若干類的定義構(gòu)成。

  類可以把數(shù)據(jù)和函數(shù)封裝在一起,用以描述事物的屬性和對事物的操作。類與類之間一方面通過封裝而具有明確的獨(dú)立性;另一方面又通過成員、友元、參數(shù)、繼承和派生等關(guān)系,達(dá)到相互通信和聯(lián)絡(luò)的目的,從而形成一個有機(jī)的整體。

  在結(jié)構(gòu)化程序設(shè)計中,除了主函數(shù)之外,所有函數(shù)之間一律“平等”,沒有層次關(guān)系可言,當(dāng)程序規(guī)模稍大時,就會使整體結(jié)構(gòu)變得相當(dāng)混亂。相反,在面向?qū)ο蟪绦蛟O(shè)計中,類與類之間能夠按照邏輯關(guān)系組成有條理的層次結(jié)構(gòu),從而使一個復(fù)雜程序變得有“綱”可循。這正體現(xiàn)出面向?qū)ο笏枷氲膬?yōu)越性。

  一般地,一個C++程序的面向?qū)ο蟪绦蛟O(shè)計框架可以表示為:

 。碱1的定義>

 。碱2的定義>

  …

  <類n的定義>

 。贾骱瘮(shù)main()>

  <類1的成員函數(shù)定義>

 。碱2的成員函數(shù)定義>

  …

 。碱恘的成員函數(shù)定義>

  1.7C++程序的開發(fā)過程

  開發(fā)一個C++程序的過程通常包括編輯、編譯、鏈接、運(yùn)行和調(diào)試等步驟。

  1編輯

  在VC6集成開發(fā)環(huán)境中,用戶可以使用編輯窗口來進(jìn)行C++程序的編輯工作。VC6的編輯窗口是專門為編輯C++程序而設(shè)計的,它提供了包括語法亮色、調(diào)用提示、自動縮進(jìn)、查找和替換等在內(nèi)的一系列功能,使用起來十分方便。

  當(dāng)用戶完成了C++程序的編輯時,應(yīng)將輸入的程序文本保存為以cpp為擴(kuò)展名的文件(保存C++頭文時應(yīng)以h為擴(kuò)展名)。

  2編譯

  在VC6集成開發(fā)環(huán)境中,用戶可以使用編譯(Compile)命令將一個以cpp為擴(kuò)展名的C++源程序文件轉(zhuǎn)換成一個以obj為擴(kuò)展名的目標(biāo)文件。如果一個C++程序由多個源程序文件組成,應(yīng)將它們分別進(jìn)行編譯形成多個目標(biāo)文件。

  3鏈接

  在VC6集成開發(fā)環(huán)境中,用戶可以使用生成(Build)命令來進(jìn)行目標(biāo)文件的鏈接工作。另外,在源程序文件沒有被編譯的情況下直接使用此命令,可以使編譯和鏈接工作一起完成。

  4運(yùn)行和調(diào)試

  在編譯和鏈接工作成功地完成之后可以運(yùn)行得到的可執(zhí)行程序,觀察程序是否符合我們所期望的運(yùn)行結(jié)果。在VC6集成開發(fā)環(huán)境中,用戶可以使用執(zhí)行(Execute)命令來運(yùn)行程序。

  如果程序的運(yùn)行結(jié)果不是我們所期望的,說明源程序文件中存在著語義錯誤。這時,需要使用調(diào)試器對可執(zhí)行程序進(jìn)行跟蹤調(diào)試來查找錯誤發(fā)生的原因。在VC6集成開發(fā)環(huán)境中,用戶可以很方便地進(jìn)入調(diào)試狀態(tài),對程序進(jìn)行設(shè)置斷點、單步執(zhí)行、觀察變量等操作。

【計算機(jī)二級C++考點:C++語言概述】相關(guān)文章:

計算機(jī)二級C++模板概述07-06

計算機(jī)二級C++函數(shù)考點07-22

2017計算機(jī)二級C++考點類的轉(zhuǎn)換05-20

2017計算機(jī)二級C++考點習(xí)題及答案07-07

計算機(jī)二級C++考點:基本控制結(jié)構(gòu)01-25

計算機(jī)二級C++重載雙目運(yùn)算符概述01-22

C++函數(shù)考點歸納05-19

2016最新計算機(jī)二級C++考點解析「模板」03-21

計算機(jī)二級C++語言筆試試卷及答案03-10