零點起飛學C++

零點起飛學C++

《零點起飛學C++》是清華大學出版社出版的圖書。

基本介紹

  • 書名:零點起飛學C++
  • ISBN:7302317372
  • 出版社:清華大學出版社
  • 開本:16
基本信息,內容簡介,編輯推薦,目錄,

基本信息

· 出版社: 清華大學出版社
· 叢書名:零點起飛學編程
· 圖書名稱:零點起飛學C++
· 平裝: 374頁
· 語種: 簡體中文
· 開本: 16
· ISBN: 7302317372

內容簡介

《零點起飛學C++(附光碟)》共分4篇,第1篇面向過程的C++編程,包括走進C++、數據類型、變數和常量、運算符、表達式和語句、指針的操作、複合數據類型、函式、輸入/輸出,以及面向過程的編程案例。第2篇介紹面向對象的C++編程,包括封裝、命名空間和作用域、繼承和派生、多態、模板,以及面向對象的編程案例。第3篇介紹C++的高級開發技術,包括string類、異常處理、記憶體管理、預處理、錯誤和調試。第4篇介紹C++的套用開發實戰,包括兩種類型的案例,即用鍊表模擬堆疊和圖的遍歷(數據結構型)、用WinSocket編寫客戶機/伺服器模式的系統和自定義協定及其實現的方法(網路型)。
秦廣軍等編著的《零點起飛學C++(附光碟)》結合大量示例和實戰案例,由淺入深、循序漸進地介紹C++語言的相關知識,尤其對面向過程的程式設計到面向對象的程式設計做了重點介紹和必要辨析。本書特意提供了典型習題及教學PPT,以方便教學。另外,作者專門為本書錄製了大量的配套教學視頻,以幫助讀者更好地學習本書內容。這些視頻和書中的實例原始碼一起收錄於本書的配書光碟中。

《零點起飛學C++(附光碟)》適合C++入門與想提高編程的人員閱讀,也可作為大中專院校C++程式設計課程的教材。另外,本書也可供C++語言愛好者和從業者作為實際工作中的參考書籍。

編輯推薦

為了幫助讀者更好地學習C++程式設計,筆者(秦廣軍)結合自己多年的C++開發經驗編寫了本書。《零點起飛學C++(附光碟)》結合大量多媒體教學視頻,全面、系統地介紹了C++語言的相關開發知識,並以大量實例貫穿於全書的講解之中,最後還詳細介紹了兩個實際套用案例的開發。學習完本書後,讀者將能夠對C++編程有一個全面的認識,具備編寫C++程式的能力。

目錄

第1篇面向過程的C++編程
第1章走進C++(教學視頻:27分鐘) 2
1.1認識C++ 2
1.1.1C++的發展歷程 2
1.1.2C++的套用領域 2
1.2C++開發環境的搭建 3
1.2.1安裝過程 3
1.2.2開發環境介紹 4
1.3認識第一個程式 7
1.4小結 11
第2章數據類型(教學視頻:38分鐘) 12
2.1數據的表示——數字運算型 12
2.1.1表示整數的類型——整型 12
2.1.2表示小數的類型——實型 13
2.1.3浮點型 14
2.1.4雙精度型 15
2.2是非問題——邏輯運算型 15
2.2.1“並且”的運算——與運算 15
2.2.2“或者”的運算——或運算 16
2.2.3“No”的運算——非運算 16
2.2.4邏輯運算的組合 17
2.3文本的基礎——字元型和字元串 17
2.3.1單個字元的表示——字元型 17
2.3.2多個字元的表示——字元串 19
2.3.3字元與字元串的差異 19
2.4複雜數據的表示——複合類型 19
2.5小結 20
2.6習題 20
第3章數據的指代——變數和常量(教學視頻:50分鐘) 21
3.1指代可變的量——變數 21
3.1.1變數是什麼 21
3.1.2多種多樣的變數 23
3.1.3變數的初始化 25
3.1.4如何對變數命名 26
3.2指代不變的量——常量 26
3.2.1常量是什麼 26
3.2.2多種多樣的常量 27
3.2.3使用常量需要注意的問題 29
3.2.4常量的初始化 29
3.2.5如何對常量命名 29
3.3小結 30
3.4習題 30
第4章數據運算的核心——運算符(教學視頻:48分鐘) 31
4.1加減乘除的運算——算術運算符 31
4.2是是非非的運算——邏輯運算符 34
4.3比較大小的運算——關係運算符 34
4.4位運算 37
4.5最基礎的運算——賦值 40
4.6運算符的優先權和結合性 41
4.6.1優先權 41
4.6.2結合性 44
4.7小結 44
4.8習題 44
第5章運算的最小單位——表達式(教學視頻:46分鐘) 46
5.1使用表達式 46
5.1.1表達式的種類 46
5.1.2表達式到底是什麼 47
5.1.3如何寫表達式 47
5.2數據類型的轉換 48
5.2.1隱式轉換 48
5.2.2顯式轉換 50
5.3小結 53
5.4習題 53
第6章程式的最小單位——語句(教學視頻:73分鐘) 55
6.1認識語句 55
6.1.1單一語句——簡單語句 55
6.1.2多個語句——語句塊 56
6.2程式的執行順序 58
6.3因地制宜——選擇型語句 58
6.3.1如果…就…——if語句 58
6.3.2多選一——switch語句 61
6.4周而復始——循環型語句 65
6.4.1隻要…就…——while語句 65
6.4.2如果…繼續…——do…while語句 66
6.4.3for語句 67
6.5各種標誌——標籤語句 69
6.5.1程式中的標誌——普通標籤語句 69
6.5.2特殊標籤語句 71
6.6快捷通道——跳轉語句 71
6.6.1跳出來——break語句 71
6.6.2continue語句 72
6.6.3goto語句 73
6.7語句嵌套 74
6.7.1自增 74
6.7.2自減 74
6.7.3逗號語句 75
6.7.4選擇的簡化版——?…:語句 75
6.8小結 76
6.9習題 76
第7章指針(教學視頻:63分鐘) 78
7.1什麼是地址 78
7.2如何定義指針 79
7.2.1指針的定義 79
7.2.2向左向右分析指針 80
7.2.3sizeof 80
7.3指針的類型 81
7.4初始化指針 83
7.4.1用指針的地址進行初始化 84
7.4.2用變數的地址進行初始化 84
7.4.3用new分配的記憶體單元進行初始化 85
7.4.4用malloc分配的記憶體單元進行初始化 85
7.5指針的運算 87
7.5.1算術運算 87
7.5.2關係運算 89
7.6指針嵌套——指針的指針 90
7.7使用指針 92
7.7.1給指針賦值 92
7.7.2*操作符 93
7.8指針與引用 93
7.9特殊指針 96
7.9.1void型指針 96
7.9.2空指針 97
7.10小結 98
7.11習題 98
第8章多數據的處理——複合類型(教學視頻:60分鐘) 100
8.1靜態數組 100
8.1.1指定維數完整 100
8.1.2維數不全 101
8.1.3無維數 101
8.2動態數組 101
8.2.1基於堆的動態數組 101
8.2.2基於棧的動態數組 103
8.3數據元素的存放 104
8.3.1列優先存放 104
8.3.2行優先存放 105
8.4字元數組 105
8.4.1定義和使用 106
8.4.2字元數組和字元串 106
8.4.3字元數組和字元串指針 107
8.5初始化 107
8.5.1定義時初始化 107
8.5.2賦值初始化數組 109
8.6指針與數組 110
8.6.1指向數組的指針 110
8.6.2指針數組 111
8.7數組的使用 112
8.7.1索引方式 112
8.7.2指針方式 113
8.8枚舉 114
8.9結構體 116
8.10共用體 118
8.11自定義類型 120
8.11.1typedef的作用 120
8.11.2定義自己的類型 122
8.12小結 124
8.13習題 124
第9章通用語句塊——函式(教學視頻:51分鐘) 125
9.1定義函式 125
9.1.1定義方式 125
9.1.2函式定義的示例 127
9.2不同的函式 130
9.2.1從返回值類型來劃分 130
9.2.2從作用域來劃分 130
9.2.3從C++類的成員函式特性來劃分 132
9.3函式通用的關鍵——參數 133
9.3.1定義時候的參數——形參 133
9.3.2調用時候的參數——實參 134
9.4有借有還——函式返回值 135
9.4.1返回值 136
9.4.2返回表達式 136
9.5調用函式 136
9.5.1單獨調用 136
9.5.2函式表達式調用 137
9.5.3嵌套調用 137
9.5.4參數傳遞方式 138
9.6自己調用自己——遞歸函式 139
9.7函式指針 140
9.8函式作為參數 141
9.9main()函式分析 142
9.10函式的規範編寫 144
9.11小結 144
9.12習題 144
第10章C++中的輸入/輸出(教學視頻:49分鐘) 146
10.1輸入/輸出庫iostream 146
10.1.1操作標準I/O 146
10.1.2讀寫檔案I/O 147
10.1.3操作字元串I/O 148
10.2輸出流 149
10.2.1輸出預定義類型數據 149
10.2.2輸出自定義數據類型 150
10.3輸入流 151
10.3.1輸入預定義類型數據 151
10.3.2輸入自定義類型數據 152
10.4格式化輸入/輸出 153
10.4.1使用ios類成員函式進行格式化 153
10.4.2使用操縱函式進行格式化控制 155
10.5使用檔案 157
10.5.1打開/關閉檔案 157
10.5.2順序讀寫檔案 159
10.5.3隨機讀寫檔案 160
10.6小結 162
10.7習題 162
第11章面向過程的程式設計實戰(教學視頻:52分鐘) 164
11.1問題定義 164
11.2需求分析 164
11.3總體設計 165
11.3.1數據結構 165
11.3.2圖書基礎數據維護模組 166
11.3.3圖書借閱模組 168
11.3.4圖書返還模組 168
11.3.5會員基礎數據維護模組 169
11.3.6總體流程圖 171
11.4編碼 172
11.4.1主控檔案bookmanager.cpp 172
11.4.2選單處理頭檔案mainfunction.h 172
11.4.3數據結構頭檔案datainfo.h 173
11.4.4功能函式頭檔案subfunction.h 173
11.4.5選單處理實現檔案mainfunction.cpp 174
11.4.6功能函式實現檔案subfunction.cpp 177
11.5小結 187
第2篇面向對象的C++編程
第12章面向對象(教學視頻:23分鐘) 190
12.1面向對象的概念 190
12.2面向對象的程式設計 192
12.3對象和類 192
12.4面向對象的特徵 193
12.4.1封裝 193
12.4.2繼承 194
12.4.3多態 194
12.5小結 195
12.6習題 195
第13章面向對象的本質——封裝(教學視頻:55分鐘) 196
13.1構建類 196
13.1.1聲明類 196
13.1.2構建屬性 198
13.1.3構建類的方法 198
13.1.4使用構造函式 199
13.1.5使用析構函式 202
13.1.6可以共享的成員——靜態成員 203
13.1.7構建友元 204
13.1.8訪問修飾符 206
13.1.9指向類成員的指針 207
13.1.10類中定義的類——嵌套類 208
13.1.11類檔案的組織 209
13.2類的具體表現——對象 211
13.2.1定義對象 211
13.2.2使用對象 212
13.2.3指向自身的指針——this指針 214
13.3小結 214
13.4習題 214
第14章命名空間和作用域(教學視頻:21分鐘) 216
14.1為什麼使用命名空間 216
14.2定義命名空間 216
14.3如何使用命名空間 218
14.4作用域 220
14.4.1什麼叫作用域 220
14.4.2作用域的分類 221
14.5小結 223
14.6習題 223
第15章繼承和派生(教學視頻:62分鐘) 225
15.1繼承和派生的關係 225
15.2派生一個類 225
15.2.1派生的起點——基類 226
15.2.2派生的方式 227
15.2.3使用構造函式 229
15.2.4使用析構函式 231
15.2.5同名方法的使用 232
15.2.6同名屬性的使用 234
15.3單重繼承 235
15.4多重繼承 235
15.4.1為什麼要多重繼承 235
15.4.2構造多重繼承 236
15.4.3析構函式和構造函式 237
15.4.4多重繼承的二義性 239
15.5虛繼承與虛基類 241
15.5.1什麼是虛基承 241
15.5.2初始化虛基類 244
15.5.3集成虛基類 246
15.6繼承中的限制 246
15.7小結 247
15.8習題 247
第16章靈活的代碼——多態(教學視頻:54分鐘) 250
16.1什麼是多態 250
16.2宏多態 251
16.3虛函式 252
16.3.1虛函式的作用 252
16.3.2靜態綁定 254
16.3.3動態綁定 254
16.3.4純虛函式 254
16.4抽象類 256
16.4.1什麼是抽象類 256
16.4.2抽象類的派生 256
16.5運算符的多態——運算符重載 257
16.5.1為什麼要重載運算符 257
16.5.2重載的限制 258
16.5.3重載一元運算符 259
16.5.4重載二元運算符 260
16.6函式重載 261
16.6.1參數類型不同 261
16.6.2參數個數不同 262
16.7流的重載 263
16.7.1流插入的重載 263
16.7.2流提取的重載 264
16.8覆蓋 266
16.8.1覆蓋函式 266
16.8.2覆蓋變數 267
16.9小結 268
16.10習題 268
第17章模板(教學視頻:25分鐘) 271
17.1什麼是模板 271
17.2類模板 272
17.2.1定義類模板 272
17.2.2使用類模板 273
17.2.3類模板和模板類的區別 275
17.3函式模板 276
17.3.1定義函式模板 276
17.3.2使用函式模板 276
17.3.3函式模板和模板函式的區別 278
17.4模板的實例化 278
17.5模板的作用 279
17.6基於模板的元編程 279
17.6.1什麼是元編程 279
17.6.2基於模板的元編程 280
17.7小結 281
17.8習題 281
第18章面向對象實戰(教學視頻:18分鐘) 283
18.1問題定義 283
18.2需求分析 283
18.3面向對象分析與設計 284
18.3.1類結構的設計 284
18.3.2類的可見性 284
18.3.3類的結構圖 285
18.4編碼和測試 286
18.4.1預編譯頭檔案Stdafx.h 286
18.4.2CCNTime類的頭檔案Cntime.h 287
18.4.3CCNTime類的實現檔案Cntime.cpp 288
18.4.4主檔案main.cpp 295
18.5小結 296
第3篇C++高級開發技術
第19章文本處理——string類(教學視頻:13分鐘) 298
19.1定義字元串 298
19.2string類的常用方法 300
19.3string類的運算 302
19.3.1查找字元串 302
19.3.2替換字元串 304
19.3.3取子字元串 305
19.3.4比較字元串 305
19.3.5連線字元串 306
19.3.6插入字元串 306
19.3.7獲取字元串大小和容量 307
19.4小結 307
19.5習題 308
第20章不讓程式出錯——異常處理(教學視頻:16分鐘) 309
20.1異常處理機制 309
20.2拋出異常 309
20.3捕獲異常 311
20.4什麼是異常處理的規格 313
20.5常見的標準異常 313
20.6小結 314
20.7習題 314
第21章記憶體管理(教學視頻:21分鐘) 316
21.1記憶體的分類 316
21.2管理棧記憶體 317
21.2.1申請棧記憶體 317
21.2.2使用棧記憶體 318
21.2.3釋放棧記憶體 320
21.2.4獲取棧記憶體 320
21.3管理堆記憶體 321
21.3.1申請堆記憶體 321
21.3.2使用堆記憶體 321
21.3.3釋放堆記憶體 322
21.3.4改變大小 323
21.4小結 324
21.5習題 324
第22章預處理(教學視頻:21分鐘) 325
22.1什麼是預處理 325
22.2常見的預處理 325
22.2.1檔案包含#include 326
22.2.2布局控制#pragma 326
22.2.3宏替換#define 330
22.2.4條件編譯 331
22.3其他預處理指令 332
22.4小結 333
22.5習題 333
第23章錯誤與調試(教學視頻:46分鐘) 335
23.1什麼是錯誤 335
23.2錯誤的種類 335
23.2.1語法錯誤 335
23.2.2連結錯誤 336
23.2.3運行時錯誤 338
23.3排查錯誤 339
23.3.1看懂錯誤信息 339
23.3.2錯誤發現的常見方法 339
23.3.3如何調試 340
23.4常見bug的分類 340
23.5調試的竅門 341
23.5.1使用斷言assert 341
23.5.2使用斷言verify 342
23.5.3assert和verify的差異 342
23.5.4軌跡跟蹤 343
23.5.5使用斷點 344
23.6使用互動式調試 345
23.6.1設定和刪除斷點 345
23.6.2使用Debug視窗 345
23.6.3使用Watch面板 347
23.6.4使用步進方式調試 347
23.7小結 347
23.8習題 348
第4篇套用開發實戰
第24章數據結構套用實戰(教學視頻:23分鐘) 350
24.1採用鍊表模擬堆疊 350
24.1.1鏈棧類的定義檔案LinkStack.h 350
24.1.2鏈棧類的實現檔案LinkStack.cpp 351
24.1.3鏈棧類的使用檔案test24_1.cpp 354
24.2遍歷圖 355
24.2.1存儲/遍歷圖 355
24.2.2圖遍歷的代碼 356
24.3小結 359
第25章網路套用案例(教學視頻:33分鐘) 360
25.1客戶機/伺服器通信 360
25.1.1WinSocket2常用函式 360
25.1.2伺服器/客戶機編程模式 363
25.1.3伺服器和客戶端公用檔案 364
25.1.4伺服器端實現 367
25.1.5客戶端實現 368
25.2自定義協定 369
25.2.1自定義協定 370
25.2.2自定義協定的實現 371
25.3小結 374

相關詞條

熱門詞條

聯絡我們