商品簡介
C++語言是應用最廣泛的面向對象的程序設計語言之一。本書注重可讀性和實用性,配備了大量經過精心篩選的例題,既能幫助理解知識,又具有啟發性。
本書在內容編寫上分為 C++語言基礎、C++特性和 Windows 操作系統下的應用程序開發基礎三個部分,突出 C++的編程思想和編程能力的培養。
本書共分 13 章,分別介紹基本數據類型、程序控制語句、函數、數組、結構體、共用體和枚舉類型、指針、類、對象、繼承與派生、重載、虛函數、輸入輸出流、Windows 編程、圖形設計及應用、MFC 編程及應用、多媒體程序設計、網絡編程和數據庫應用等內容。
本書可以作為高等學校程序設計語言的教材,也可供從事軟件開發的工程技術人員自學使用。
作者簡介
張思民,教授,就職於廈門大學嘉庚學院,長期從事計算機類應用項目開發設計工作,並在高校擔任計算機專業程序設計課程的教學工作,有豐富的教學經驗和程序設計實踐經驗。並為企業開發設計過許多應用項目,承擔過多項省部級科研課題研究。
劉政宇,碩士研究生,哈爾濱華德學院教務處處長,副教授,主要從事大數據處理和面向對象的信息系統設計與開發等方面的研究,主講《面向對象程序設計》、《數據倉庫與數據挖掘》等課程,主審、主編或參編計算機相關專業教材十餘本。
宋毅,碩士研究生,哈爾濱華德學院教師,副教授,研究方向為計算機網絡安全、自然語言處理,主講課程有《操作系統》、《數據結構與算法》、《網絡應用程序設計》等等。
名人推薦
本書在內容編寫上分為 C++語言基礎和Windows操作系統下的應用程序開發基礎兩個部分,突出C++的編程思想和編程能力的培養。
目次
第 1 章 C++語言概述........................................................................................................................1
1.1 程序設計語言及 C++的特點................................................................................................1
1.2 C++程序開發過程 ................................................................................................................2
1.3 編寫簡單的 C++程序 ...........................................................................................................3
1.4 應用 VC++編譯、調試 C++程序..........................................................................................5
本章小結 .......................................................................................................................................7
習題一 ...........................................................................................................................................7
第 2 章 C++語言基礎........................................................................................................................8
2.1 簡單的輸入輸出語句 ...........................................................................................................8
2.2 數據類型及分類.................................................................................................................10
2.2.1 數據類型.................................................................................................................10
2.2.2 基本數據類型.........................................................................................................11
2.2.3 數據類型轉換.........................................................................................................12
2.2.4 變量 ........................................................................................................................12
2.2.5 常量 ........................................................................................................................15
2.3 表達式和運算符.................................................................................................................18
2.3.1 表達式與運算符 .....................................................................................................18
2.3.2 算術運算符.............................................................................................................18
2.3.3 關係與邏輯運算符 .................................................................................................21
2.3.4 位運算符.................................................................................................................23
2.3.5 常用的標準函數 .....................................................................................................26
2.4 程序控制語句.....................................................................................................................27
2.4.1 語句 ........................................................................................................................27
2.4.2 順序控制語句.........................................................................................................28
2.4.3 選擇控制語句.........................................................................................................30
2.4.4 switch 語句..............................................................................................................34
2.4.5 循環語句.................................................................................................................35
2.4.6 轉向語句.................................................................................................................42
2.5 應用實例 ............................................................................................................................42
本章小結 .....................................................................................................................................46
習題二 .........................................................................................................................................47
第 3 章 函數.....................................................................................................................................51
3.1 函數定義 ............................................................................................................................51
3.1.1 函數的分類.............................................................................................................51
3.1.2 函數的定義 ............................................................................................................ 51
3.2 函數的調用........................................................................................................................ 53
3.2.1 函數調用的語法形式............................................................................................. 53
3.2.2 函數調用的過程..................................................................................................... 54
3.2.3 函數的傳值調用..................................................................................................... 55
3.2.4 函數的引用調用..................................................................................................... 57
3.2.5 函數的嵌套調用..................................................................................................... 60
3.2.6 函數的遞歸調用..................................................................................................... 61
3.3 函數模板............................................................................................................................ 62
3.3.1 函數模板的定義..................................................................................................... 62
3.3.2 模板函數 ................................................................................................................ 64
3.4 變量的作用域和存儲類型................................................................................................. 65
3.4.1 變量的作用域 ........................................................................................................ 65
3.4.2 變量的存儲類型..................................................................................................... 66
3.4.3 外部變量 ................................................................................................................ 69
3.5 隨機函數............................................................................................................................ 70
3.6 函數重載............................................................................................................................ 72
本章小結..................................................................................................................................... 73
習題三......................................................................................................................................... 74
第 4 章 構造數據類型及編譯預處理........................................................................................... 76
4.1 數組.................................................................................................................................... 76
4.1.1 一維數組 ................................................................................................................ 76
4.1.2 多維數組 ................................................................................................................ 79
4.2 字符數組............................................................................................................................ 82
4.2.1 字符數組與字符串................................................................................................. 82
4.2.2 常用字符串處理函數............................................................................................. 83
4.3 數組應用實踐 .................................................................................................................... 85
4.3.1 排序........................................................................................................................ 85
4.3.2 查找........................................................................................................................ 91
4.3.3 統計應用 ................................................................................................................ 97
4.3.4 字符處理 ................................................................................................................ 98
4.4 構造數據類型 .................................................................................................................... 98
4.4.1 結構體類型 ............................................................................................................ 98
4.4.2 共用體類型 ...........................................................................................................103
4.4.3 枚舉類型 ...............................................................................................................104
4.5 編譯預處理.......................................................................................................................105
4.5.1 “文件包含”預處理..............................................................................................105
4.5.2 宏定義...................................................................................................................106
4.5.3 條件編譯...............................................................................................................108
4.6 類型重定義 typedef...........................................................................................................109
本章小結 ...................................................................................................................................111
習題四 .......................................................................................................................................111
第 5 章 指針...................................................................................................................................114
5.1 指針和指針變量...............................................................................................................114
5.1.1 指針的概念...........................................................................................................114
5.1.2 指針的運算...........................................................................................................117
5.2 指針與數組.......................................................................................................................121
5.2.1 指向數組的指針變量............................................................................................121
5.2.2 指針與二維數組 ...................................................................................................124
5.2.3 指針和字符串.......................................................................................................126
5.3 指針與函數.......................................................................................................................129
5.3.1 函數指針...............................................................................................................129
5.3.2 指針做函數的參數 ...............................................................................................131
5.3.3 指針型函數...........................................................................................................132
5.3.4 帶參數的 main()函數 ............................................................................................133
5.4 指向結構體的指針...........................................................................................................134
5.4.1 結構體指針...........................................................................................................134
5.4.2 指向結構體數組的指針........................................................................................136
5.5 應用實例 ..........................................................................................................................139
本章小結 ...................................................................................................................................142
習題五 .......................................................................................................................................143
第 6 章 面向對象程序設計............................................................................................................144
6.1 面向對象的基本概念 .......................................................................................................144
6.1.1 面向對象程序設計的基本特點 ............................................................................144
6.1.2 對象和類的概念 ...................................................................................................145
6.2 類與對象...........................................................................................................................147
6.2.1 類的定義...............................................................................................................147
6.2.2 類的成員函數.......................................................................................................150
6.2.3 對象 ...................................................................................................................... 151
6.3 構造函數和析構函數 .......................................................................................................153
6.3.1 構造函數...............................................................................................................153
6.3.2 重載構造函數 .......................................................................................................155
6.3.3 析構函數...............................................................................................................157
6.3.4 複製構造函數.......................................................................................................159
6.4 對象指針和靜態類成員 ...................................................................................................161
6.4.1 對象指針...............................................................................................................161
6.4.2 this 指針 ................................................................................................................163
6.4.3 靜態類成員 ...........................................................................................................164
6.5 動態內存分配 ...................................................................................................................169
6.6 友元...................................................................................................................................172
6.7 繼承與派生.......................................................................................................................175
6.7.1 繼承.......................................................................................................................175
6.7.2 派生類的繼承方式................................................................................................177
6.7.3 多繼承...................................................................................................................180
6.7.4 派生類的構造函數和析構函數.............................................................................183
6.8 運算符重載.......................................................................................................................184
6.9 虛函數...............................................................................................................................188
6.9.1 虛函數的定義 .......................................................................................................188
6.9.2 虛函數的訪問........................................................................................................189
6.9.3 虛函數與重載的關係及虛函數的限制.................................................................191
6.9.4 純虛函數與抽象類................................................................................................191
6.10 應用實例 .........................................................................................................................193
本章小結....................................................................................................................................202
習題六........................................................................................................................................202
第 7 章 輸入輸出流類庫 ................................................................................................................207
7.1 流的概念...........................................................................................................................207
7.1.1 什麼是流 ...............................................................................................................207
7.1.2 C++流類庫.............................................................................................................207
7.1.3 預定義流對象 .......................................................................................................209
7.2 重載提取和插入運算符....................................................................................................210
7.3 常用操作輸入輸出流的成員函數 ....................................................................................211
7.4 文件...................................................................................................................................214
7.4.1 文件的概念 ...........................................................................................................214
7.4.2 文件的打開與關閉................................................................................................216
7.4.3 文本文件的讀寫操作............................................................................................219
7.4.4 二進制文件的讀寫操作........................................................................................223
7.4.5 隨機訪問文件 .......................................................................................................225
7.5 異常處理 ...........................................................................................................................227
7.5.1 異常的基本類型....................................................................................................227
7.5.2 異常處理方法........................................................................................................228
7.5.3 多個異常的處理方法 ............................................................................................231
7.6 命名空間...........................................................................................................................232
7.7 應用實例 ...........................................................................................................................233
本章小結....................................................................................................................................236
習題七 .......................................................................................................................................237
第 8 章 Windows 程序設計基礎...................................................................................................239
8.1 Windows 編程基礎............................................................................................................239
8.1.1 Windows 程序設計的基本概念.............................................................................239
8.1.2 事件驅動和 API 函數............................................................................................242
8.2 Windows 程序主要函數與設計方法.................................................................................244
8.2.1 Windows 程序的設計方法 ....................................................................................244
8.2.2 Windows 程序的主要函數 ....................................................................................245
8.3 利用 API 開發 Windows 程序 ...........................................................................................246
8.3.1 編寫 Windows 程序 ...............................................................................................246
8.3.2 系統自動生成 Windows 程序框架 ........................................................................254
本章小結 ...................................................................................................................................255
習題八 .......................................................................................................................................255
第 9 章 圖形程序設計....................................................................................................................256
9.1 設備描述符和圖形設備接口............................................................................................256
9.2 GDI 基本繪圖工具的使用................................................................................................259
9.2.1 畫筆工具...............................................................................................................259
9.2.2 畫刷工具...............................................................................................................260
9.2.3 顏色的設置...........................................................................................................261
9.3 GDI 常用繪圖函數 ...........................................................................................................262
9.3.1 圖形區域的繪圖函數............................................................................................262
9.3.2 填充圖形內部區域的繪圖函數 ............................................................................265
9.4 應用實例 ..........................................................................................................................267
本章小結 ...................................................................................................................................269
習題九 .......................................................................................................................................269
第 10 章 MFC 編程基礎................................................................................................................270
10.1 MFC 類庫簡介 ................................................................................................................270
10.2 使用嚮導開發 MFC 應用程序 ........................................................................................273
10.2.1 生成 MFC 應用程序框架 ....................................................................................274
10.2.2 MFC 應用程序結構.............................................................................................277
10.3 MFC 圖形用戶界面程序設計 .........................................................................................278
10.3.1 控件..................................................................................................................... 278
10.3.2 編輯框、靜態文本框及命令按鈕的使用...........................................................278
10.3.3 幾個常用控件的使用..........................................................................................285
本章小結 ...................................................................................................................................288
習題十 .......................................................................................................................................288
第 11 章 多媒體應用程序設計 ......................................................................................................289
11.1 應用音頻函數設計聲音播放器程序 ..............................................................................289
11.1.1 聲音文件播放原理..............................................................................................289
11.1.2 高級音頻函數 .....................................................................................................290
11.1.3 簡單音頻播放程序設計 ......................................................................................291
11.2 應用 MCIWnd 設計多媒體播放器程序...........................................................................292
11.3 圖像文件顯示程序設計..................................................................................................295
11.3.1 顯示位圖圖像的相關函數 ..................................................................................295
11.3.2 圖像顯示程序設計示例 ......................................................................................296
11.4 基於.NET 基礎類庫的圖像處理程序設計......................................................................298
11.4.1 .NET 平臺結構的 CLR.........................................................................................298
11.4.2 .NET 基礎類庫的圖像處理類 .............................................................................298
11.4.3 圖像處理示例......................................................................................................299
本章小結....................................................................................................................................302
習題十一....................................................................................................................................303
第 12 章 網絡應用程序設計 ..........................................................................................................304
12.1 網絡通信基礎..................................................................................................................304
12.1.1 網絡基礎知識......................................................................................................304
12.1.2 TCP 與 UDP 協議 ................................................................................................306
12.2 套接字編程 .....................................................................................................................307
12.2.1 套接字 Winsocket................................................................................................307
12.2.2 套接字函數 .........................................................................................................308
12.2.3 Winsocket 網絡編程示例.....................................................................................311
12.3 利用 MFC 編寫 Web 瀏覽器程序....................................................................................314
12.3.1 CHtmlView 類 ......................................................................................................314
12.3.2 CHtmlView 類的應用...........................................................................................315
本章小結....................................................................................................................................318
習題十二....................................................................................................................................318
第 13 章 數據庫應用程序設計 ......................................................................................................319
13.1 數據庫基礎知識 .............................................................................................................319
13.1.1 關係型數據庫及 Access 數據庫..........................................................................319
13.1.2 ODBC 數據源 ......................................................................................................321
13.1.3 應用程序訪問數據庫..........................................................................................322
13.2 MFC 的 ODBC 數據庫類 .................................................................................................322
本章小結....................................................................................................................................328
習題十三....................................................................................................................................328
附錄 A ASCII 碼表.........................................................................................................................329
附錄 B 函數的參數傳遞.................................................................................................................330
附錄 C Visual C++ .NET 常用數據類型.......................................................................................331