易學 C++ (第二版) 易学C++(第二版)

  • 出版商: 人民郵電
  • 出版日期: 2017-05-01
  • 定價: $354
  • 售價: 8.5$301
  • 語言: 簡體中文
  • 頁數: 330
  • 裝訂: 平裝
  • ISBN: 7115447799
  • ISBN-13: 9787115447791
  • 相關分類: C++ 程式語言
  • 下單後立即進貨 (約4週~6週)

買這商品的人也買了...

商品描述

本書是為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++語言和VisualC++ 4 
1.6學習程序設計總體建議5 
1.7 C++學習的常見問題6 
1.8縮略語和術語表8 
1.9方法指導8 
1.10習題8 

第2章Hello,World!10 

2.1 VisualStudio2012的安裝和啟動10 
2.2如何創建一個程序11 
2.3輸出與輸入17 
2.4 VisualC++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浮點型(FloatingPoint) 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.1STL裡有什麼312 
21.2超級指針——迭代器313 
21.3有了算法,何必還需自己寫314 
21.4從箱子到容器316 
21.4.1鍊錶,再見!316
21.4.2交集和並集318 
21.5函數也能是對象320 
21.6空間分配好管家322 
21.7縮略語和術語表323 
21.8方法指導323 
21.9習題324 

附錄A常用保留字列表326 
附錄B常見編譯錯誤和解決方法328 
附錄C參考文獻331 
附錄D推薦書目332