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