C++ 教學手冊, 4/e
洪維恩
買這商品的人也買了...
-
$400$380 -
$680$666 -
$720$706 -
$640$506 -
$400$312 -
$680$578 -
$450$351 -
$1,350$1,283 -
$580$568 -
$560$476 -
$480$379 -
$4,570$4,342 -
$500$395 -
$520$406 -
$380$300 -
$450$356 -
$650$514 -
$750$638 -
$880$695 -
$450$356 -
$520$468 -
$1,390$1,362 -
$1,320$1,294 -
$550$435 -
$600$474
相關主題
商品描述
內容介紹:
>|程式設計書 20 萬冊暢銷淬鍊|<
本書是程式設計系列書籍暢銷作家洪維恩老師最新修訂版本,主要以當前最廣為使用的 C++ 標準為依歸,精選 C++ 程式設計中最關鍵的主題而成,內容涵蓋基本輸出/輸入、資料型態、流程控制、函數、陣列、指標、類別、預設建構子與拷貝建構子、運算子多載、繼承、虛擬函數、樣板、例外處理、檔案處理以及專案建置等等,主要特色如下:
(-短小精簡的豐富範例-)
學程式設計就是要透過程式理解概念,本書內含 200 多個範例,而且長度幾乎都控制在單頁範圍內,易於理解關鍵概念也適合動手跟著練習,提供絕佳的學習節奏與回饋。
(-依照節區分的大量習題-)
學習程式設計的關鍵就是要反覆練習,本書提供 300 多題練習題,而且依章、節出題,不需要等學完一整章,看完一節就可以立即驗證學習成果,最具時效。
(-隨處可見的精心圖解-)
程式設計有些概念比較抽象複雜,本書在關鍵處都精心設計簡明易懂的圖解說明,像是多維陣列、指標的運作、類別的繼承關係,有了適當的圖解輔助,初學者也能快速理解。
(-採納現代 C++ 語法-)
本書積極採納現代 C++ 寫法,避免沿用源自 C 語言的寫法,例如讓 typedef 只用於真的需要定義新資料型態,而不是與 struct 搭配等等。有些 C++ 的標準,像是右值參照,也納入本書主題。
本書特色:
● 透過大量範例邊做邊學
● 範例大小適中,易學易教易吸收
● 各章分節提供習題,學到哪、練到哪
● 以實作為核心、循序漸進引導學習
● 精心設計圖解,搭配淺白易懂文字
● 從基礎語法開始逐步掌握 C++ 精髓
目錄大綱
目錄:
第1章 認識C++
1.1 緣起 C/C++
1.2 C++的特色
1.3 程式的規劃與實作
1.4 撰寫第一個C++程式
1.4.1 程式碼的編輯、編譯、執行與儲存
1.4.2 編譯與執行過程的解說
1.5 本書的編排與慣例
習題
第2章 簡單的C++
2.1 簡單的例子
2.1.1 程式解說
2.1.2 關於ISO C++的標準
2.2 C++程式解析
2.2.1 #include指令及標頭檔
2.2.2 main() 函數
2.2.3 大括號、區塊及主體
2.2.4 變數
2.2.5 變數的設值
2.2.6 為什麼要宣告變數
2.2.7 cout與插入運算子<<
2.3 識別字及關鍵字
2.3.1 識別字
2.3.2 關鍵字
2.4 偵錯
2.4.1 語法錯誤
2.4.2 語意錯誤
2.5 提高程式的可讀性
習題
第3章 基本資料型態與資料處理
3.1 變數與常數
3.2 基本資料型態
3.2.1 整數型態
3.2.2 字元型態
3.2.3 浮點數型態與倍精度浮點數型態
3.2.4 布林型態
3.3 輸入資料
習題
第4章 運算子、運算式與敘述
4.1 運算式與運算子
4.1.1 設定運算子
4.1.2 一元運算子
4.1.3 算數運算子
4.1.4 關係運算子與if敘述
4.1.5 遞增與遞減運算子
4.1.6 算數與設定運算子的結合
4.1.7 邏輯運算子
4.1.8 括號
4.2 運算子的優先順序
4.3 運算式與資料型態的轉換
4.3.1 隱性資料型態轉換
4.3.2 顯性資料型態轉換
4.3.3 運算式的型態轉換
習題
第5章 選擇性敘述與迴圈
5.1 程式的結構設計
5.1.1 循序性結構
5.1.2 選擇性結構
5.1.3 重複性結構
5.2 選擇性敘述
5.2.1 if敘述
5.2.2 if-else敘述
5.2.3 if-else-if敘述
5.2.4 更多的選擇─巢狀if敘述
5.2.5 條件運算子
5.3 迴圈
5.3.1 for迴圈
5.3.2 while迴圈
5.3.3 do while迴圈
5.3.4 巢狀迴圈
5.4 迴圈的跳離
5.4.1 break敘述
5.4.2 continue敘述
5.5 可多重選擇的switch敘述
習題
第6章 函數
6.1 函數的基本架構
6.1.1 函數原型的宣告、撰寫與呼叫
6.1.2 不使用函數原型的方式
6.1.3 函數的引數與參數
6.1.4 函數的傳回值
6.2 特殊的inline函數
6.3 變數的分類
6.3.1 區域變數
6.3.2 靜態區域變數
6.3.3 外部變數
6.3.4 靜態外部變數
6.4 同時使用多個函數
6.4.1 呼叫多個函數
6.4.2 函數之間的相互呼叫
6.4.3 遞迴函數
習題
第7章 再談函數
7.1 參照與函數
7.1.1 參照
7.1.2 參照的傳遞
7.1.3 傳回值為參照的函數
7.1.4 參照的左值與右值
7.2 函數的多載
7.3 引數的預設值
7.4 前置處理器指令--#define
7.4.1 前置處理器指令#define
7.4.2 為什麼要用#define
7.4.3 const修飾子
7.4.4 利用#define定義替代簡單函數的巨集
7.4.5 使用有引數的巨集
7.4.6 巨集括號的使用
7.4.7 使用inline函數還是巨集?
7.5 前置處理器指令--#include
7.5.1 標準的標頭檔
7.5.2 使用自訂的標頭檔
習題
第8章 陣列與字串
8.1 一維陣列
8.1.1 一維陣列的宣告
8.1.2 陣列元素的表示方法
8.1.3 陣列初值的設定
8.1.4 簡單的範例:找出陣列元素的最大值與最小值
8.1.5 陣列界限的檢查
8.2 二維以上的多維陣列
8.2.1 二維陣列的宣告與配置記憶體
8.2.2 二維陣列元素的引用及存取
8.2.3 多維陣列
8.3 傳遞陣列給函數
8.3.1 以一維陣列為引數來傳遞
8.3.2 傳遞多維陣列
8.3.3 傳遞「值」還是「位址」到函數?
8.4 字元陣列--C型態字串
8.4.1 字串
8.4.2 字元陣列的宣告
8.4.3 字串的輸出與輸入
8.5 字串類別--C++型態字串
8.5.1 字串的宣告
8.5.2 字串的輸出與輸入
8.6 字串的處理
8.6.1 字串的運算
8.6.2 字串類別裡的成員函數
8.7 字串陣列
8.7.1 C型態字串陣列
8.7.2 C++型態的字串陣列
習題
第9章 指標
9.1 指標概述
9.1.1 什麼是指標
9.1.2 記憶體的位址
9.2 指標變數
9.2.1 指標變數的宣告
9.2.2 指標變數的使用
9.2.3 宣告指標變數所指向之型態的重要性
9.3 指標與函數
9.3.1 傳遞指標到函數中
9.3.2 傳回值為指標的函數
9.3.3 函數指標
9.3.4 傳遞函數到其它函數中
9.4 指標與陣列
9.4.1 指標的算術運算
9.4.2 利用指標存取一維陣列的元素
9.4.3 利用指標傳遞一維陣列到函數裡
9.5 指標與字串
9.5.1 以指標變數指向字串
9.5.2 指標陣列
9.6 命令列引數的使用
習題
第10章 再談指標
10.1 指向指標的指標─雙重指標
10.2 動態記憶體配置
10.2.1 使用基本資料型態做動態配置
10.2.2 使用陣列做動態配置
10.3 指標、參照與函數
10.3.1 指標與參照
10.3.2 引數的傳遞方式
習題
第11章 結構與其它資料型態
11.1 結構
11.1.1 結構的宣告
11.1.2 結構變數的使用及初值熙]定
11.2 以結構為引數傳遞到函數
11.2.1 將整個結構傳遞到函數
11.2.2 將結構成員分別傳遞
11.2.3 傳遞結構的位址
11.3 共同空間
11.3.1 共同空間的定義及宣告
11.3.2 共同空間的使用及初值的設定
11.3.3 共同空間與結構的差異
11.4 列舉型態
11.4.1 列舉型態的定義及宣告
11.4.2 列舉型態的使用與初值的設定
11.5 使用自訂的型態─typedef
習題
第12章 類別的基本架構
12.1 認識類別
12.1.1 用結構建立視窗物件
12.1.2 用類別建立視窗物件
12.1.3 函數的位置
12.2 公有成員與私有成員
12.2.1 建立私有成員
12.2.2 建立公有成員函數
12.2.3 私有的成員函數
12.2.4 資料封裝的安全性
12.3 友誼函數
12.4 Dev C++裡的類別瀏覽視窗
習題
第13章 類別的進階認識
13.1 建構子
13.1.1 建構子的基本認識
13.1.2 建構子的使用範例
13.1.3 建構子的位置
13.1.4 建構子的多載
13.1.5 預設建構子
13.1.6 建構子的公有與私有
13.2 建構子引數的預設值
13.2.1 預設值的設定
13.2.2 於建構子裡初始化成員的技巧
13.2.3 設定引數預設值的注意事項
13.3 物件的進階處理
13.3.1 傳遞物件到函數裡
13.3.2 由函數傳回物件
13.3.3 建立物件陣列
13.3.4 傳遞物件陣列到函數裡
13.4 類別裡的靜態成員
13.4.1 資料成員與成員函數的複習
13.4.2 靜態資料成員
13.4.3 靜態成員函數
13.4.4 「靜態成員函數」使用的限制
習題
第14章 解構子與拷貝建構子
14.1 解構子
14.1.1 解構子的使用
14.1.2 解構子的位置
14.2 動態記憶體配置與解構子
14.3 拷貝建構子
14.3.1 預設的拷貝建構子
14.3.2 撰寫自己的拷貝建構子
14.3.3 拷貝建構子與動態記憶體配置
14.3.4 使用拷貝建構子的常見錯誤
習題
第15章 運算子的多載
15.1 認識運算子的多載
15.2 大於運算子「>」的多載
15.2.1 運算子多載的範例─「>」運算子的多載
15.2.2 再把operator>()函數多載
15.3 設定運算子「=」的多載
15.3.1 簡單的範例
15.3.2 設定運算子多載的進階應用
習題
第16章 類別的繼承
16.1 繼承的基本概念
16.1.1 基底類別與衍生類別
16.1.2 簡單的繼承範例
16.1.3 呼叫父類別中特定的建構子
16.1.4 使用建構子常見的錯誤
16.2 由子類別存取父類別的成員
16.2.1 父類別裡私有成員的存取
16.2.2 使用protected成員
16.2.3 類別繼承的存取模式
16.3 改寫
16.4 在子類別中使用拷貝建構子
習題
第17章 虛擬函數、抽象類別與樣板
17.1 虛擬函數
17.2 指向基底類別的指標
17.3 抽象類別與純虛擬函數
17.3.1 定義純虛擬函數
17.3.2 抽象類別的實作
17.3.3 使用抽象類別的注意事項
17.4 抽象類別於多層繼承的應用
17.5 虛擬解構子
17.6 樣板
17.6.1 函數樣板
17.6.2 類別樣板
17.6.3 樣板的特殊化
習題
第18章 例外處理、檔案處理與專案
18.1 例外處理
18.1.1 例外的基本觀念
18.1.2 簡單的例外範例
18.1.3 多重catch區塊
18.1.4 捕捉任何型態的例外
18.2 檔案的基本概念
18.3 檔案的開啟與關閉
18.4 文字檔的處理
18.4.1 將資料寫入文字檔
18.4.2 將資料附加到已存在的文字檔
18.4.3 從檔案讀入資料
18.4.4 使用get()、getline()與put()函數
18.5 二進位檔的處理
18.6 名稱空間
18.6.1 簡單的範例
18.6.2 引入名稱空間
18.6.3 名稱空間std
18.7 大型程式的發展與條件式編譯
18.7.1 程式的模組化
18.7.2 各別編譯的實作
18.7.3 關閉與再開啟專案
18.7.4 條件式編譯
18.7.5 條件式編譯與大型程式的發展
習題
附錄A Dev C++的使用
A.1 安裝Dev C++
A.2 編輯程式
A.3 編譯與執行
A.4 更改選項設定
A.5 處理語法上的錯誤
A.6 利用Debug功能偵錯
附錄 B 常用的程式庫
B.1 常用的數學函數
B.2 時間函數
B.3 字串函數
B.4 字元處理函數
B.5 型態轉換函數
B.6 程式流程控制函數
附錄 C 格式化輸出資料
C.1 輸出資料
C.2 格式化的資料輸出
附錄 D ASCII碼表
附錄 E ANSI C++標頭檔的修正
中英文索引