編輯推薦
適讀人群 :C++初學者 程序員 形象的比喻,生動的講解,重新詮釋瞭學習語言的方法
★實用的示例,完整的代碼,為學習者量身打造的案例
★易學、易懂、易於實踐的知識結構,降低學習C++ 的門檻
一、書中的語言通俗易懂,常以形象的比喻和插圖來解釋C++的語法現象和各種概念,便於讀者理解,使他們印象深刻。
二、書中介紹大量實用技巧也是一項特色,特彆是中篇係統地介紹程序的閱讀、調試和編程思想,是市麵上同類書籍少有的。
三、從初學者的角度講解C++,降低瞭C++的學習門檻,是一本編程基礎零起點的好教程。通過在網站上試讀,已經得到廣大C++編程愛好者的強烈響應和支持.
易學C++在各大編程論壇反響強烈,具體情況如下:(有些是讀者主動幫忙宣傳)
http://www.programfan.com/club/post-128283-1.html
http://www.programfan.com/club/post-128840-1.html
http://download.csdn.net/source/227661
http://bbs.bc-cn.net/dispbbs.asp?boardID=56&ID;=37649&page;=1
http://www.shubulo.com/viewthread.php?tid=32915
上海的知名媒體《新聞晚報》也報道過《易學C++》:
http://www.jfdaily.com/gb/jfxww/xinwen/node1222/node11824/userobject1ai1525250.html
內容簡介
本書是為C++程序設計學習者量身訂做的輔導書。
全書分為3篇。前篇介紹瞭麵嚮過程的程序設計,主要有基本語句、語法基礎、函數機製和數據類型等內容。中篇介紹瞭一些實用編程技巧,內容包括閱讀代碼、調試程序、異常處理和簡單的編程思想。後篇介紹瞭麵嚮對象的程序設計,主要有類和對象、對象生滅、友元、繼承、標準模闆庫(STL)等內容。書中常以形象的比喻來解釋程序設計中的概念,通俗易懂,令讀者印象深刻,能更快地進入C++程序設計的大門。
本書的內容涵蓋瞭絕大部分常用的C++知識,可以作為大學計算機專業或非計算機專業的程序設計入門教材,也可供計算機愛好者自學使用。
作者簡介
2008年畢業於上海大學計算機工程與科學學院。從事計算機信息係統開發工作8年多,目前在某英資儀器公司任項目經理、軟件工程師。2005年起編寫《易學C++》一書。
目錄
前篇 過程化的程序設計
第1章 C++從這裏開始 1
1.1 軟件與程序 1
1.2 程序設計要做什麼 2
1.3 選好一種語言 3
1.4 C++能夠做些什麼 3
1.5 C語言、C++語言和Visual C++ 4
1.6 學習程序設計總體建議 5
1.7 C++學習的常見問題 6
1.8 縮略語和術語錶 8
1.9 方法指導 8
1.10 習題 8
第2章 Hello,World! 10
2.1 Visual Studio 2012的安裝和啓動 10
2.2 如何創建一個程序 11
2.3 輸齣與輸入 17
2.4 Visual C++ 6.0的使用 19
2.5 小巧的Dev-C++ 22
2.5.1 Dev-C++的安裝 22
2.5.2 Dev-C++的配置 23
2.5.3 Dev-C++的使用 24
2.6 縮略語和術語錶 26
2.7 方法指導 26
2.8 習題 26
第3章 各種各樣的箱子—變量 28
3.1 會變的箱子 28
3.1.1 數據類型 28
3.1.2 變量名 29
3.1.3 變量的初始化 30
3.2 常用的基本數據類型 30
3.2.1 整型(Integer) 30
3.2.2 浮點型(Floating Point) 32
3.2.3 字符型(Character) 32
3.2.4 布爾型(Boolean) 33
3.3 不會變的箱子 33
3.4 算術錶達式 34
3.4.1 操作符和錶達式 34
3.4.2 算術操作符 35
3.5 箱子的轉換 36
3.5.1 隱式轉換 36
3.5.2 顯式轉換 36
3.6 縮略語和術語錶 37
3.7 方法指導 38
3.8 習題 38
第4章 要走哪條路—分支結構 40
4.1 如果…… 40
4.1.1 條件—關係操作符 41
4.1.2 條件—邏輯操作符 44
4.1.3 &&和||的妙用 47
4.2 否則…… 47
4.2.1 如果與否則 48
4.2.2 如果裏的如果…… 50
4.2.3 找朋友 51
4.3 愛判斷的問號 52
4.4 切換的開關 52
4.4.1 多路開關—switch 53
4.4.2 巧用switch 55
4.5 縮略語和術語錶 56
4.6 方法指導 56
4.7 習題 56
第5章 有個圈兒的程序—循環結構 61
5.1 程序賽車 61
5.1.1 循環語句for 61
5.1.2 加加和減減 63
5.1.3 巧用for 64
5.2 退齣比賽和進維修站 65
5.2.1 退齣比賽—break 65
5.2.2 進維修站—continue 66
5.3 圈圈裏的圈圈 67
5.3.1 循環的嵌套 67
5.3.2 怎麼讓輸齣的東西更好看 68
5.4 當…… 70
5.4.1 當型循環 70
5.4.2 導火索—do 71
5.5 縮略語和術語錶 73
5.6 方法指導 73
5.7 習題 73
第6章 好用的工具—函數 78
6.1 簡單的工具 78
6.1.1 工具的說明書 78
6.1.2 如何使用係統造好的工具 80
6.2 打造自己的工具 81
6.2.1 函數的聲明 82
6.2.2 函數的定義 82
6.2.3 函數是如何運行的 83
6.2.4 返迴語句—return 83
6.2.5 關於主函數 83
6.2.6 同名同姓 84
6.2.7 函數存在的意義 85
6.3 多功能開瓶器—函數重載 86
6.4 自動的“工具” 88
6.4.1 默認參數 88
6.4.2 定義默認參數的順序 89
6.4.3 默認參數和重載函數的混淆 89
6.5 給變量和參數起個“綽號”
—引用 90
6.5.1 引用的聲明 90
6.5.2 用引用傳遞參數 91
6.6* 函數裏的函數—遞歸 92
6.7 縮略語和術語錶 93
6.8 方法指導 93
6.9 習題 94
第7章 好大的“倉庫”—數組 98
7.1 讓計算機處理更多數據—
使用數組 98
7.1.1 數組的聲明 98
7.1.2 數組的操作 99
7.1.3 數組的初始化 100
7.1.4 省略數組大小 100
7.2 倉庫是怎樣造成的 101
7.2.1 內存和地址 101
7.2.2 數組在內存中的存儲情況 101
7.2.3 字符的存儲情況 102
7.2.4 字符數組在內存中的存儲
情況 103
7.3 嚮函數傳遞數組 104
7.4 二維數組 106
7.4.1 綫與麵 106
7.4.2 二維數組的聲明和初始化 107
7.4.3 省略第一維的大小 108
7.4.4 二維數組在內存中的存儲
情況 108
7.4.5 嚮函數傳遞二維數組 108
7.4.6 二維數組轉化成一維數組 109
7.5 縮略語和術語錶 110
7.6 方法指導 110
7.7 習題 110
第8章 內存裏的快捷方式—指針 114
8.1 什麼是指針 114
8.2 指針變量的聲明和使用 114
8.2.1 指針的類型 115
8.2.2 指針變量的聲明 115
8.2.3 獲取地址和指針變量初始化 115
8.2.4 特殊的值—NULL 116
8.2.5 指針的使用—間接引用 116
8.3 指針的操作 117
8.3.1 指針的加減運算 117
8.3.2 指針的關係運算 118
8.4 指針與保護 118
8.4.1 對內存隻讀的指針 118
8.4.2 指針型常量 119
8.5 指針與數組 119
8.5.1 數組名的實質 120
8.5.2 指針數組 120
8.6 指針與函數 121
8.6.1 指針作為參數 121
8.6.2 指針作為返迴值 122
8.7 更靈活的存儲 123
8.7.1 如何獲得堆內存空間 123
8.7.2 有藉有還,再藉不難 123
8.8 縮略語和術語錶 124
8.9 方法指導 125
8.10 習題 125
第9章 自己設計的箱子—枚舉和結構 129
9.1 我的類型我做主—枚舉類型 129
9.2 設計一個收納箱—結構類型 131
9.3 結構與函數 134
9.3.1 結構作為參數 134
9.3.2 結構作為返迴值 135
9.4 結構數組與結構指針 136
9.4.1 結構數組 136
9.4.2 結構指針 136
9.5 自行車的鏈條—鏈錶 137
9.6 鏈錶的實現 139
9.6.1 鏈錶的創建和遍曆 139
9.6.2 鏈錶的查詢 141
9.6.3 插入結點 142
9.6.4 刪除結點 144
9.6.5 清除鏈錶 145
9.7 縮略語和術語錶 146
9.8 方法指導 146
9.9 習題 147
中篇 實戰程序設計
第10章 如何閱讀程序代碼 151
10.1 整體把握法 151
10.1.1 閱讀代碼的順序 151
10.1.2 整體把握語意 152
10.2 經驗法 153
10.3 模擬法 154
10.4 方法指導 155
10.5 習題 156
第11章 如何調試程序代碼 159
11.1 再談變量 159
11.1.1 標識符 159
11.1.2 全局變量和局部變量 159
11.1.3 靜態局部變量 161
11.1.4 變量的作用域 163
11.1.5 變量的可見性 164
11.2 頭文件的奧秘 165
11.2.1 如何創建一個頭文件 165
11.2.2 頭文件裏有什麼 166
11.2.3 頭文件和源文件 168
11.2.4 細說#include 168
11.2.5 尖括號和雙引號的區彆 168
11.2.6 外部依賴項 169
11.3 更快更好地完成程序調試 170
11.3.1 如何檢查語法錯誤 170
11.3.2 常見語法錯誤及解決方法 173
11.4 最麻煩的問題 174
11.4.1 見識運行時錯誤 174
11.4.2 查找錯誤點 175
11.5 在VS2012裏調試程序 178
11.5.1 如何設置和移除斷點 178
11.5.2 走起 178
11.5.3 調試工具欄 179
11.5.4 監視和自動窗口 180
11.5.5 如何通過調試找到錯誤 181
11.6 縮略語和術語錶 181
11.7 方法指導 181
11.8 習題 182
第12章 如何編寫程序代碼 185
12.1 程序設計的基本步驟 185
12.2 三類問題 186
12.2.1 算 186
12.2.2 找 187
12.2.3 實現功能 188
12.3 函數的遞歸 190
12.3.1 什麼是棧 190
12.3.2 函數的調用機製 190
12.3.3 小試牛刀—用遞歸模擬棧 192
12.3.4* 遞歸的精髓 193
12.4 縮略語和術語錶 195
12.5 方法指導 195
12.6 習題 196
第13章 異常的處理 198
13.1 亡羊也要補牢 198
13.2 處理異常 199
13.2.1 盡力嘗試 200
13.2.2 抓住異常 200
13.3 拋齣異常 202
13.4 縮略語和術語錶 203
13.5 方法指導 203
13.6 習題 204
後篇 麵嚮對象的程序設計
第14章 初識對象 205
14.1 對象就是物體 205
14.2 一個字符串也是對象 205
14.2.1 奇妙的點 206
14.2.2 對字符串的操作 206
14.3 麵嚮對象特點一:封裝性 208
14.4 縮略語和術語錶 208
14.5 方法指導 208
14.6 習題 209
第15章 再識對象 210
15.1 類是一種數據類型 210
15.1.1 類與結構 210
15.1.2 類的聲明與定義 211
15.2 公有和私有 211
15.3 成員函數 212
15.3.1 成員函數的聲明 212
15.3.2 常成員函數 212
15.3.3 成員函數的重載 213
15.3.4 成員函數的定義 213
15.4 如何方便地查看類 215
15.5 對象、引用和指針 216
15.5.1 對象的引用 216
15.5.2 對象指針 216
15.6 縮略語和術語錶 216
15.7 方法指導 216
15.8 習題 217
第16章 造物者與毀滅者—對象生滅 220
16.1 麻煩的初始化 220
16.2 造物者—構造函數 221
16.2.1 構造函數的聲明與定義 221
16.2.2 帶參數的構造函數 222
16.3 先有結點,還是先有鏈錶 224
16.4 剋隆技術—拷貝構造函數 225
16.4.1 拷貝構造函數 225
16.4.2 默認拷貝構造函數 228
16.4.3 拷貝構造函數存在的意義 228
16.5 毀滅者—析構函數 232
16.6 縮略語和術語錶 235
16.7 方法指導 235
16.8 習題 236
第17章 共有財産 好朋友 操作符 239
17.1 有多少個結點 239
17.1.1 靜態成員數據 240
17.1.2 靜態成員數據的初始化 240
17.1.3 靜態成員函數 240
17.2 類的好朋友 243
17.2.1 友元類 243
17.2.2 友元函數 246
17.2.3 友元的利與弊 248
17.3 多功能的操作符—
操作符的重載 248
17.3.1 操作符作為成員函數 249
17.3.2 操作符作為友元函數 252
17.3.3 又見加加和減減 254
17.4 縮略語和術語錶 256
17.5 方法指導 256
17.6 習題 256
第18章 父與子—類的繼承 257
18.1 劍士 弓箭手 法師的睏惑 257
18.2 麵嚮對象特點二:繼承性 258
18.3 繼承的實現 259
18.3.1 私有和保護 259
18.3.2 一個簡單的例子 259
18.3.3 繼承的方式 261
18.4 子類對象的生滅 265
18.4.1 子類對象的構造 265
18.4.2 子類對象的析構 267
18.5 繼承與對象指針 268
18.5.1 父類指針與子類對象 268
18.5.2 猜猜它是誰 269
18.6 麵嚮對象特點三:多態性 270
18.7 多態與虛函數 271
18.7.1 多態的實現 271
18.7.2 無法實現多態的虛函數 273
18.8 虛析構函數 274
18.9 抽象類與純虛函數 276
18.10 多重繼承 278
18.11 縮略語和術語錶 279
18.12 方法指導 279
18.13 習題 280
第19章 再談輸入與輸齣 286
19.1 cout和cin是什麼 286
19.2 輸入/輸齣的重定嚮 286
19.2.1 輸入重定嚮 286
19.2.2 輸齣重定嚮 287
19.2.3 無法被重定嚮的cerr 288
19.3 文件的輸入與輸齣 289
19.4 更巧妙地輸入和輸齣 290
19.4.1 能整行輸入的getline 290
19.4.2 能讀取判斷末尾的eof 291
19.4.3 能計數的gcount 292
19.4.4 能設置域寬的width 292
19.5 插入操作符的重載 293
19.5.1 插入操作符 293
19.5.2 插入操作符的常用重載
方式 294
19.6 縮略語和術語錶 295
19.7 方法指導 295
19.8 習題 295
第20章 萬用的模闆 297
20.1 函數模闆 297
20.1.1 從為什麼需要模闆說起 297
20.1.2 聲明與定義函數模闆 298
20.1.3 函數模闆與重載 299
20.2 類模闆 301
20.2.1 類模闆的聲明和定義 301
20.2.2 鏈錶類模闆實例 301
20.3 從數組到嚮量 306
20.3.1 嚮量的性能 306
20.3.2 對嚮量的操作 306
20.4 縮略語和術語錶 307
20.5 方法技巧 307
20.6 習題 307
第21章 博大精深的STL 312
21.1 STL裏有什麼 312
21.2 超級指針——迭代器 313
21.3 有瞭算法,何必還需自己寫 314
21.4 從箱子到容器 316
21.4.1 鏈錶,再見! 316
易學C++(第2版) 下載 mobi epub pdf txt 電子書