本書(shū)選擇以C with Class的過(guò)程化編程為主、以對(duì)象化編程為輔的編寫(xiě)策略,抓住C++語(yǔ)言的特色,略去C語(yǔ)言的標(biāo)準(zhǔn)流,保留指針這一能直接訪問(wèn)硬件的低級(jí)語(yǔ)言特性,在介紹了結(jié)構(gòu)化編程的基礎(chǔ)語(yǔ)法后,將基本數(shù)據(jù)類型作為C++語(yǔ)言學(xué)習(xí)的重點(diǎn),適度討論了類型轉(zhuǎn)換與類型安全等C++的基礎(chǔ)內(nèi)容,之后轉(zhuǎn)向復(fù)合數(shù)據(jù)類型、基本容器等內(nèi)容,引入用戶自定義函數(shù)等相關(guān)概念和用法。 本書(shū)在講義的基礎(chǔ)上,增加了較多的數(shù)學(xué)教學(xué)案例(比如Monte-Carlo模擬、無(wú)窮級(jí)數(shù)逼近、數(shù)值積分、快速傅里葉變換等),為高性能計(jì)算、數(shù)值模擬提供了必備技能。與此同時(shí),在C++ 本身語(yǔ)法上也做了相對(duì)革新,原講義側(cè)重于經(jīng)典C++ 語(yǔ)法(也即C++98);而本書(shū)推陳出新,強(qiáng)調(diào)并采用適量的現(xiàn)代C++ 語(yǔ)法(C++11),弱化一部分來(lái)自 C 語(yǔ)言的古典語(yǔ)法。 因程序設(shè)計(jì)作為工科特征明顯的課程,且教學(xué)過(guò)程特別強(qiáng)調(diào)實(shí)踐,本教材配備了大量習(xí)題以及上機(jī)實(shí)驗(yàn)題,頗具特色。
1 C++程序設(shè)計(jì)語(yǔ)言概述 / 1 1.1 C++語(yǔ)言的發(fā)展簡(jiǎn)史 / 1 1.2 C++開(kāi)發(fā)環(huán)境搭建一覽 / 4 1.3 C++程序開(kāi)發(fā)的大致流程 / 8 1.4 相關(guān)網(wǎng)絡(luò)資源匯總 / 14 2 C++語(yǔ)言的基礎(chǔ)語(yǔ)法 / 16 2.1 再論 Hello world 的 C++源代碼 / 16 2.2 C++的標(biāo)識(shí)符與聲明語(yǔ)句 / 18 2.3 表達(dá)式與簡(jiǎn)單的數(shù)學(xué)運(yùn)算 / 21 2.4 邏輯運(yùn)算與關(guān)系操作符 / 23 2.5 分支結(jié)構(gòu) / 24 2.6 循環(huán)結(jié)構(gòu) / 29 2.7 一些結(jié)構(gòu)化編程的例子 / 33 2.8 常量與魔術(shù)數(shù) / 36 2.9 條件表達(dá)式 / 37 2.10 轉(zhuǎn)移語(yǔ)句 / 39 2.11 隨機(jī)數(shù)與計(jì)時(shí)工具 / 41 2.12 標(biāo)準(zhǔn)流與文件流 / 43 3 基本數(shù)據(jù)類型 / 48 3.1 整型數(shù)據(jù) / 48 3.2 浮點(diǎn)型數(shù)據(jù) / 53 3.3 標(biāo)準(zhǔn)流的格式控制 / 57 3.4 與算術(shù)相關(guān)的基本數(shù)據(jù)類型中的運(yùn)算 / 60 3.5 字符型數(shù)據(jù) / 62 3.6 內(nèi)置操作符與運(yùn)算優(yōu)先級(jí) / 66 3.7 左值與右值 / 70 3.8 溢出與機(jī)器精度 / 72 3.9 基本數(shù)據(jù)類型的轉(zhuǎn)換 / 74 4 復(fù)合數(shù)據(jù)類型與簡(jiǎn)單容器 / 78 4.1 數(shù)組 / 78 4.2 向量 / 84 4.3 指針 / 89 4.4 指針數(shù)組與數(shù)組指針* / 94 4.5 常量指針與指針常量 / 96 4.6 空類型指針及相關(guān)指針類型的轉(zhuǎn)換 / 99 4.7 引用 / 100 4.8 C 風(fēng)格字符串 / 103 4.9 字符編碼與字節(jié)流* / 108 4.10 C 風(fēng)格字符串的常用操作 / 111 4.11 C++風(fēng)格字符串 / 113 4.12 空格的輸入與 C++風(fēng)格的字符串流 / 117 4.13 字符串的更多表示方法以及編碼轉(zhuǎn)換* / 120 4.14 附注 / 124 5 函數(shù)與作用域 / 126 5.1 代碼重用與函數(shù) / 126 5.2 函數(shù)棧與遞歸 / 130 5.3 指向堆區(qū)的指針與智能指針 / 135 5.4 內(nèi)聯(lián)函數(shù)與帶參宏 / 138 5.5 參數(shù)傳遞與返回值 / 143 5.6 指針傳遞與返回 / 149 5.7 數(shù)組傳遞與返回 / 153 5.8 函數(shù)指針與回調(diào)函數(shù) / 158 5.9 引用傳遞與返回 / 164 5.10 函數(shù)重載 / 171 5.11 函數(shù)的默認(rèn)參數(shù) / 176 5.12 多文件結(jié)構(gòu)與頭文件 / 178 5.13 作用域 / 185 5.14 生命周期 / 190 5.15 命名空間 / 197 6 用戶自定義數(shù)據(jù)類型 / 201 6.1 枚舉類型 / 201 6.2 操作符重載 / 205 6.3 結(jié)構(gòu)類型 / 209 6.4 封裝與面向?qū)ο?/ 216 6.5 對(duì)象的構(gòu)造 / 220 6.6 成員與友元 / 225 6.7 靜態(tài)成員與常量成員 / 227 6.8 賦值操作符重載、復(fù)制構(gòu)造函數(shù)與析構(gòu)函數(shù) / 231 6.9 對(duì)象的隱式類型轉(zhuǎn)換 / 238 6.10 組合與繼承 / 241 6.11 對(duì)象的強(qiáng)制類型轉(zhuǎn)換 / 246 6.12 隱藏、覆蓋與多態(tài)* / 250 6.13 異常處理 / 255 6.14 分離類的接口與實(shí)現(xiàn) / 262 參考文獻(xiàn) / 267