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
- 輸水管線工程風險管理 [張勇 黨亥生 著]
- 民用航空飛機標準線路施工 [主編 王志敏 陳明]
- 不息的水脈—大運河講談錄 [趙珩 著]
- 實用運籌學 [主編 邢育紅 于晉臣]
- 三峽梯級電站水資源決策支持系統研究與開發 [姚華明 潘紅忠 湯正]
- 海南黎族民俗文化鑒賞 [龐國華 著]
- 石墨烯在太赫茲及中紅外頻段電磁器件設計中的應用 [李艷秀 莊華偉 著]
- 電子技術(第二版) [主編 覃愛娜 李飛]
- 辦公自動化高級應用 [陳萍 朱曉玉]
- 信息處理技術員考試32小時通關 [薛大龍]
- 電子產品設計案例教程(微課版)—基于嘉立創EDA(專業版) [王靜 莫志宏 陳學昌 丁紅]
- C程序設計實踐教程 [劉衛國]
- C程序設計(慕課版) [劉衛國]
- Web技術開發教程(基于.NET開源MVC框架) [王合闖 韓紅玲 王青正 陳海蕊]
- 商務英語翻譯教程(筆譯)(第四版) [主編 王軍平]
- 智慧零售技術與應用 [洪旭 著]
- 建設工程法規實務 [主編 余瀅]
- 商務秘書理論與實務(第三版) [主編 張同欽]
- 程序設計基礎實踐教程(C/C++語言版) [張桂芬 葛麗娜]
- C++案例項目精講 [主編 楊國興]
- 勞動爭議處理實務 [主編 王秀卿 羅靜]
- 工程數學 [主編 郭立娟 王海]
- 語音識別理論與實踐 [主編 莫宏偉]
- 信息系統項目管理師章節習題與考點特訓(第二版) [主編 薛大龍]
- 武術基礎教程 [主編 李代勇 謝志民]
- 計算機網絡實訓教程 [主編 張浩軍 趙玉娟]
- 畫法幾何與機械制圖習題集(多學時) [主編 趙軍]
- HCIA-Datacom認證題庫分類精講 [主 編 韓立剛]
- SwiftUI完全開發 [李智威 著]
- 網絡規劃設計師備考一本通 [夏杰 編著]