C程式設計藝術(第九版)(國際版)
內容簡介
《C程式設計藝術》為C語言程式設計提供了一套完整、使用者友善且程式碼密集的入門教材。
.初學者能從其豐富的基礎知識涵蓋範圍獲得助益。
.本書中對問題解決和演算法開發的強調、對效能議題的關注,能幫助中階程式設計師為專業的軟體開發挑戰和實務做好準備。
.進階主題的納入,則使其成為進階課程或進一步自學的理想選擇。
本書的模組化呈現方式讓教師可以輕鬆地將內容調整以適用於各種課程,從大學入門程式設計課程到專業的業界培訓課程皆可。
第九版收錄了147個可完整運作的程式,延續Deitel父子標誌性的即時程式碼(live-code)教學法。透過這些完整的程式,學生有機會將所學應用於有意義的真實世界情境中。內容遵循C11/C18標準,以跟上C語言擴展的功能。本書還整合了像Docker這樣的流行開源軟體,以及像GitHub和StackOverflow這類的資源,鼓勵學生像開發者一樣思考。
.初學者能從其豐富的基礎知識涵蓋範圍獲得助益。
.本書中對問題解決和演算法開發的強調、對效能議題的關注,能幫助中階程式設計師為專業的軟體開發挑戰和實務做好準備。
.進階主題的納入,則使其成為進階課程或進一步自學的理想選擇。
本書的模組化呈現方式讓教師可以輕鬆地將內容調整以適用於各種課程,從大學入門程式設計課程到專業的業界培訓課程皆可。
第九版收錄了147個可完整運作的程式,延續Deitel父子標誌性的即時程式碼(live-code)教學法。透過這些完整的程式,學生有機會將所學應用於有意義的真實世界情境中。內容遵循C11/C18標準,以跟上C語言擴展的功能。本書還整合了像Docker這樣的流行開源軟體,以及像GitHub和StackOverflow這類的資源,鼓勵學生像開發者一樣思考。
目錄
Chapter 1 計算機與C語言簡介
1.1 簡介
1.2 硬體與軟體
1.3 資料階層
1.4 機器語言、組合語言和高階語言
1.5 作業系統
1.6 C程式語言
1.7 C標準函式庫與開放原始碼函式庫
1.8 其他熱門程式設計語言
1.9 C程式的典型開發環境
1.10 在Windows、Linux和macOS上試運行C應用程式
1.11 網際網路、全球資訊網、雲端與物聯網
1.12 軟體技術
1.13 大數據到底有多大
1.14 案例研究:一個大數據行動應用程式
1.15 人工智慧(AI):計算機科學與資料科學的交會點
Chapter 2 C程式設計入門
2.1 簡介
2.2 簡單的C程式:印出一行文字
2.3 另一個簡單的C程式:兩個整數相加
2.4 記憶體概念
2.5 C語言中的算術運算
2.6 決策判斷:相等和關係運算子
2.7 安全的C程式設計
Chapter 3 結構化程式開發
3.1 簡介
3.2 演算法
3.3 虛擬碼
3.4 控制結構
3.5 if選擇敘述
3.6 if…else選擇敘述
3.7 while迭代敘述
3.8 制定演算法案例研究 1:計數器控制迭代
3.9 使用由上而下、逐步精煉方法制定演算法 案例研究 2:哨兵控制迭代
3.10 使用由上而下、逐步精煉方法制定演算法 案例研究 3:巢狀控制敘述
3.11 指定運算子
3.12 遞增和遞減運算子
3.13 安全的C程式設計
Chapter 4 程式控制
4.1 簡介
4.2 迭代的基本概念
4.3 計數器控制迭代
4.4 for迭代敘述
4.5 使用for敘述的範例
4.6 switch多重選擇敘述
4.7 do…while迭代敘述
4.8 break與continue敘述
4.9 邏輯運算子
4.10 混淆相等 (==) 與指派 (=) 運算子
4.11 結構化程式設計總結
4.12 安全的C語言程式設計
Chapter 5 函式
5.1 簡介
5.2 在C語言中模組化程式
5.3 數學函式庫函式
5.4 函式
5.5 函式定義
5.6 函式原型:深入探討
5.7 函式呼叫堆疊和堆疊框架
5.8 標頭檔
5.9 透過值傳遞和參考傳遞參數
5.10 隨機數產生
5.11 遊戲模擬案例研究:剪刀、石頭、布
5.12 儲存類別
5.13 識別字的作用域規則
5.14 遞迴
5.15 遞迴範例:費波那契數列
5.16 遞迴與迭代的比較
Chapter 6 陣列
6.1 簡介
6.2 陣列
6.3 定義陣列
6.4 陣列範例
6.5 使用字元陣列來儲存和操作字串
6.6 靜態區域陣列與自動區域陣列
6.7 傳遞陣列至函式
6.8 陣列排序
6.9 資料科學入門案例研究:問卷調查資料分析
6.10 在陣列中搜尋
6.11 多維陣列
6.12 可變長度陣列
6.13 安全的C語言程式設計
Chapter 7 指標
7.1 簡介
7.2 指標變數的定義與初始化
7.3 指標運算子
7.4 以參考方式傳遞函式引數
7.5 在指標中使用const限定詞
7.6 使用傳參考方式實作泡沫排序法
7.7 sizeof運算子
7.8 指標運算式與指標運算
7.9 指標與陣列的關係
7.10 指標陣列
7.11 隨機數模擬實例研究:洗牌與發牌
7.12 函式指標
7.13 安全的C程式設計
Chapter 8 字元與字串
8.1 簡介
8.2 字串與字元的基本概念
8.3 字元處理函式庫
8.4 字串轉換函式
8.5 標準輸入/輸出函式庫函式
8.6 字串處理函式庫的字串操作函式
8.7 字串處理函式庫的比較函式
8.8 字串處理函式庫的搜尋函式
8.9 字串處理函式庫的記憶體處理函式
8.10 字串處理函式庫的其他函式
8.11 安全的C程式設計
Chapter 9 格式化輸入與輸出
9.1 簡介
9.2 串流
9.3 使用printf格式化輸出
9.4 輸出整數
9.5 輸出浮點數
9.6 輸出字串與字元
9.7 其他轉換指定符
9.8 使用欄位寬度與精確度輸出
9.9 printf的格式旗標
9.10 輸出常值與逸出序列
9.11 使用scanf進行格式化輸入
9.12 安全的C語言程式設計
Chapter 10 結構、聯集、位元操作與列舉
10.1 簡介
10.2 結構定義
10.3 初始化結構
10.4 使用 . 與 -> 存取結構成員
10.5 結構與函式的搭配使用
10.6 typedef
10.7 亂數模擬案例研究:高效能洗牌與發牌
10.8 聯集
10.9 位元運算子
10.10 位元欄位
10.11 列舉常數
10.12 匿名結構與聯集
10.13 安全的C語言程式設計
Chapter 11 檔案處理
11.1 簡介
11.2 檔案與串流
11.3 建立循序存取檔案
11.4 從循序存取檔案中讀取資料
11.5 隨機存取檔案
11.6 建立隨機存取檔案
11.7 以隨機方式寫入隨機存取檔案
11.8 從隨機存取檔案中讀取資料
11.9 實例研究:交易處理系統
11.10 安全的C語言程式設計
Chapter 12 資料結構
12.1 簡介
12.2 自我參照結構
12.3 動態記憶體管理
12.4 連結串列
12.5 Stacks
12.6 佇列
12.7 樹狀結構
12.8 安全的C語言程式設計
Chapter 13 電腦科學思維:排序演算法與大O符號
13.1 簡介
13.2 演算法效率:大 O 符號
13.3 選擇排序法
13.4 插入排序法
13.5 案例研究:視覺化高效能合併排序法
Chapter 14 預處理器
14.1 簡介
14.2 #include預處理器指令
14.3 #define預處理器指令:符號常數
14.4 #define預處理器指令:巨集
14.5 條件編譯
14.6 #error與#pragma預處理器指令
14.7 # 與## 運算子
14.8 行號
14.9 預定義符號常數
14.10 斷言
14.11 安全的C程式設計
Chapter 15 其他主題
15.1 簡介
15.2 不定長度參數串列
15.3 使用命令列參數
15.4 編譯多來源檔案程式
15.5 使用exit和atexit終止程式
15.6 整數和浮點文字的後綴
15.7 訊號處理
15.8 動態記憶體分配函式calloc和realloc
15.9 goto:無條件分支
Chapter 16 C++︰較好的C;簡介物件技術
16.1 簡介
16.2 C++
16.3 一個簡單的程式:兩個整數的相加
16.4 C++標準函式庫
16.5 標頭檔
16.6 行內函式
16.7 C++關鍵字
16.8 參考以及參考參數
16.9 空的參數串列
16.10 預設引數
16.11 一元範圍解析運算子
16.12 函式的多載
16.13 函式樣板
16.14 簡介物件技術與UML
16.15 簡介C++標準函式庫的vector類別樣板
16.16 總結
1.1 簡介
1.2 硬體與軟體
1.3 資料階層
1.4 機器語言、組合語言和高階語言
1.5 作業系統
1.6 C程式語言
1.7 C標準函式庫與開放原始碼函式庫
1.8 其他熱門程式設計語言
1.9 C程式的典型開發環境
1.10 在Windows、Linux和macOS上試運行C應用程式
1.11 網際網路、全球資訊網、雲端與物聯網
1.12 軟體技術
1.13 大數據到底有多大
1.14 案例研究:一個大數據行動應用程式
1.15 人工智慧(AI):計算機科學與資料科學的交會點
Chapter 2 C程式設計入門
2.1 簡介
2.2 簡單的C程式:印出一行文字
2.3 另一個簡單的C程式:兩個整數相加
2.4 記憶體概念
2.5 C語言中的算術運算
2.6 決策判斷:相等和關係運算子
2.7 安全的C程式設計
Chapter 3 結構化程式開發
3.1 簡介
3.2 演算法
3.3 虛擬碼
3.4 控制結構
3.5 if選擇敘述
3.6 if…else選擇敘述
3.7 while迭代敘述
3.8 制定演算法案例研究 1:計數器控制迭代
3.9 使用由上而下、逐步精煉方法制定演算法 案例研究 2:哨兵控制迭代
3.10 使用由上而下、逐步精煉方法制定演算法 案例研究 3:巢狀控制敘述
3.11 指定運算子
3.12 遞增和遞減運算子
3.13 安全的C程式設計
Chapter 4 程式控制
4.1 簡介
4.2 迭代的基本概念
4.3 計數器控制迭代
4.4 for迭代敘述
4.5 使用for敘述的範例
4.6 switch多重選擇敘述
4.7 do…while迭代敘述
4.8 break與continue敘述
4.9 邏輯運算子
4.10 混淆相等 (==) 與指派 (=) 運算子
4.11 結構化程式設計總結
4.12 安全的C語言程式設計
Chapter 5 函式
5.1 簡介
5.2 在C語言中模組化程式
5.3 數學函式庫函式
5.4 函式
5.5 函式定義
5.6 函式原型:深入探討
5.7 函式呼叫堆疊和堆疊框架
5.8 標頭檔
5.9 透過值傳遞和參考傳遞參數
5.10 隨機數產生
5.11 遊戲模擬案例研究:剪刀、石頭、布
5.12 儲存類別
5.13 識別字的作用域規則
5.14 遞迴
5.15 遞迴範例:費波那契數列
5.16 遞迴與迭代的比較
Chapter 6 陣列
6.1 簡介
6.2 陣列
6.3 定義陣列
6.4 陣列範例
6.5 使用字元陣列來儲存和操作字串
6.6 靜態區域陣列與自動區域陣列
6.7 傳遞陣列至函式
6.8 陣列排序
6.9 資料科學入門案例研究:問卷調查資料分析
6.10 在陣列中搜尋
6.11 多維陣列
6.12 可變長度陣列
6.13 安全的C語言程式設計
Chapter 7 指標
7.1 簡介
7.2 指標變數的定義與初始化
7.3 指標運算子
7.4 以參考方式傳遞函式引數
7.5 在指標中使用const限定詞
7.6 使用傳參考方式實作泡沫排序法
7.7 sizeof運算子
7.8 指標運算式與指標運算
7.9 指標與陣列的關係
7.10 指標陣列
7.11 隨機數模擬實例研究:洗牌與發牌
7.12 函式指標
7.13 安全的C程式設計
Chapter 8 字元與字串
8.1 簡介
8.2 字串與字元的基本概念
8.3 字元處理函式庫
8.4 字串轉換函式
8.5 標準輸入/輸出函式庫函式
8.6 字串處理函式庫的字串操作函式
8.7 字串處理函式庫的比較函式
8.8 字串處理函式庫的搜尋函式
8.9 字串處理函式庫的記憶體處理函式
8.10 字串處理函式庫的其他函式
8.11 安全的C程式設計
Chapter 9 格式化輸入與輸出
9.1 簡介
9.2 串流
9.3 使用printf格式化輸出
9.4 輸出整數
9.5 輸出浮點數
9.6 輸出字串與字元
9.7 其他轉換指定符
9.8 使用欄位寬度與精確度輸出
9.9 printf的格式旗標
9.10 輸出常值與逸出序列
9.11 使用scanf進行格式化輸入
9.12 安全的C語言程式設計
Chapter 10 結構、聯集、位元操作與列舉
10.1 簡介
10.2 結構定義
10.3 初始化結構
10.4 使用 . 與 -> 存取結構成員
10.5 結構與函式的搭配使用
10.6 typedef
10.7 亂數模擬案例研究:高效能洗牌與發牌
10.8 聯集
10.9 位元運算子
10.10 位元欄位
10.11 列舉常數
10.12 匿名結構與聯集
10.13 安全的C語言程式設計
Chapter 11 檔案處理
11.1 簡介
11.2 檔案與串流
11.3 建立循序存取檔案
11.4 從循序存取檔案中讀取資料
11.5 隨機存取檔案
11.6 建立隨機存取檔案
11.7 以隨機方式寫入隨機存取檔案
11.8 從隨機存取檔案中讀取資料
11.9 實例研究:交易處理系統
11.10 安全的C語言程式設計
Chapter 12 資料結構
12.1 簡介
12.2 自我參照結構
12.3 動態記憶體管理
12.4 連結串列
12.5 Stacks
12.6 佇列
12.7 樹狀結構
12.8 安全的C語言程式設計
Chapter 13 電腦科學思維:排序演算法與大O符號
13.1 簡介
13.2 演算法效率:大 O 符號
13.3 選擇排序法
13.4 插入排序法
13.5 案例研究:視覺化高效能合併排序法
Chapter 14 預處理器
14.1 簡介
14.2 #include預處理器指令
14.3 #define預處理器指令:符號常數
14.4 #define預處理器指令:巨集
14.5 條件編譯
14.6 #error與#pragma預處理器指令
14.7 # 與## 運算子
14.8 行號
14.9 預定義符號常數
14.10 斷言
14.11 安全的C程式設計
Chapter 15 其他主題
15.1 簡介
15.2 不定長度參數串列
15.3 使用命令列參數
15.4 編譯多來源檔案程式
15.5 使用exit和atexit終止程式
15.6 整數和浮點文字的後綴
15.7 訊號處理
15.8 動態記憶體分配函式calloc和realloc
15.9 goto:無條件分支
Chapter 16 C++︰較好的C;簡介物件技術
16.1 簡介
16.2 C++
16.3 一個簡單的程式:兩個整數的相加
16.4 C++標準函式庫
16.5 標頭檔
16.6 行內函式
16.7 C++關鍵字
16.8 參考以及參考參數
16.9 空的參數串列
16.10 預設引數
16.11 一元範圍解析運算子
16.12 函式的多載
16.13 函式樣板
16.14 簡介物件技術與UML
16.15 簡介C++標準函式庫的vector類別樣板
16.16 總結
配送方式
-
台灣
- 國內宅配:本島、離島
-
到店取貨:
不限金額免運費
-
海外
- 國際快遞:全球
-
港澳店取:
訂購/退換貨須知
退換貨須知:
**提醒您,鑑賞期不等於試用期,退回商品須為全新狀態**
-
依據「消費者保護法」第19條及行政院消費者保護處公告之「通訊交易解除權合理例外情事適用準則」,以下商品購買後,除商品本身有瑕疵外,將不提供7天的猶豫期:
- 易於腐敗、保存期限較短或解約時即將逾期。(如:生鮮食品)
- 依消費者要求所為之客製化給付。(客製化商品)
- 報紙、期刊或雜誌。(含MOOK、外文雜誌)
- 經消費者拆封之影音商品或電腦軟體。
- 非以有形媒介提供之數位內容或一經提供即為完成之線上服務,經消費者事先同意始提供。(如:電子書、電子雜誌、下載版軟體、虛擬商品…等)
- 已拆封之個人衛生用品。(如:內衣褲、刮鬍刀、除毛刀…等)
- 若非上列種類商品,均享有到貨7天的猶豫期(含例假日)。
- 辦理退換貨時,商品(組合商品恕無法接受單獨退貨)必須是您收到商品時的原始狀態(包含商品本體、配件、贈品、保證書、所有附隨資料文件及原廠內外包裝…等),請勿直接使用原廠包裝寄送,或於原廠包裝上黏貼紙張或書寫文字。
- 退回商品若無法回復原狀,將請您負擔回復原狀所需費用,嚴重時將影響您的退貨權益。




商品評價