C++是一種高效、實用的程序設計語言,它既可以進行過程化程序設計,也可以進行面向對象程序設計,是編程人員*廣泛使用的工具。本書是為高等院校程序設計課程編寫的教材,全書共分為兩個部分,第一部分是C++語言基礎,包括第1~8章,主要講述C++的數據類型、運算規則,順序、選擇、循環結構的程序設計,以及數組、函數、指針、結構體等內容,側重于基本概念、基本語法及常規算法;第二部分是面向對象程序設計基礎,包括第9~16章,主要介紹類和對象、類的構造和析構、友元、運算符重載、繼承和派生及輸入輸出流等內容,側重于對編程的訓練,強調模塊化、規范化的程序設計,引導讀者逐步體會面向對象程序設計的特點。本書有配套的教學參考書《C++程序設計上機實踐與學習輔導》,以方便讀者復習和上機操作。
本書所列舉的例題、習題均在VC++6.0下調試通過。
本書面向計算機及相關專業本、?茖W生,是學習C++語言的基礎教材。
第1章C++基礎知識
1.1C++與Visual C++語言
1.2C++程序簡介
1.2.1一個簡單的程序
1.2.2C++程序的基本要素
1.2.3C++程序的書寫規則
1.3C++程序的開發步驟與上機實踐
1.3.1C++程序的開發步驟
1.3.2C++程序的上機實踐
1.4信息在計算機中的表示
1.4.1進位記數制
1.4.2帶符號數在計算機中的表示
1.4.3字符在計算機中的表示
練習題
第2章基本數據類型與表達式
2.1數據類型
2.2常量和變量
2.2.1常量
2.2.2變量
2.3整型數據
2.3.1整型常量
2.3.2整型變量
2.4浮點型數據
2.4.1浮點型常量
2.4.2浮點型變量
2.5字符型數據
2.5.1字符型常量
2.5.2字符型變量
2.5.3字符串常量
2.6類型轉換
2.6.1不同類型數據間的混合算術運算
2.6.2賦值時的類型轉換
2.6.3強制類型轉換符
2.7運算符與表達式
2.7.1算術運算符與算術表達式
2.7.2關系運算符與關系表達式
2.7.3邏輯運算符與邏輯表達式
2.7.4賦值運算符與賦值表達式
2.7.5自增運算符與自減運算符
2.7.6逗號運算符與逗號表達式
2.7.7sizeof()運算符及表達式
2.7.8表達式中運算符的運算順序
2.8簡單的輸入/輸出語句
2.8.1十進制整數、實數與字符數據的輸入
2.8.2十六進制或八進制數據的輸入
2.8.3數據的輸出
練習題
第3章基本流程控制結構
3.1結構化程序設計基礎
3.1.1結構化程序設計
3.1.2基本控制結構
3.1.3C++語言中語句的分類
3.2選擇結構語句
3.2.1if語句
3.2.2條件運算符“?:”
3.2.3switch語句
3.3循環結構語句
3.3.1while語句
3.3.2do…while語句
3.3.3for語句
3.3.43種循環的比較及適用場合
3.3.5多重循環
3.4控制執行順序的語句
3.4.1break語句
3.4.2continue語句
*3.4.3goto語句
*3.4.4exit()和abort()函數
3.5綜合應用舉例
練習題
第4章函數
4.1函數概述
4.2函數的定義與調用
4.2.1函數的定義
4.2.2函數的調用
4.2.3引用作為函數參數
4.3函數的嵌套調用
4.4函數的遞歸調用
4.5內聯函數
4.6重載函數
4.7帶有默認參數的函數
4.8局部變量和全局變量
4.8.1局部變量
4.8.2全局變量
4.9變量的存儲類別
4.9.1變量的生存期和存儲類別
4.9.2auto型變量
4.9.3static局部變量
4.9.4register型變量
4.9.5extern型變量
4.9.6用static聲明全局變量
4.10內部函數和外部函數
4.10.1內部函數
4.10.2外部函數
練習題
第5章編譯預處理
5.1宏定義
5.1.1不帶參數的宏定義
5.1.2帶參數的宏定義
5.2文件包含
5.3條件編譯
練習題
第6章數組
6.1數組的定義和引用
6.1.1一維數組的定義
6.1.2一維數組的引用
6.1.3一維數組的初始化
6.1.4一維數組程序舉例
6.2二維數組的定義和引用
6.2.1二維數組的定義
6.2.2二維數組的引用
6.2.3二維數組的初始化
6.2.4二維數組程序舉例
6.3數組作為函數的參數
6.3.1數組元素作為函數的實參
6.3.2數組名作為函數的實參
6.3.3二維數組作為函數的參數
6.4字符數組
6.4.1字符數組的定義
6.4.2字符數組的初始化
6.4.3字符串和字符串結束標志
6.4.4字符數組的輸入/輸出
6.4.5字符串處理函數
6.4.6字符數組的應用舉例
練習題
第7章指針
7.1指針與地址
7.1.1指針的概念
7.1.2指針變量的定義
7.1.3指針變量作為函數參數
7.2指針與一維數組
7.2.1通過指針引用一維數組中的元素
7.2.2通過指針在函數間傳遞一維數組
7.3字符指針與字符串
7.3.1字符數組與字符指針
7.3.2字符串操作的特點
7.4指針與函數
7.4.1函數指針變量
7.4.2指針型函數
7.5指針與二維數組
7.5.1二維數組的地址
7.5.2通過指針引用二維數組中的元素
7.6指針數組與指向指針的指針
7.6.1指針數組
7.6.2指針的指針
7.6.3多級指針小結
7.7動態存儲分配
練習題
第8章結構體和共用體
8.1結構體
8.1.1結構體與結構體類型的聲明
8.1.2結構體類型變量
8.1.3結構體數組和指針
8.2鏈表
8.2.1正向鏈表
8.2.2建立反向鏈表
8.3共用體
8.3.1共用體類型與共用體變量
8.3.2共用體變量的引用
8.4枚舉
8.5用typedef聲明類型
練習題
第9章類和對象
9.1面向對象程序設計概述
9.1.1面向對象
9.1.2面向對象中的主要概念
9.1.3面向對象的程序設計
9.2類的聲明和對象的定義
9.2.1類的聲明
9.2.2對象的定義
9.2.3對象成員的訪問
9.2.4用類的指針訪問對象成員
9.2.5用對象的引用變量訪問對象成員
9.3成員函數
9.3.1重載類的成員函數
9.3.2默認參數的類的成員函數
9.4this指針及在成員函數中訪問成員函數
9.4.1this指針
9.4.2在成員函數中訪問成員函數
9.5類和對象的應用舉例
練習題
第10章構造函數和析構函數
10.1構造函數
10.1.1構造函數的作用
10.1.2構造函數的重載
10.1.3默認的構造函數
10.2析構函數
10.3構造對象的順序
10.4對象的動態建立和釋放
10.5復制構造函數
10.6臨時對象
10.7面向對象的程序設計應用舉例
練習題
第11章靜態成員與友元
11.1靜態成員
11.2靜態成員函數
11.3友元函數
11.3.1將普通函數聲明為友元函數
11.3.2將另一類的成員函數聲明為類的友元函數
11.4友元類
練習題
第12章運算符重載
12.1運算符重載的概念
12.2將運算符重載為成員函數
12.2.1將雙目運算符重載為成員函數
12.2.2將單目運算符重載為成員函數
12.2.3將賦值運算符重載為成員函數
12.3將運算符重載為友元函數
12.3.1將雙目運算符重載為友元函數
12.3.2將單目運算符重載為友元函數
12.4類型轉換運算符函數
12.5重載流插入和流提取運算符
12.6綜合實例
練習題
第13章繼承和派生
13.1繼承與派生基礎
13.1.1繼承與派生的概念
13.1.2派生類的定義
13.1.3派生類的3種繼承方式
13.2派生類的構造函數和析構函數
13.2.1單繼承派生類的構造函數
13.2.2多繼承派生類的構造函數
13.2.3有子對象的派生類的構造函數
13.3繼承的沖突與支配
13.3.1沖突
13.3.2支配
13.3.3賦值兼容規則
13.4虛基類
13.4.1虛基類的定義
13.4.2虛基類的初始化
練習題
第14章虛函數
14.1多態性的概念
14.2虛函數簡介
14.3純虛函數與抽象類
練習題
第15章輸入輸出流
15.1C++的輸入輸出流
15.1.1ios類的結構
15.1.2輸入流
15.1.3輸出流
15.2格式化輸入與輸出
15.2.1輸入的格式化
15.2.2輸出的格式化
15.3文件流
15.3.1文件的概念
15.3.2文件的打開與關閉
15.3.3對文本文件的操作
15.3.4對二進制文件的操作
練習題
第16章C++工具
16.1模板
16.1.1模板的概念
16.1.2函數模板
16.1.3類模板
16.2異常處理
16.2.1異常的概念
16.2.2異常處理的機制
練習題
附錄AASCII字符集及其代碼對照表
附錄B庫函數
參考文獻