Chapter1計算機與C語言簡介
1.1簡介
1.2硬體與軟體
1.3資料階層
1.4機器語言、組合語言和高階語言
1.5作業系統
1.6C程式語言
1.7C標準函式庫與開放原始碼函式庫
1.8其他熱門程式設計語言
1.9C程式的典型開發環境
1.10在Windows、Linux和macOS上試運行C應用程式
1.11網際網路、全球資訊網、雲端與物聯網
1.12軟體技術
1.13大數據到底有多大
1.14案例研究:一個大數據行動應用程式
1.15人工智慧(AI):計算機科學與資料科學的交會點
Chapter2C程式設計入門
2.1簡介
2.2簡單的C程式:印出一行文字
2.3另一個簡單的C程式:兩個整數相加
2.4記憶體概念
2.5C語言中的算術運算
2.6決策判斷:相等和關係運算子
2.7安全的C程式設計
Chapter3結構化程式開發
3.1簡介
3.2演算法
3.3虛擬碼
3.4控制結構
3.5if選擇敘述
3.6if…else選擇敘述
3.7while迭代敘述
3.8制定演算法案例研究1:計數器控制迭代
3.9使用由上而下、逐步精煉方法制定演算法案例研究2:哨兵控制迭代
3.10使用由上而下、逐步精煉方法制定演算法案例研究3:巢狀控制敘述
3.11指定運算子
3.12遞增和遞減運算子
3.13安全的C程式設計
Chapter4程式控制
4.1簡介
4.2迭代的基本概念
4.3計數器控制迭代
4.4for迭代敘述
4.5使用for敘述的範例
4.6switch多重選擇敘述
4.7do…while迭代敘述
4.8break與continue敘述
4.9邏輯運算子
4.10混淆相等(==)與指派(=)運算子
4.11結構化程式設計總結
4.12安全的C語言程式設計
Chapter5函式
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遞迴與迭代的比較
Chapter6陣列
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語言程式設計
Chapter7指標
7.1簡介
7.2指標變數的定義與初始化
7.3指標運算子
7.4以參考方式傳遞函式引數
7.5在指標中使用const限定詞
7.6使用傳參考方式實作泡沫排序法
7.7sizeof運算子
7.8指標運算式與指標運算
7.9指標與陣列的關係
7.10指標陣列
7.11隨機數模擬實例研究:洗牌與發牌
7.12函式指標
7.13安全的C程式設計
Chapter8字元與字串
8.1簡介
8.2字串與字元的基本概念
8.3字元處理函式庫
8.4字串轉換函式
8.5標準輸入/輸出函式庫函式
8.6字串處理函式庫的字串操作函式
8.7字串處理函式庫的比較函式
8.8字串處理函式庫的搜尋函式
8.9字串處理函式庫的記憶體處理函式
8.10字串處理函式庫的其他函式
8.11安全的C程式設計
Chapter9格式化輸入與輸出
9.1簡介
9.2串流
9.3使用printf格式化輸出
9.4輸出整數
9.5輸出浮點數
9.6輸出字串與字元
9.7其他轉換指定符
9.8使用欄位寬度與精確度輸出
9.9printf的格式旗標
9.10輸出常值與逸出序列
9.11使用scanf進行格式化輸入
9.12安全的C語言程式設計
Chapter10結構、聯集、位元操作與列舉
10.1簡介
10.2結構定義
10.3初始化結構
10.4使用.與->存取結構成員
10.5結構與函式的搭配使用
10.6typedef
10.7亂數模擬案例研究:高效能洗牌與發牌
10.8聯集
10.9位元運算子
10.10位元欄位
10.11列舉常數
10.12匿名結構與聯集
10.13安全的C語言程式設計
Chapter11檔案處理
11.1簡介
11.2檔案與串流
11.3建立循序存取檔案
11.4從循序存取檔案中讀取資料
11.5隨機存取檔案
11.6建立隨機存取檔案
11.7以隨機方式寫入隨機存取檔案
11.8從隨機存取檔案中讀取資料
11.9實例研究:交易處理系統
11.10安全的C語言程式設計
Chapter12資料結構
12.1簡介
12.2自我參照結構
12.3動態記憶體管理
12.4連結串列
12.5Stacks
12.6佇列
12.7樹狀結構
12.8安全的C語言程式設計
Chapter13電腦科學思維:排序演算法與大O符號
13.1簡介
13.2演算法效率:大O符號
13.3選擇排序法
13.4插入排序法
13.5案例研究:視覺化高效能合併排序法
Chapter14預處理器
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程式設計
Chapter15其他主題
15.1簡介
15.2不定長度參數串列
15.3使用命令列參數
15.4編譯多來源檔案程式
15.5使用exit和atexit終止程式
15.6整數和浮點文字的後綴
15.7訊號處理
15.8動態記憶體分配函式calloc和realloc
15.9goto:無條件分支
Chapter16C++︰較好的C;簡介物件技術
16.1簡介
16.2C++
16.3一個簡單的程式:兩個整數的相加
16.4C++標準函式庫
16.5標頭檔
16.6行內函式
16.7C++關鍵字
16.8參考以及參考參數
16.9空的參數串列
16.10預設引數
16.11一元範圍解析運算子
16.12函式的多載
16.13函式樣板
16.14簡介物件技術與UML
16.15簡介C++標準函式庫的vector類別樣板
16.16總結