C++程序設計簡明教程(第二版)

-
【作 者】主 編 王曉東 副主編 陳艷海
【I S B N 】978-7-5170-5020-9
【責任編輯】楊慶川 李炎
【適用讀者群】本專通用
【出版時間】2016-12-30
【開 本】16開
【裝幀信息】平裝(光膜)
【版 次】第1版第1次印刷
【頁 數】356
【千字數】551
【印 張】22.25
【定 價】¥45
【叢 書】普通高等教育“十三五”規劃教材(計算機專業群)
【備注信息】
簡介
本書特色
前言
章節列表
精彩閱讀
下載資源
相關圖書
本書是學習C++程序設計的適用教材,全書共12章。前10章較為系統地講述了C++語言的基本語法,類、對象、繼承、多態性等C++語言的重要知識,以及常用算法和面向對象程序設計方法。在此基礎上,第11章綜合了前面所學的知識,對C++語言在數據結構中的一些應用進行了介紹。第12章介紹了Windows程序的特點,以及C++語言在Windows程序設計中的應用。
本書注重基礎,強調實踐。在內容講解上采用案例式教學方法,循序漸進,深入淺出,案例取舍得當,重點突出,語言生動。
本教材適合高等學校本專科學生使用,也可用作廣大軟件開發人員以及工程技術人員的參考用書。
內容全面——較為系統地講述了C++語言的基本語法,類、對象、繼承、多態性等C++語言的重要知識,以及常用算法和面向對象程序設計方法。
適應面廣——本教材適合高等學校本專科學生使用,也可用作廣大軟件開發人員以及工程技術人員的參考用書。
循序漸進——注重基礎,強調實踐,在內容講解上采用案例式教學方法,循序漸進,深入淺出,案例取舍得當,重點突出,語言生動。
C++是當今世界上應用最廣泛、影響最深遠的面向對象程序設計語言之一,也是較難掌握的一門編程語言。在IT業界有一句著名的口號:“聰明的程序員學習Visual Basic,真正的程序員學習C++”。學好C++,不僅有助于深刻理解和掌握面向對象編程的思想和方法,而且以此為基礎,還可以較快地掌握Java、Visual C++以及C#等編程語言。正所謂射人先射馬,擒賊先擒王,可以毫不夸張地說,C++是程序員系統地掌握計算機編程語言的首選。
《C++程序設計簡明教程》第一版于2008年3月出版,為國內多所本科院校選用,取得了較好的教學效果。很多熱心讀者和專家與作者進行了交流,并提出了許多寶貴意見。作者在教學科研中也取得了一些成果,對C++有了一些新的認識。基于以上種種情況的推動,促使作者結合自身的教學科研實踐,并吸收專家和讀者的真知灼見,在第一版的基礎上推出了《C++程序設計簡明教程》的第二版。
第二版保持了原書的風貌,采用案例教學方式,體現了啟發式教學的風格,突出程序設計中算法設計的重要地位。每章均以問題開始,引入語法和算法等相關知識,在解決問題的過程中將相關知識融會貫通,使學生能夠迅速把握C++編程的要領。作者對第一版進行了全面修訂,不僅訂正了原書中存在的瑕疵,而且字斟句酌,對敘述不夠準確的地方重新進行了嚴謹的表述。增加了第12章,介紹用C++編寫Windows程序,以實現從C++到Visual C++的自然過渡,為今后進一步學習Visual C++打下一定的基礎。
此外本書還配有用PowerPoint制作的電子教案和全部程序的源代碼,便于教師備課和學生自學。各章所有例題均已在Visual C++ 6.0環境下調試通過,本書的全部源代碼可以直接使用。為配合程序設計的理論教學,提高實踐動手能力,我們還編寫了《C++程序設計簡明教程實驗指導與習題解答》(第二版),作為本書的配套參考書。
本書由王曉東主編,陳艷海和楊毅擔任副主編。全書編寫分工如下:王曉東編寫第4、7、8章,并負責全書的統稿及定稿,陳艷海、王曉東共同編寫第1、2、5、6章,楊毅、王曉東共同編寫第3、9、10、11和12章。參加本書編寫的還有:鄭克忠、黃連麗、苗暹、孫劍萍、劉林、程世平、張文生、呂進峰、郭宏、吳桂生、李曉波等。
在本書的寫作過程中,得到了陳宇峰教授的大力支持;在修改過程中,得到了唐海博士的悉心指導;在書稿的校對過程中,得到了許玲的熱情幫助,在此一一表示衷心的感謝。
在本書的編寫過程中,參考了國內外大量的文獻資料,在此特向這些文獻資料的作者表示深深的謝意。由于作者水平所限,加之時間倉促,書中難免存有錯誤之處,敬請各位專家以及廣大熱心讀者不吝指教。作者的工作單位是湖北汽車工業學院,E-mail地址是wangxd_qy@163.com。
王曉東
2016年10月
1.1 結構化程序設計 1
1.1.1 程序設計語言的發展 1
1.1.2 結構化程序設計思想 3
1.2 面向對象程序設計 5
1.3 C++語言介紹 8
1.4 C++程序的開發環境 10
1.5 小結 13
習題一 13
第2章 C++基礎 14
2.1 基本數據類型 14
2.1.1 標識符與關鍵字 14
2.1.2 常量 15
2.1.3 變量 17
2.2 表達式與語句 20
2.2.1 算術運算符 21
2.2.2 賦值運算符 21
2.2.3 自增、自減運算符 22
2.2.4 關系運算符 23
2.2.5 邏輯運算符 23
2.2.6 位運算符 24
2.2.7 條件運算符 27
2.2.8 逗號運算符 27
2.2.9 數據類型轉換 27
2.2.10 C++語句 28
2.3 輸入與輸出 28
2.4 選擇結構 31
2.4.1 if語句 31
2.4.2 switch語句 35
2.5 循環結構 36
2.5.1 while語句 37
2.5.2 do…while語句 38
2.5.3 for語句 39
2.5.4 循環嵌套 40
2.5.5 流程控制語句 41
2.6 復合數據類型 44
2.6.1 結構體 44
2.6.2 共用體 47
2.6.3 枚舉類型 50
2.6.4 typedef 52
2.7 小結 52
習題二 53
第3章 C++函數 57
3.1 函數基礎 57
3.1.1 函數定義和聲明 58
3.1.2 函數調用 58
3.1.3 嵌套調用 62
3.1.4 遞歸調用 64
3.2 函數調用的方式 68
3.2.1 傳值調用 69
3.2.2 引用調用 70
3.3 內聯函數 72
3.4 帶默認形參值的函數 74
3.5 函數重載 75
3.6 函數模板 78
3.7 小結 81
習題三 82
第4章 類與對象 84
4.1 概述 84
4.1.1 結構化程序設計 84
4.1.2 面向對象程序設計 86
4.2 類與對象的實現 89
4.2.1 類 89
4.2.2 數據成員 90
4.2.3 成員函數 91
4.2.4 訪問控制屬性 93
4.2.5 對象 94
4.3 對象的初始化和析構 96
4.3.1 構造函數 96
4.3.2 拷貝構造函數 98
4.3.3 析構函數 99
4.4 類的包含 102
4.5 類模板 106
4.6 程序舉例 108
4.7 小結 117
習題四 118
第5章 數組與指針 120
5.1 數組 120
5.1.1 一維數組 120
5.1.2 二維數組 124
5.1.3 對象數組 127
5.1.4 vector容器 130
5.2 指針 134
5.2.1 指針變量 135
5.2.2 指針與數組 137
5.2.3 指針與函數 142
5.2.4 對象指針 144
5.2.5 成員指針 146
5.3 字符串 148
5.3.1 字符串的處理 149
5.3.2 字符串庫函數 150
5.3.3 字符串類 151
5.4 動態內存分配 153
5.5 C++程序的結構 156
5.5.1 編譯預處理 157
5.5.2 程序結構的組織 158
5.6 小結 161
習題五 161
第6章 數據共享與安全 163
6.1 作用域與生存期 163
6.1.1 作用域 163
6.1.2 生存期 168
6.2 靜態成員 171
6.2.1 靜態數據成員 171
6.2.2 靜態成員函數 172
6.3 友元 174
6.3.1 友元函數 174
6.3.2 友元類 175
6.4 數據安全 178
6.4.1 常引用 180
6.4.2 常指針 180
6.4.3 常對象 181
6.4.4 常成員 181
6.5 小結 183
習題六 184
第7章 繼承 186
7.1 概述 186
7.2 繼承的實現 188
7.3 繼承方式 191
7.3.1 公有繼承 191
7.3.2 私有繼承 192
7.3.3 保護繼承 194
7.4 派生類的初始化和析構 196
7.4.1 派生類的構造函數 196
7.4.2 繼承與包含 202
7.5 虛基類 202
7.5.1 多重繼承 202
7.5.2 二義性 205
7.5.3 虛基類 208
7.6 向上映射 215
7.7 程序舉例 218
7.8 小結 223
習題七 224
第8章 多態性 227
8.1 概述 227
8.2 運算符重載 228
8.2.1 規則 228
8.2.2 重載為成員函數 229
8.2.3 重載為友元函數 232
8.2.4 特殊運算符的重載 235
8.3 虛函數 238
8.4 抽象類 244
8.5 程序舉例 251
8.6 小結 258
習題八 259
第9章 C++的輸入/輸出流 261
9.1 概述 261
9.2 輸出流 263
9.2.1 流插入運算符 263
9.2.2 put 263
9.2.3 write 264
9.3 輸入流 265
9.3.1 流提取運算符 265
9.3.2 get 265
9.3.3 getline 266
9.3.4 read 267
9.4 格式控制 268
9.4.1 成員函數 268
9.4.2 操縱符 272
9.5 文件的輸入輸出 276
9.5.1 文件打開與關閉 276
9.5.2 文件的順序讀寫 278
9.5.3 文件的定位和狀態檢測 282
9.6 小結 286
習題九 286
第10章 異常處理 288
10.1 概述 288
10.2 拋出異常 289
10.3 異常捕獲 290
10.4 程序舉例 292
10.5 小結 294
習題十 294
第11章 C++應用 295
11.1 棧類 295
11.2 矩陣類 300
11.3 鏈表類 305
11.4 二叉樹類 313
11.5 小結 318
習題十一 319
第12章 Windows編程初步 320
12.1 概述 320
12.1.1 Windows環境 320
12.1.2 Windows消息 323
12.1.3 事件驅動 324
12.2 Windows API編程 326
12.2.1 編程基礎 326
12.2.2 程序結構 328
12.2.3 完整實例 332
12.3 MFC類庫 335
12.3.1 類庫的功能 335
12.3.2 類庫的層次 340
12.4 MFC編程 341
12.4.1 編程基礎 341
12.4.2 完整實例 347
12.5 小結 348
習題十二 349
參考文獻 350
- 零基礎玩轉國產大模型DeepSeek [徐永冰 張帥 編著]
- 網絡工程師5天修煉(適配第6版考綱) [主編 朱小平 施游]
- 信息系統項目管理師考試32小時通關(適用第4版考綱) [薛大龍]
- 信息系統管理工程師考試32小時通關(適配第2版考綱) [薛大龍 劉偉]
- 土木工程材料檢測實訓 [洪曉江 達則曉麗 錢波]
- 科技信息檢索與論文寫作實用教程 [李振華]
- 傳統山水畫論解讀與實踐 [陳鈉 著]
- Python數據庫編程 [主編 殷樹友 邢 翀]
- 計算機基礎實訓指導 [主編 袁春萍 朱妮]
- 嵌入式人工智能技術應用(數字教材) [主編 胡娜 楊國勇 晏廷榮]
- Vienna整流器技術 [桂存兵 著]
- 變頻器與伺服應用 [陳剛 葉云飛]
- 物聯網工程設計與實踐 [湯琳 李敏]
- 爐邊夜話——深入淺出話AI [汪建 著]
- 電商運營與管理 [鐘肖英 陳瀟]
- Java面向對象程序設計 [主編 姜春磊 陳虹潔]
- 信息技術基礎(Windows 10+WPS Office)(微課版) [主編 石利平 田輝平 謝盛嘉]
- 人工智能應用 [主編 陳 萍 劉培培 陳孟軍]
- 大學生職業發展與就業指導 [主編 劉志堅]
- 高級辦公應用項目教程 [主編 屈晶 趙成麗]
- 微信小程序開發項目實戰(微課版) [主編 黃龍泉 郭峰 朱倩]
- 企業檔案工作實戰寶典百問百答 [華俊 盧秀英 邵甜甜 著]
- 計算機網絡原理及應用 [主編 唐繼勇 葉坤 孫夢娜]
- 大學生創業基礎 [主編 王麗莉 王 楊]
- 船舶輔機 [主編 王連海 于洋 姜淑翠]
- 大學生就業指導 [主編 王麗莉 董宴廷]
- 系統架構設計師章節習題與考點特訓 [主編 薛大龍 鄒月平]
- 高校學生工作探索與實踐 [郭亮 著]
- 大學生情商管理 [方雄 著]
- 2023年長沙市會展業發展報告 [主編 周棟良]