內容簡介
本書在體系結構的安排上,將C++語言的基礎知識和一般的編程思想有機地結合起來,對於典型例題進行了詳細的分析解釋,除在每章後附有習題外,還在附錄中整合了實驗設計。本書由3個部分組成。第1部分(第1~8章)是對C++語言基本特性的介紹,有些是和C語言有類似的地方。第2部分(第9~12章)是關於C++語言面向對象的基本思想及設計方法。這些是C語言中所沒有的。正是這一部分,使得許多人認為C++語言太複雜,為了使普通讀者易於理解,我們力爭把這些內容寫得簡明扼要,通俗易懂,而又比較完整。第3部分是本書的附錄部分,包括有重要的實驗內容設計及Visual C++6.0環境介紹,這是掌握一種程式語言的重要環節。本著少而精的原則,全書版面清晰、結構緊湊,知識信息含量高,特別適合作為非計算機專業本科生教學或計算機套用培訓班的教材,同時,還可以作為自學或函授學習的參考書。
圖書目錄
第1章緒論
1.1程式設計概述
1.1.1電腦程式設計語言的發展
1.1.2程式設計的發展歷程
1.1.3結構化程式設計
1.1.4面向對象程式設計
1.2C++語言發展史簡介
1.3C++語言的基本語法成分
1.3.1字元集
1.3.2標識符
1.3.3關鍵字
1.3.4運算符
1.3.5分隔設定
1.3.6空白符
1.4C++程式的開發步驟和結構
1.4.1C++程式開發步驟
1.4.2C++程式的結構
第2章基本數據類型、運算符與表達式
2.1數據類型概述
2.2常量與變數
2.2.1常量
2.2.2變數
2.3基本數據類型
2.3.1整型
2.3.2實型
2.3.3字元型
2.3.4布爾類型
2.3.5void類型
2.4運算符和表達式
2.4.1賦值運算符和賦值表達式
2.4.2算術運算符和算術表達式
2.4.3關係運算符和關係表達式
2.4.4邏輯運算符和邏輯表達式
2.4.5條件運算符和條件表達式
2.4.6逗號運算符和逗號表達式
2.4.7位運算符
2.5類型轉換
2.5.1自動類型轉換
2.5.2強制類型轉換
習題
第3章結構化程式設計
3.1C++語言輸入輸出流
3.1.1C++語言無格式輸入輸出
3.1.2C++語言格式輸入輸出
3.2結構化程式設計概述
3.3順序結構程式設計
3.3.1順序結構
3.3.2程式舉例
3.4選擇結構程式設計
3.4.1用if語句實現選擇結構設計
3.4.2用switch語句實現選擇結構設計
3.5循環結構程式設計
3.5.1while語句
3.5.2dowhile語句
3.5.3for語句
3.5.4跳轉語句break和continue
3.5.5循環的嵌套
3.6程式設計舉例
習題
第4章數組
4.1一維數組
4.1.1一維數組的定義
4.1.2一維數組元素的引用
4.1.3一維數組的初始化
4.1.4一維數組程式舉例
4.2二維數組
4.2.1二維數組的定義
4.2.2二維數組元素的引用
4.2.3二維數組的初始化
4.2.4二維數組程式舉例
4.3字元數組
4.3.1字元數組的定義
4.3.2字元數組的初始化
4.3.3字元數組的使用
4.3.4字元數組程式舉例
4.3.5字元串處理函式
4.3.6字元串程式舉例
習題
第5章函式
5.1函式的定義
5.1.1定義函式
5.1.2函式原型
5.2函式的調用
5.2.1調用函式
5.2.2參數傳遞機制
5.2.3函式返回值
5.2.4函式調用中的數據流
5.3函式的嵌套調用
5.4遞歸函式
5.5作用域與生命期
5.5.1作用域
5.5.2全局變數和局部變數
5.5.3生命期
習題
第6章指針
6.1指針的基本概念
6.1.1指針的概念
6.1.2指針變數的定義
6.1.3指針變數運算符
6.1.4指針變數的初始化與賦值
6.1.5指針的運算
6.2指針與數組
6.2.1指向數組的指針
6.2.2指針與字元數組
6.2.3多級指針與指針數組
6.2.4指針與多維數組
6.2.5數組指針
6.3指針與函式
6.3.1指針作為函式參數
6.3.2函式調用中數組的傳遞
6.3.3函式指針
習題
第7章編譯預處理命令
7.1宏定義
7.1.1不帶參數的宏定義
7.1.2帶參數的宏
7.2檔案包含
7.3條件編譯
習題
第8章結構體、共用體和枚舉類型
8.1結構體類型
8.2定義結構體類型變數
8.2.1先定義結構體類型再定義變數
8.2.2定義結構體類型的同時定義變數
8.2.3直接定義結構體類型變數
8.2.4結構體變數的初始化
8.3結構體變數成員的引用
8.4結構體數組
8.4.1結構體數組的定義
8.4.2結構體數組的初始化
8.4.3結構體數組套用舉例
8.5結構體指針
8.5.1指向結構體變數的指針
8.5.2指向結構體數組的指針
8.5.3用結構體變數和結構體指針作為函式參數
8.6用指針處理鍊表
8.6.1鍊表的概述
8.6.2動態記憶體分配
8.6.3建立單向動態鍊表
8.6.4輸出鍊表
8.6.5對鍊表的刪除操作
8.6.6對鍊表的插入操作
8.7共用體
8.7.1共用體的概念
8.7.2共用體類型和共用體類型變數的定義
8.7.3共用體成員的引用方式
8.7.4共用體類型的特點
8.8枚舉類型
8.8.1枚舉類型及枚舉變數的定義
8.8.2枚舉元素的引用
8.8.3用typedef聲明類型
習題
第9章面向對象程式設計基礎
9.1面向對象程式設計概述
9.1.1面向對象是軟體方法學的返璞歸真
9.1.2面向對象程式設計語言的四大家族
9.1.3面向對象程式分析(OOA)與設計(OOD)的基本步驟
9.2類和對象
9.2.1類
9.2.2對象
9.2.3名字解析和this指針
9.3帶默認參數的函式和函式重載
9.3.1帶默認參數的函式
9.3.2函式重載
9.4構造函式和析構函式
9.4.1構造函式
9.4.2析構函式
9.5對象成員和靜態成員
9.5.1對象成員
9.5.2靜態成員
9.6友元
9.7函式模板和類模板
9.7.1函式模板
9.7.2類模板
習題
第10章繼承與派生
10.1單一繼承
10.1.1繼承與派生
10.1.2派生類的定義
10.1.3類的繼承方式
10.1.4派生類的構造函式和析構函式
10.2多重繼承
10.2.1多重繼承的概念和定義
10.2.2二義性和支配規則
10.2.3賦值兼容規則
10.3虛基類
10.3.1虛基類的概念
10.3.2多重繼承的構造函式和析構函式
習題
第11章多態性與虛函式
11.1運算符重載
11.1.1什麼是運算符重載
11.1.2用成員函式重載運算符
11.1.3用友元函式重載運算符
11.1.4幾個運算符的重載
11.2虛函式
11.2.1為什麼要引入虛函式
11.2.2虛函式的定義與使用
11.3純虛函式和抽象類
11.3.1純虛函式的概念
11.3.2抽象類的概念
11.4虛析構函式
習題
第12章輸入輸出流
12.1標準輸入輸出流
12.1.1輸入輸出流的概念
12.1.2C++所有輸入輸出類的繼承關係
12.2檔案輸入輸出流
習題
附錄A程式的調試與運行
附錄B標準字元ASCII表
附錄C實驗
附錄D模擬考試題
附錄E課程設計任務書
附錄F參考課時安排
參考文獻