C++編程兵書( 簡體 字) | |
作者:亓永剛 | 類別:1. -> 程式設計 -> C++ -> C++ |
出版社:電子工業出版社 | 3dWoo書號: 36498 詢問書籍請說出此書號! 有庫存 NT售價: 395 元 |
出版日:9/1/2013 | |
頁數:564 | |
光碟數:1 | |
站長推薦: | |
印刷:黑白印刷 | 語系: ( 簡體 字 ) |
ISBN:9787121207730 | 加入購物車 │加到我的最愛 (請先登入會員) |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社) | |
第1章 概覽全局:C++入門 1
1.1 C++概述 2 1.1.1 C++的歷史沿革 2 1.1.2 C++與面向對象 2 1.1.3 從C到C++ 3 1.2 程序設計方法 4 1.2.1 結構化程序設計 4 1.2.2 面向對象程序設計 5 1.2.3 程序設計方法比較 6 1.3 C++開發環境——Visual C++ 6.0 7 1.3.1 工作區 8 1.3.2 編輯區 9 1.3.3 輸出窗口 9 1.3.4 菜單欄、工具欄和狀態欄 10 1.4 C++源程序組成元素 16 1.4.1 基本組成 16 1.4.2 基本符號 17 1.4.3 標識符 17 1.4.4 保留字 18 1.4.5 分隔符 18 1.5 Visual C++ 6.0項目中文件類型的說明 18 1.6 小結 19 1.7 習題 20 第2章 裝備拾取:安裝、配置 Visual C++ 6.0 21 2.1 在Windows 7中安裝Visual C++ 6.0 22 2.1.1 系統要求 22 2.1.2 在Windows 7中安裝Visual C++ 6.0和Installshield 22 2.1.3 徹底解決Windows 7下安裝Visual C++ 6.0的兼容性問題 33 2.2 配置Visual C++ 6.0 37 2.2.1 環境設置(Environment Settings) 37 2.2.2 工作區域設置(Workspace Settings) 39 2.2.3 工程設置(Project Settings) 41 2.2.4 快捷鍵(Shortcut-key) 43 2.3 第一個C++程序—HelloWorld 44 2.4 小結 50 2.5 習題 51 第3章 樁步必練:變量和基本數據類型 52 3.1 常量 53 3.1.1 字面值常量 53 3.1.2 符號常量(#define) 55 3.1.3 常值變量 56 3.1.4 常量的應用 57 3.2 變量 62 3.2.1 聲明變量 62 3.2.2 變量的命名規則 63 3.2.3 變量的存儲時間和作用域 65 3.2.4 變量的應用 69 3.3 基本數據類型 70 3.3.1 整型 71 3.3.2 字符型 73 3.3.3 浮點型 75 3.3.4 布爾型 76 3.4 類型轉換 78 3.4.1 隱式轉換 78 3.4.2 顯式轉換 79 3.4.3 C++的4種數據類型轉換操作符 81 3.5 知識深化 84 3.6 小結 88 3.7 習題 88 第4章 樁步進階:運算符和表達式 90 4.1 運算符 91 4.1.1 算術運算符 91 4.1.2 賦值運算符 94 4.1.3 關系運算符 95 4.1.4 邏輯運算符 97 4.1.5 條件運算符 98 4.1.6 逗號運算符 100 4.1.7 位運算符 100 4.1.8 sizeof運算符 106 4.1.9 運算符的優先級 107 4.2 表達式 109 4.2.1 算術表達式 109 4.2.2 關系表達式 110 4.2.3 邏輯表達式 111 4.2.4 條件表達式 112 4.2.5 賦值表達式 113 4.2.6 逗號表達式 115 4.3 語句 115 4.3.1 語句中的空格 116 4.3.2 空語句 117 4.3.3 聲明語句 117 4.3.4 賦值語句 117 4.4 小結 118 4.5 習題 118 第5章 初養內力:程序控制結構 121 5.1 順序結構 122 5.1.1 表達式語句 122 5.1.2 輸入語句 123 5.1.3 輸出語句 124 5.1.4 格式控制符 125 5.1.5 應用示例 129 5.2 選擇結構 130 5.2.1 if語句 130 5.2.2 ifelse語句 131 5.2.3 多重if…else語句 133 5.2.4 switch語句 135 5.2.5 應用示例 138 5.3 循環結構 140 5.3.1 for語句 140 5.3.2 while語句 141 5.3.3 dowhile語句 143 5.3.4 多重循環 144 5.3.5 應用示例 145 5.4 轉向語句 147 5.5 小結 148 5.6 習題 149 第6章 小有功底:數組 151 6.1 數組概述 152 6.1.1 數組的基本概念 152 6.1.2 一維數組 153 6.1.3 二維數組 153 6.2 數組的聲明及初始化 154 6.2.1 聲明一維數組 154 6.2.2 初始化一維數組 154 6.2.3 聲明二維數組 156 6.2.4 初始化二維數組 156 6.3 引用數組元素 158 6.3.1 引用一維數組元素 158 6.3.2 引用二維數組元素 161 6.3.3 應用示例 162 6.4 字符串 163 6.4.1 字符數組 163 6.4.2 字符串 164 6.4.3 字符數組與字符串的區別 166 6.5 字符串處理函數 167 6.5.1 strcmp()函數—字符串比較 167 6.5.2 strcpy()函數—字符串復制 168 6.5.3 strcat()函數—字符串連接 169 6.5.4 strlen()函數—計算字符串長度 171 6.5.5 gets()和puts()函數—字符串輸入/輸出 172 6.6 數組綜合應用 173 6.7 小結 176 6.8 習題 177 第7章 一招一式:函數 180 7.1 函數概述 181 7.1.1 函數的基本概念 181 7.1.2 函數的分類 182 7.1.3 函數的組成 183 7.2 函數的聲明和定義 183 7.2.1 聲明函數 183 7.2.2 定義函數 185 7.2.3 頭文件和實現文件的分離 186 7.3 函數參數傳遞 189 7.3.1 形參和實參 189 7.3.2 值傳遞 190 7.3.3 地址傳遞 192 7.4 函數的調用 193 7.4.1 函數調用過程 193 7.4.2 無參函數的調用 194 7.4.3 帶參函數的調用 195 7.4.4 默認形參值的函數調用 197 7.4.5 嵌套調用 199 7.5 遞歸 201 7.5.1 直接遞歸 201 7.5.2 間接遞歸 203 7.6 main()函數 205 7.6.1 不帶參數的main()函數 205 7.6.2 帶參數的main()函數 206 7.7 內聯函數 208 7.8 函數綜合應用 209 7.9 小結 212 7.10 習題 212 第8章 內外相形:函數的高級應用 215 8.1 數組作為函數參數 216 8.1.1 傳遞一維數組參數 216 8.1.2 傳遞多維數組參數 217 8.2 查找的函數實現 219 8.2.1 順序查找的函數實現 219 8.2.2 折半查找的函數實現 221 8.3 排序的函數實現 223 8.3.1 冒泡排序的函數實現 223 8.3.2 快速排序的函數實現 225 8.4 函數模板 227 8.4.1 引入函數模板 227 8.4.2 定義函數模板 228 8.4.3 實例化函數模板 229 8.4.4 應用示例 231 8.5 函數重載 232 8.5.1 函數重載概述 232 8.5.2 參數類型不同的函數重載 233 8.5.3 參數個數不同的函數重載 235 8.5.4 應用示例 236 8.6 函數高級應用 238 8.7 小結 240 8.8 習題 240 第9章 排除雜念:編譯預處理 242 9.1 預處理命令 243 9.2 宏 243 9.2.1 宏概述 243 9.2.2 不帶參數的宏定義 244 9.2.3 取消宏 245 9.2.4 宏嵌套 247 9.2.5 帶參數的宏定義 248 9.2.6 內聯函數 253 9.2.7 宏與函數的區別 254 9.3 文件包含 256 9.3.1 #include命令 256 9.3.2 合理使用文件包含 257 9.4 條件編譯 258 9.4.1 #ifdef形式 259 9.4.2 #ifndef形式 260 9.4.3 #if形式 261 9.5 其他命令 262 9.5.1 #error命令 262 9.5.2 #line命令 263 9.6 小結 263 9.7 習題 264 第10章 游刃沙場:指針 267 10.1 指針概述 268 10.1.1 指針是什么 268 10.1.2 定義指針 269 10.1.3 指針的初始化 269 10.2 指針的運算 271 10.2.1 取地址與取值運算 271 10.2.2 指針的算術運算 273 10.2.3 指針的關系運算 275 10.2.4 指針的賦值運算 276 10.2.5 void指針和const指針 277 10.3 指針與數組 278 10.3.1 訪問數組元素的方法 279 10.3.2 多維數組元素的訪問 281 10.3.3 數組指針與指針數組 282 10.4 指針與函數 284 10.4.1 指針作為函數參數 284 10.4.2 指針型函數 286 10.4.3 函數指針 287 10.5 指針與字符串 289 10.6 二級指針 291 10.7 小結 292 10.8 習題 292 第11章 合眾家之長:構造數據類型 294 11.1 結構體 295 11.1.1 結構體概述 295 11.1.2 結構體類型聲明 296 11.1.3 定義結構體類型變量 297 11.1.4 初始化結構體變量 299 11.1.5 引用結構體成員變量 301 11.1.6 結構體作為函數參數 303 11.2 共用體 304 11.2.1 共用體類型聲明 304 11.2.2 定義共用體類型變量 305 11.2.3 引用共用體成員變量 306 11.3 枚舉 308 11.3.1 定義枚舉類型 308 11.3.2 定義枚舉類型變量 310 11.3.3 引用枚舉類型變量 311 11.4 類型重定義typedef 312 11.5 位域 315 11.5.1 定義位域變量 315 11.5.2 使用位域 316 11.6 小結 318 11.7 習題 318 第12章 法門初觸:類 320 12.1 類的定義 321 12.1.1 數據成員 321 12.1.2 成員函數 322 12.1.3 成員訪問 323 12.1.4 友元 324 12.1.5 類聲明和類定義 326 12.2 類與對象 326 12.3 類成員函數 328 12.3.1 內聯成員函數 328 12.3.2 const對象和const成員函數 330 12.4 隱含的this指針 332 12.5 靜態類成員 335 12.5.1 靜態數據成員 335 12.5.2 靜態成員函數 336 12.6 指向類成員的指針 337 12.6.1 指向數據成員的指針 337 12.6.2 指向成員函數的指針 338 12.7 局部類 340 12.8 嵌套類 340 12.9 小結 342 12.10 習題 342 第13章 小有成就:類的初始化、 賦值和析構 344 13.1 類的初始化 345 13.2 類的構造函數 346 13.2.1 缺省構造函數 347 13.2.2 限制對象創建 351 13.2.3 拷貝構造函數 352 13.2.4 深拷貝和淺拷貝 356 13.2.5 構造函數調用順序 358 13.3 類的析構 359 13.3.1 一般析構函數 359 13.3.2 虛析構函數 361 13.4 小結 364 13.5 習題 364 第14章 以一敵百:模板 368 14.1 模板的概念 369 14.2 函數模板與模板函數 370 14.2.1 函數模板 370 14.2.2 模板函數 372 14.3 類模板 375 14.3.1 類模板 375 14.3.2 模板類 377 14.3.3 類模板實例化 379 14.3.4 類模板的成員函數 382 14.3.5 類模板中的友元聲明 384 14.4 小結 386 14.5 習題 387 第15章 形神合一:進行面向對象程序設計 392 15.1 什么是面向對象程序設計 393 15.1.1 面向對象程序設計的優點 393 15.1.2 面向對象程序設計的基本概念 395 15.2 數據的抽象與封裝 399 15.2.1 類的抽象 400 15.2.2 類的封裝 400 15.3 派生與繼承 402 15.3.1 派生類的概念 402 15.3.2 派生類的構造和析構 405 15.3.3 基類成員在派生類中的訪問權限 409 15.3.4 多重繼承與繼承鏈 411 15.3.5 二義性問題 415 15.4 多態性 420 15.4.1 多態的概念 420 15.4.2 函數重載 421 15.4.3 運算符重載 422 15.4.4 虛函數 426 15.5 小結 433 15.6 習題 434 第16章 實戰提高一:人事管理系統 440 16.1 開發背景 441 16.2 系統分析 441 16.2.1 需求分析 441 16.2.2 項目人員分配 441 16.3 系統設計 442 16.3.1 系統目標 442 16.3.2 系統模塊結構 442 16.3.3 開發環境與運行環境 444 16.3.4 系統預覽 444 16.4 數據庫設計 447 16.4.1 數據庫分析 447 16.4.2 管理系統E-R圖 448 16.4.3 數據庫、表的設計 449 16.4.4 數據表的關系圖 452 16.5 職工模塊設計 453 16.5.1 職工模塊功能分析 453 16.5.2 職工模塊技術分析 453 16.5.3 職工添加的實現 454 16.5.4 職工刪除的實現 459 16.5.5 職工修改的實現 463 16.5.6 職工查詢的實現 464 16.6 考勤模塊設計 465 16.6.1 考勤功能分析 465 16.6.2 考勤技術分析 465 16.6.3 考勤管理的實現 466 16.6.4 考勤的統計、查詢與刪除 469 16.7 工資模塊設計 473 16.7.1 工資模塊功能分析 473 16.7.2 工資模塊技術分析 473 16.7.3 工資計算的實現 473 16.7.4 工資基本信息的設置 475 16.7.5 工資統計查詢 479 16.8 系統模塊設計 483 16.8.1 系統模塊功能分析 483 16.8.2 系統模塊技術分析 483 16.8.3 用戶添加的實現 484 16.8.4 用戶注銷的實現 486 16.8.5 數據庫備份的實現 487 16.8.6 數據庫還原的實現 488 16.9 系統部署和運行 490 16.9.1 系統安裝配置 490 16.9.2 數據庫建立及用戶參數定制 490 16.10 開發注意點總結 490 16.11 小結 491 第17章 實戰提高二:點歌管理系統 492 17.1 開發背景 493 17.2 系統分析 493 17.2.1 需求分析 493 17.2.2 可行性分析 493 17.2.3 項目人員分配 494 17.3 系統設計 495 17.3.1 系統目標 495 17.3.2 系統模塊結構 495 17.3.3 開發環境與運行環境 496 17.3.4 點歌管理系統預覽 496 17.4 數據庫設計 501 17.4.1 數據庫分析 501 17.4.2 管理系統E-R圖 501 17.4.3 數據庫、表的設計 502 17.4.4 數據表的關系圖 505 17.5 系統框架設計 506 17.5.1 系統框架功能分析 506 17.5.2 系統框架技術分析 506 17.5.3 系統框架界面的設計 506 17.5.4 系統框架界面的實現 507 17.6 歌曲單擊設計 511 17.6.1 歌曲單擊功能分析 511 17.6.2 歌曲單擊技術分析 512 17.6.3 各模塊界面的設計 512 17.6.4 開戶點歌的實現 513 17.6.5 按歌手查詢的實現 516 17.6.6 按拼音查詢的實現 520 17.6.7 按歌曲名字數查詢的實現 521 17.6.8 按歌曲類別查詢的實現 524 17.7 播放控制模塊設計 524 17.7.1 播放控制模塊功能分析 525 17.7.2 播放控制模塊技術分析 525 17.7.3 播放控制模塊界面設計 525 17.7.4 播放控制模塊的實現 525 17.8 后臺模塊設計 530 17.8.1 后臺模塊功能分析 530 17.8.2 后臺模塊技術分析 531 17.8.3 后臺模塊界面設計 531 17.8.4 歌曲屬性數據獲取的實現 532 17.8.5 管理員密碼修改的實現 537 17.9 結賬模塊設計 540 17.9.1 結賬模塊功能分析 540 17.9.2 結賬模塊技術分析 540 17.9.3 結賬模塊界面設計 540 17.9.4 歌曲計費的實現 541 17.9.5 打印回單的實現 542 17.10 系統部署和運行 542 17.10.1 系統安裝配置 542 17.10.2 數據庫建立及用戶參數定制 543 17.11 知識點匯總 543 17.12 小結 544 本書由淺入深,全面、系統地介紹了Visual C++開發技術。本書提供了大量實例,供讀者實戰演練。本書涉及面廣,從基本操作到高級技術和核心管理,再到項目開發,幾乎涉及C++開發的所有重要知識。另外,作者為幫助讀者更好地學習本書內容,將書中的示例源代碼收錄于本書的配書光盤中。
全書共分17章。主要內容有C++入門、安裝和配置Visual C++ 6.0、變量和基本數據類型、運算符和表達式、程序控制結構、數組、函數、函數的高級應用、編譯預處理、指針、構造數據類型、類、類的初始化和賦值及析構、模板、進行面向對象程序設計、人事管理系統、點歌管理系統。 20世紀80年代初期,美國貝爾實驗室在C語言的基礎上發明并實現了C++(最初這種語言被稱為“C with Classes”)。C++現在已成為面向對象程序設計的首選語言,也是當前十分流行和實用的一種程序設計語言。
在這期間,Visual Studio以其高效的特點在Windows平臺的開發環境中經久不衰。它是目前Windows平臺下最流行的C++開發工具之一,尤其適合開發有關操作系統、通信組件、圖形處理、音頻處理等技術含量較高的程序。 筆者結合自己多年的C++開發經驗和心得體會,利用Visual Studio 6.0平臺,花費了一年多的時間寫作本書。希望讀者能在本書的引領下跨入Visual C++的開發大門,并成為一名開發高手。本書全面、系統、深入地介紹了C++基礎知識和開發技術,并以大量示例貫穿于全書的講解之中,最后還詳細介紹了人事管理系統項目案例的開發。學習完本書后,讀者應該可以進行獨立的項目開發。 本書特色 1.講解由淺入深,循序漸進,適合各個層次的讀者閱讀 本書從 C++的基礎開始講解,逐步深入到C++的高級開發技術及應用,內容從易到難,講解由淺入深,循序漸進,適合各個層次的讀者閱讀。 2.貫穿大量的開發示例和技巧,迅速提升開發水平 本書在講解知識點時貫穿了大量短小精悍的典型示例,并給出了大量的開發技巧,以便讀者更好地理解各種概念和開發技術,體驗實際編程,迅速提高開發水平。這些示例源代碼收錄于配書光盤中。 3.詳解典型項目案例開發,提高實戰水平 本書詳細介紹了人事管理系統項目案例的開發。通過這個項目案例,可以提高讀者的軟件項目開發水平,從而具備獨立進行項目開發的能力。 本書內容及體系結構 第1章 概覽全局:C++入門 本章主要內容包括:C++的歷史沿革、C++的編譯環境Visual C++ 2010、C++源程序的基本組成和基本元素及程序設計方法。通過本章的學習,讀者可以了解C++的歷史及其特點,掌握C++編譯環境,熟悉C++源程序的基本組成和組成元素。 第2章 裝備拾取:安裝、配置Visual C++ 6.0 本章主要內容包括:Visual C++ 6.0及InstallShield的安裝配置方法,如何使用Visual C++ 6.0創建和管理Visual C++控制臺項目,其中還介紹了一些注意事項。通過本章的學習,讀者可以掌握Visual C++ 6.0的安裝過程及安裝后C++環境的配置方法。 第3章 樁步必練:變量和基本數據類型 本章主要內容包括:對C++中的常量、變量和數據類型做詳細介紹。通過本章的學習,讀者可以掌握C++中的常量、變量及其定義,掌握C++中數據類型及其轉換。 第4章 樁步進階:運算符和表達式 本章主要內容包括:C++的運算符類型、優先級、結合規則及表達式等基本內容,并且就變量和數據類型做詳細介紹。通過本章的學習,讀者可以掌握C++支持的各種運算符及其應用,掌握C++支持的由各種運算符、常量和變量構成的表達式、語句及其應用。 第5章 初養內力:程序控制結構 本章主要內容包括:4種流程控制結構(順序結構、選擇結構、循環結構、轉向結構),在C++中的流程控制語句及其實現。通過本章的學習,讀者可以了解C++面向過程的結構化設計方法,熟練掌握C++支持的3種程序結構(順序結構、選擇結構和循環結構),掌握轉向語句的功能及其使用。 第6章 小有功底:數組 本章主要內容包括:數組的概念、數組的聲明及其初始化、數組元素的引用、字符串及字符串處理函數、數組綜合應用,重點講解了較為常用的二維數組的聲明和引用數組元素等內容。通過本章的學習,讀者可以熟練掌握數組的聲明、初始化和引用等。 第7章 一招一式:函數 本章主要內容包括:函數的概念、分類和組成,函數的定義和聲明,函數參數傳遞,函數的調用和遞歸調用,main()函數,內聯函數的應用,函數的綜合應用。通過本章的學習,讀者可以掌握函數的基礎知識,通過在函數中將變量、常量、表達式和語句等程序的基本要素結合在一起,完成一定的功能。 第8章 內外相形:函數的高級應用 本章主要內容包括:數組作為函數參數、查找及排序的函數實現、函數模板的定義和應用、函數重載的應用。通過本章的學習,讀者可以對函數及其應用有比較完整的認識,嘗試設計更加復雜、功能更加完善的函數,看懂函數參數。 第9章 排除雜念:編譯預處理 本章主要內容包括:預處理命令的功能、文件包含的使用、常用的編譯預處理命令;結合C++中使用較多的地方,對宏及其相關應用做了詳細講解,依次介紹了宏的定義、調用、無參宏和帶參宏的定義調用,以及宏與函數的區別等。通過本章的學習,讀者可以對編譯器編譯C++源程序的過程有一定的理解,并了解如何優化程序的部分方法。 第10章 游刃沙場:指針 本章主要內容包括:指針的概念和作用;指針的運算,包括通過指針取值(*)、取地址(&)、指針的算術運算和關系運算等;指針的應用,主要包括指針在數組中的應用、在函數中的應用、在字符串中的應用和指向指針的應用;動態內存分配和引用。通過本章的學習,讀者可以了解指針的概念,熟練掌握指針的定義和運算,掌握指針與數組、函數和字符串的運算,掌握指向指針的指針的使用。 第11章 合眾家之長:構造數據類型 本章主要內容包括: C++中的結構體、共用體、枚舉和用戶自定義等幾種數據類型的說明、定義及使用。通過本章的學習,讀者可以掌握C++中幾種常見的構造數據類型(結構體、共用體和枚舉類型)的定義和使用,了解類型重定義符的使用及位域的應用。 第12章 法門初觸:類 本章主要內容包括:類的定義、類與對象、類成員函數、隱含的this指針、靜態類成員、指向類成員的指針、嵌套類、局部類。通過本章的學習,讀者可以實現類的聲明和類的定義,以及類里面包含的成員函數和成員數據的聲明和定義、友元函數和友元類、成員函數和成員數據的訪問權限控制;了解函數指針、嵌套類、局部類的概念。 第13章 小有成就:類的初始化、賦值和析構 本章主要內容包括:類對象的自動初始化、賦值和析構。通過本章的學習,讀者可以掌握類的構造函數、類的析構函數的默認及自定義,了解構造和析構的過程。 第14章 以一敵百:模板 本章主要內容包括:模板的概念;函數模板與模板函數;類模板,包括類模板的定義、實例化、調用等。通過本章的學習,讀者可以掌握模板的概念、實例化、調用。 第15章 形神合一:進行面向對象程序設計 本章主要內容包括:面向對象程序設計概念、數據的抽象與封裝、C++繼承與派生、C++多態性。通過本章的學習,讀者可以掌握面向對象程序設計、繼承、封裝、多態性的概念,為以后實現工程性的面向對象程序設計打下基礎。 第16章 實戰提高一:人事管理系統 本章主要內容包括:通過一個綜合示例,具體介紹C++如何實現應用系統的編寫,特別是需求分析、系統設計、系統實現、系統集成4個過程。通過本章的學習,讀者可以掌握C++如何實現應用系統的編寫。 第17章 實戰提高二:點歌管理系統 本章主要內容包括:管理系統的完整開發過程,其中主要應用了ADO數據庫連接、ADO對象操作數據庫的技術,介紹了列表框、單選按鈕及視頻插件控件的使用方法,實現了對音/視頻文件屬性的讀取操作,基于對話框應用程序中各數據報表的打印輸出。通過本章的學習,讀者可以掌握C++如何實現應用系統的分析與設計、各個模塊的設計重點、難點技術、設計思想。 本書讀者對象 ● C++初學者。 ● 想全面學習C++開發技術的人員。 ● C++專業開發人員。 ● 利用Visual C++做開發的工程技術人員。 ● C++開發愛好者。 ● 大中專院校的學生。 ● 社會培訓班學員。 ● 需要一本案頭必備手冊的程序員。 |