計算機二級

當前位置 /首頁/計算機/計算機二級/列表

計算機二級C++考點:C++語言概述

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

計算機二級C++考點:C++語言概述

1.1C++語言的發展

C++起源於C語言。1980年貝爾實驗室的BjarneStroustrup和他的同事們開始對C語言進行改進和擴充,把Simula67(一種早期的物件導向語言)中類的概念引入到C語言,並將改進後的C語言稱為“帶類的C”(Cwithclass)。1983年夏,“帶類的C”被正式命名為“C++”,並於同年7月首次對外發表。

1.2C++語言的特點

1C++是一種物件導向的程式設計語言

(1)抽象資料型別。

(2)封裝和資訊隱藏。

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

(4)以運算子過載和虛擬函式來實現多型性。

(5)以模板來實現型別的引數化。

2C++是程式設計師和軟體開發者在實踐中創造的

C++往往從編寫實際程式的角度出發,為程式設計師提供了各種實用、靈活、高效的語言特性。

3C++是C語言的超集

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

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

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

(3)C語言程式設計師只需要學習C++擴充的新特性,就可以很快地使用C++編寫程式。

1.3物件導向程式設計

C++是一種物件導向的程式設計語言,它充分支援物件導向思想中的三個主要特徵是:

1封裝性

封裝性是指將資料和演算法捆綁成一個整體,這個整體就是物件,描述物件的資料被封裝在其內部。如果需要存取資料,可以通過物件提供的演算法來進行操作,而無需知道物件內部的資料是如何表示和儲存的。這種思想被稱為資訊隱藏。

2繼承性

繼承性是指一種事物保留了另一種事物的全部特徵,並且具有自身的獨有特徵。

C++語言採用繼承來支援重用,程式可以在現有型別的基礎上擴充套件功能來定義新型別。新型別是從現有型別中派生出來的,因此被稱為派生類。

3多型性

多型性是指當多種事物繼承自一種事物時,同一種操作在它們之間表現出不同的行為。

C++語言中使用函式過載、模板、虛擬函式等概念來支援多型性。

C++語言主要包括面向過程和物件導向兩部分內容。學習C++語言時,應該先學習其面向過程部分,再學習物件導向部分。

1.4C++語言的基本符號

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

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

2數字

3特殊符號。包括:

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

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

1.5C++語言的詞彙

1關鍵字

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

表1ANSIC標準規定的關鍵字

autobreakcasechar

constcontinuedefaultdo

doubleelseenumextern

floatforgotoif

intlongregisterreturn

shortsignedsizeofstatic

structswitchtypedefunion

unsignedvoidvolatilewhile

表2ANSIC++標準補充的關鍵字

boolcatchclassconst_cast

dynamic_castexplicitfalse

friendinlinemutablenamespace

newoperatorprivateprotected

publicreinterpret_casestatic_casttemplate

thisthrowtruetry

typeidtypenameusingvirtual

wchar_t2識別符號

識別符號是使用者為程式中各種需要命名的“元素”所起的名字。識別符號的組成要符合一定的規則:

(1)識別符號是一個以字母或下劃線開頭的,由字母、數字、下劃線組成的字串。

(2)識別符號不能與任意一個關鍵字同名。

(3)識別符號中的字母區分大小寫。

(4)識別符號不宜過長。C++語言一般設定一個識別符號的有效長度為32個字元。

3字面常量

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

4運算子

運算子是對程式中的資料進行操作的一類單詞。C++語言中運算子的種類非常豐富,其中有:

(1)單字元組成的運算子。

(2)雙字元組成的運算子。

(3)三個字元組成的運算子。

(4)關鍵字運算子。

5標點符號

標點符號是在程式中起分割內容和界定範圍作用的一類單詞。

表3C++語言的標點符號

標點符號描述

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

;(分號)語句的結束符

′(單引號)字元常量的起止標記符

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

#(井字號)預處理命令的開始標記符

{(左花括號)複合語句的開始標記符

}(右花括號)複合語句的結束標記符

∥(雙斜槓)行註釋的開始標記符

/*(斜槓和星號)塊註釋的開始標記符

*/(星號和斜槓)塊註釋的結束標記符

1.6C++程式的基本框架

由於C++語言既支援結構化程式設計,又支援物件導向程式設計,所以它同時具有結構化程式設計和物件導向程式設計兩種基本框架。

1結構化程式設計框架

在C++的結構化程式設計框架中,函式是程式的基本組成單元。程式的主體通常由若干函式定義構成。

函式是程式中完成一定功能的模組。各個函式之間通過引數、返回值和全域性變數來進行資料通訊。

當編寫一個較大的程式時,可以把它按照功能逐級劃分成許多相對獨立的小模組。每個小模組的功能由一個函式實現,再通過適當的方法將這些函式組織在一起協同工作,就能夠完成整個程式所規定的任務。這種方法體現出了結構化程式設計中“功能分解,逐步求精”的思想。

使用結構化程式設計方法編寫出的C++程式包括一個主函式和若干使用者定義函式。主函式由作業系統呼叫,它是整個程式的入口。在主函式中呼叫其他函式,其他函式之間也可以相互呼叫,並且同一個函式可以被一個或多個函式呼叫任意多次。在C++中一個函式被呼叫之前必須先被宣告。函式宣告和函式體放在一起組成函式定義;函式體是用花括號括起來的若干語句,它們完成了一個函式的具體功能。

一般地,一個C++程式的.結構化程式設計框架可以表示為:

<函式1的宣告>

<函式2的宣告>

<函式n的宣告>

<主函式main()>

<函式1的定義>

<函式2的定義>

<函式n的定義>

2物件導向程式設計框架

在C++的物件導向程式設計框架中,類成為程式的基本組成單元。程式的主體通常由若干類的定義構成。

類可以把資料和函式封裝在一起,用以描述事物的屬性和對事物的操作。類與類之間一方面通過封裝而具有明確的獨立性;另一方面又通過成員、友元、引數、繼承和派生等關係,達到相互通訊和聯絡的目的,從而形成一個有機的整體。

在結構化程式設計中,除了主函式之外,所有函式之間一律“平等”,沒有層次關係可言,當程式規模稍大時,就會使整體結構變得相當混亂。相反,在物件導向程式設計中,類與類之間能夠按照邏輯關係組成有條理的層次結構,從而使一個複雜程式變得有“綱”可循。這正體現出物件導向思想的優越性。

一般地,一個C++程式的物件導向程式設計框架可以表示為:

<類1的定義>

<類2的定義>

<類n的定義>

<主函式main()>

<類1的成員函式定義>

<類2的成員函式定義>

<類n的成員函式定義>

1.7C++程式的開發過程

開發一個C++程式的過程通常包括編輯、編譯、連結、執行和除錯等步驟。

1編輯

在VC6整合開發環境中,使用者可以使用編輯視窗來進行C++程式的編輯工作。VC6的編輯視窗是專門為編輯C++程式而設計的,它提供了包括語法亮色、呼叫提示、自動縮排、查詢和替換等在內的一系列功能,使用起來十分方便。

當用戶完成了C++程式的編輯時,應將輸入的程式文字儲存為以cpp為副檔名的檔案(儲存C++頭文時應以h為副檔名)。

2編譯

在VC6整合開發環境中,使用者可以使用編譯(Compile)命令將一個以cpp為副檔名的C++源程式檔案轉換成一個以obj為副檔名的目標檔案。如果一個C++程式由多個源程式檔案組成,應將它們分別進行編譯形成多個目標檔案。

3連結

在VC6整合開發環境中,使用者可以使用生成(Build)命令來進行目標檔案的連結工作。另外,在源程式檔案沒有被編譯的情況下直接使用此命令,可以使編譯和連結工作一起完成。

4執行和除錯

在編譯和連結工作成功地完成之後可以執行得到的可執行程式,觀察程式是否符合我們所期望的執行結果。在VC6整合開發環境中,使用者可以使用執行(Execute)命令來執行程式。

如果程式的執行結果不是我們所期望的,說明源程式檔案中存在著語義錯誤。這時,需要使用偵錯程式對可執行程式進行跟蹤除錯來查詢錯誤發生的原因。在VC6整合開發環境中,使用者可以很方便地進入除錯狀態,對程式進行設定斷點、單步執行、觀察變數等操作。