《計(jì)算機(jī)系列教材:C++程序設(shè)計(jì)(第2版)》系統(tǒng)介紹了C++程序設(shè)計(jì)。全書共分12章,主要內(nèi)容包括類與對(duì)象、數(shù)據(jù)類型、預(yù)處理、數(shù)組、函數(shù)、指針、繼承與派生、多態(tài)性與虛函數(shù)、運(yùn)算符重載、輸入輸出流、模板與異常處理。
《計(jì)算機(jī)系列教材:C++程序設(shè)計(jì)(第2版)》內(nèi)容取舍得當(dāng),例題豐富,概念清晰,既益于教學(xué),也有利于加強(qiáng)學(xué)生上機(jī)實(shí)踐能力的培養(yǎng),提高教學(xué)效果。
《計(jì)算機(jī)系列教材:C++程序設(shè)計(jì)(第2版)》以Visual C++6.0為開發(fā)平臺(tái),書中所有實(shí)例都在此平臺(tái)上通過(guò)!队(jì)算機(jī)系列教材:C++程序設(shè)計(jì)(第2版)》配有《C++程序設(shè)計(jì)項(xiàng)目實(shí)踐(第2版)》輔導(dǎo)教材,可以進(jìn)一步強(qiáng)化學(xué)生的編程能力。
《計(jì)算機(jī)系列教材:C++程序設(shè)計(jì)(第2版)》可作為高等院校計(jì)算機(jī)專業(yè)教學(xué)及各類培訓(xùn)班的教材和參考書。
本書是筆者主持的山西省省級(jí)精品課程“C++程序設(shè)計(jì)”的建設(shè)成果。該書較全面、系統(tǒng)地講述了C++的基本概念和編程方法,并用大量的實(shí)例讓讀者更好地掌握它們。本書的特點(diǎn)是:以應(yīng)用為背景,以知識(shí)為主線,以提高能力和興趣為目的,逐步形成以工程實(shí)踐案例為教學(xué)主線、實(shí)踐任務(wù)為教學(xué)驅(qū)動(dòng)、在實(shí)踐中融合理論學(xué)習(xí)的課程教學(xué)體系。把面向過(guò)程的內(nèi)容自始至終貫穿到對(duì)象中講解,把函數(shù)完全放入對(duì)象之中,使初學(xué)者始終使用對(duì)象進(jìn)行程序設(shè)計(jì)。
本書重點(diǎn)訓(xùn)練學(xué)生編程的邏輯思路、算法,以及編程、調(diào)試的基本技術(shù)。因此,在本書的編寫中,以任務(wù)驅(qū)動(dòng)為前提,從提出問(wèn)題入手,進(jìn)行分析和算法設(shè)計(jì),而不是一味地講語(yǔ)法,以必需、夠用為度,最后歸納總結(jié),加強(qiáng)針對(duì)性和應(yīng)用性。
全書共分為兩篇。
第一篇為面向?qū)ο蟪绦蚧A(chǔ),包括第1~6章。
第1章介紹了面向?qū)ο蟪绦蛟O(shè)計(jì)的基本思想,以及C++程序的結(jié)構(gòu)特征。
第2章給出了C++的數(shù)據(jù)描述。
第3章重點(diǎn)介紹了C++的基本結(jié)構(gòu)和控制語(yǔ)句。
第4章介紹了數(shù)組的應(yīng)用。
第5章介紹了面向?qū)ο蟮姆椒?-函數(shù)。
第6章介紹了指針和引用的使用方法。
第二篇為面向?qū)ο蟪绦蛟O(shè)計(jì),包括第7~12章。
第7章介紹了類與對(duì)象的定義及其構(gòu)造函數(shù)與析構(gòu)函數(shù)的使用。
第8章講述了類的特性之一:繼承與派生。
第9章講述了類的特性之二:多態(tài)性與虛函數(shù)。
第10章介紹了運(yùn)算符的重載。
第11章介紹了輸入輸出流。
第12章介紹了模板與異常處理。
本書第1、2章由葉瑤編寫,第3~8章由劉宇君編寫,第9~11章由曹黨生編寫,第12章由張煥梅編寫,由劉宇君統(tǒng)編全書。 在本書的編寫與出版過(guò)程中,得到了譚浩強(qiáng)教授的熱情指導(dǎo),得到了秦建中等的許多幫助,在此表示衷心的感謝。
由于編者水平有限,書中難免有疏漏和不足之處,懇請(qǐng)廣大讀者及專家批評(píng)指正。
本課程“C++程序設(shè)計(jì)”網(wǎng)址:http://210.31.100.100/c++jpkc/default.asp.
編者2011年8月26日
第一篇 面向?qū)ο蟪绦蚧A(chǔ)
第1章 面向?qū)ο蟪绦蚋攀?br>1.1 程序設(shè)計(jì)方法的發(fā)展歷程
1.1.1 面向過(guò)程的結(jié)構(gòu)化程序設(shè)計(jì)方法
1.1.2 面向?qū)ο蟮姆椒?br>1.2 面向?qū)ο蟮幕舅枷?br>1.2.1 面向?qū)ο蟮拈_發(fā)方法
1.2.2 面向?qū)ο蟮幕靖拍?br>1.2.3 面向?qū)ο蟮能浖こ?br>1.3 C++程序的特點(diǎn)
1.4 C++程序的結(jié)構(gòu)特征
1.4.1 C++程序?qū)嵗?br>1.4.2 C++程序的組成
1.4.3 C++程序的書寫格式
1.5 C++程序的實(shí)現(xiàn)
1.6 本章小結(jié)
1.7 思考與練習(xí)
1.7.1 思考題
1.7.2 上機(jī)練習(xí)
第2章 對(duì)象屬性的數(shù)據(jù)描述
2.1 C++的字符集
2.1.1 C++的字符集
2.1.2 C++的詞法記號(hào)
2.2 數(shù)據(jù)類型
2.2.1 數(shù)據(jù)類型概述
2.2.2 基本數(shù)據(jù)類型
2.3 常量、變量
2.3.1 常量
2.3.2 變量
2.4 運(yùn)算符與表達(dá)式的計(jì)算
2.4.1 算術(shù)運(yùn)算符與算術(shù)表達(dá)式
2.4.2 賦值運(yùn)算符與賦值表達(dá)式
2.4.3 逗號(hào)運(yùn)算符與逗號(hào)表達(dá)式
2.4.4 關(guān)系運(yùn)算符與關(guān)系表達(dá)式
2.4.5 條件運(yùn)算符與條件表達(dá)式
2.4.6 邏輯運(yùn)算符與邏輯表達(dá)式
2.5 表達(dá)式中數(shù)據(jù)類型的轉(zhuǎn)換
2.5.1 數(shù)據(jù)類型的轉(zhuǎn)換
2.5.2 賦值類型轉(zhuǎn)換時(shí)的副作用
2.5.3 邏輯表達(dá)式優(yōu)化時(shí)的副作用
2.6 本章總結(jié)
2.7 思考與練習(xí)
2.7.1 思考題
2.7.2 上機(jī)練習(xí)
第3章 預(yù)處理與語(yǔ)句
3.1 預(yù)處理
3.1.1 宏定義
3.1.2 文件包含
3.1.3 條件編譯
3.2 程序的三種基本結(jié)構(gòu)及流程圖
3.2.1 C++語(yǔ)句概述
3.2.2 程序的三種基本結(jié)構(gòu)
3.2.3 流程圖
3.3 順序結(jié)構(gòu)及其語(yǔ)句實(shí)現(xiàn)
3.3.1 標(biāo)準(zhǔn)輸出流對(duì)象cout
3.3.2 在輸出流中使用控制符
3.3.3 標(biāo)準(zhǔn)輸入流對(duì)象cin
3.3.4 賦值語(yǔ)句
3.4 分支結(jié)構(gòu)及其語(yǔ)句實(shí)現(xiàn)
3.4.1 單分支結(jié)構(gòu)及其語(yǔ)句實(shí)現(xiàn)
3.4.2 雙分支結(jié)構(gòu)及其語(yǔ)句實(shí)現(xiàn)
3.4.3 多分支結(jié)構(gòu)及其語(yǔ)句實(shí)現(xiàn)
3.4.4 使用條件表達(dá)式實(shí)現(xiàn)分支結(jié)構(gòu)
3.5 循環(huán)結(jié)構(gòu)及其語(yǔ)句實(shí)現(xiàn)
3.5.1 for語(yǔ)句
3.5.2 while語(yǔ)句
3.5.3 do-while語(yǔ)句
3.5.4 循環(huán)嵌套及其語(yǔ)句實(shí)現(xiàn)
3.6 輔助控制語(yǔ)句
3.6.1 break語(yǔ)句
3.6.2 continue語(yǔ)句
3.7 程序?qū)嵗?br>3.8 本章總結(jié)
3.9 思考與練習(xí)
3.9.1 思考題
3.9.2 上機(jī)練習(xí)
第4章 數(shù)組及應(yīng)用
4.1 問(wèn)題的提出
4.2 一維數(shù)組及應(yīng)用
4.2.1 一維數(shù)組的定義
4.2.2 一維數(shù)組的初始化
4.2.3 一維數(shù)組的應(yīng)用
4.3 二維數(shù)組及應(yīng)用
4.3.1 二維數(shù)組和多維數(shù)組的定義
4.3.2 二維數(shù)組的初始化
4.3.3 二維數(shù)組的應(yīng)用
4.4 字符數(shù)組與字符串
4.4.1 字符數(shù)組的定義
4.4.2 字符數(shù)組的初始化
4.4.3 字符串的輸入輸出
4.4.4 字符數(shù)組的應(yīng)用
4.4.5 字符串處理函數(shù)
4.5 數(shù)組應(yīng)用實(shí)例
4.5.1 數(shù)值計(jì)算
4.5.2 統(tǒng)計(jì)
4.5.3 排序
4.5.4 查找
4.6 本章總結(jié)
4.7 思考與練習(xí)
4.7.1 思考題
4.7.2 上機(jī)練習(xí)
第5章 對(duì)象的函數(shù)成員和全局函數(shù)
5.1 函數(shù)定義與調(diào)用語(yǔ)句
5.1.1 函數(shù)的分類
5.1.2 函數(shù)的定義
5.1.3 函數(shù)的返回值
5.1.4 函數(shù)的調(diào)用語(yǔ)句
5.1.5 函數(shù)原型的聲明
5.2 函數(shù)調(diào)用的參數(shù)傳遞
5.2.1 函數(shù)的參數(shù)
5.2.2 函數(shù)參數(shù)的傳遞方式
5.3 函數(shù)的嵌套調(diào)用與遞歸調(diào)用
5.3.1 函數(shù)的嵌套調(diào)用
5.3.2 函數(shù)的遞歸調(diào)用
5.4 內(nèi)聯(lián)函數(shù)
5.5 函數(shù)重載
5.6 函數(shù)模板
5.7 具有默認(rèn)參數(shù)值的函數(shù)
5.8 變量的存儲(chǔ)屬性
5.8.1 局部變量和全局變量
5.8.2 變量的存儲(chǔ)類別
5.8.3 變量的存儲(chǔ)屬性
5.9 本章總結(jié)
5.10 思考與練習(xí)
5.10.1 思考題
5.10.2 上機(jī)練習(xí)
第6章 指針與引用
6.1 指針的概念
6.2 指針變量
6.2.1 指針變量的定義及其初始化
6.2.2 指針變量的運(yùn)算符
6.2.3 指針的運(yùn)算
6.3 指針與數(shù)組
6.3.1 指針與一維數(shù)組
6.3.2 指針與二維數(shù)組
6.3.3 指針與字符串
6.4 指針與函數(shù)
6.4.1 指針作為函數(shù)參數(shù)
6.4.2 返回指針的函數(shù)
6.4.3 函數(shù)指針
6.5 指針數(shù)組與二級(jí)指針
6.5.1 指針數(shù)組
6.5.2 二級(jí)指針
6.6 動(dòng)態(tài)分配/釋放內(nèi)存
6.6.1 動(dòng)態(tài)分配內(nèi)存
6.6.2 動(dòng)態(tài)釋放內(nèi)存
6.7 引用
6.7.1 引用類型變量的定義及使用
6.7.2 引用與函數(shù)
6.8 本章總結(jié)
6.9 思考與練習(xí)
6.9.1 思考題
6.9.2 上機(jī)練習(xí)
第二篇 面向?qū)ο蟪绦蛟O(shè)計(jì)
第7章 類與對(duì)象
7.1 類
7.1.1 類定義
7.1.2 成員函數(shù)的實(shí)現(xiàn)
7.2 對(duì)象
7.2.1 對(duì)象的定義
7.2.2 訪問(wèn)對(duì)象中的成員
7.2.3 類成員的訪問(wèn)屬性
7.2.4 類的封裝性和信息隱蔽
7.3 構(gòu)造函數(shù)和析構(gòu)函數(shù)
7.3.1 構(gòu)造函數(shù)
7.3.2 帶有成員初始化表的構(gòu)造函數(shù)
7.3.3 析構(gòu)函數(shù)
7.4 靜態(tài)成員
7.4.1 靜態(tài)數(shù)據(jù)成員
7.4.2 靜態(tài)成員函數(shù)
7.5 友元
7.5.1 友元函數(shù)
7.5.2 友元類
7.6 本章總結(jié)
7.7 思考與練習(xí)
7.7.1 思考題
7.7.2 上機(jī)練習(xí)
第8章 繼承與派生類
8.1 類的繼承與派生
8.1.1 基類與派生類
8.1.2 派生類的定義
8.1.3 派生類的成員構(gòu)成
8.2 繼承方式與成員訪問(wèn)規(guī)則
8.2.1 公有繼承方式
8.2.2 私有繼承方式
8.2.3 保護(hù)繼承方式
8.3 派生類的構(gòu)造函數(shù)和析構(gòu)函數(shù)
8.3.1 派生類的構(gòu)造函數(shù)
8.3.2 派生類的析構(gòu)函數(shù)
8.4 多繼承
8.4.1 基類與派生類的關(guān)系
8.4.2 多繼承的定義
8.4.3 多繼承的構(gòu)造函數(shù)
8.5 虛基類
8.5.1 為什么要引入虛基類--二義性問(wèn)題
8.5.2 虛基類的引入
8.5.3 虛基類及其派生類的構(gòu)造函數(shù)
8.6 綜合實(shí)例
8.7 本章總結(jié)
8.8 思考與練習(xí)
8.8.1 思考題
8.8.2 上機(jī)練習(xí)
第9章 多態(tài)性與虛函數(shù)
9.1 多態(tài)性
9.1.1 多態(tài)的分類
9.1.2 多態(tài)性小結(jié)
9.2 虛函數(shù)
9.2.1 什么是虛函數(shù)
9.2.2 虛函數(shù)的定義和使用規(guī)則
9.3 純虛函數(shù)和抽象類
9.3.1 為什么要設(shè)計(jì)純虛函數(shù)
9.3.2 純虛函數(shù)和抽象類
9.4 本章總結(jié)
9.5 思考與練習(xí)
9.5.1 思考題
9.5.2 上機(jī)練習(xí)
第10章 運(yùn)算符重載
10.1 運(yùn)算符重載
10.1.1 運(yùn)算符重載的定義和規(guī)則
10.1.2 運(yùn)算符重載示例
10.1.3 利用引用提高效率
10.1.4 賦值運(yùn)算符的重載
10.2 幾種特殊運(yùn)算符重載
10.2.1 轉(zhuǎn)換運(yùn)算符的重載
10.2.2 ++、--運(yùn)算符的重載
10.3 本章總結(jié)
10.4 思考與練習(xí)
10.4.1 思考題
10.4.2 上機(jī)練習(xí)
第11章 輸入輸出流
11.1 C++的輸入輸出
11.1.1 流
11.1.2 緩沖區(qū)
11.2 標(biāo)準(zhǔn)輸入輸出流
11.2.1 C++的基本流類體系
11.2.2 I/O標(biāo)準(zhǔn)流類
11.2.3 流的格式控制
11.2.4 流的狀態(tài)
11.2.5 重載運(yùn)算符>>和<<
11.3 串流類
11.4 文件流
11.4.1 文件流概述
11.4.2 文件的打開與關(guān)閉
11.4.3 文件的讀寫
11.4.4 文件緩沖區(qū)指針的使用
11.4.5 二進(jìn)制文件的讀寫
11.5 本章總結(jié)
11.6 思考與練習(xí)
11.6.1 思考題
11.6.2 上機(jī)練習(xí)
第12章 模板與異常處理
12.1 模板
12.1.1 函數(shù)模板
12.1.2 類模板
12.2 異常處理
12.2.1 異常概述
12.2.2 異常處理機(jī)制
12.2.3 異常類
12.3 本章總結(jié)
12.4 思考與練習(xí)
12.4.1 思考題
12.4.2 上機(jī)練習(xí)
參考文獻(xiàn)