計算機二級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集成開發環境中,用戶可以很方便地進入調試狀態,對程序進行設置斷點、單步執行、觀察變量等操作。