目錄
第一部分 學習C
第一章 C程序解析
1.1一個典型的C程序
1.2注釋
1.3語句
1.4關鍵字和名字
1.5預處理指令
1.6函數
1.7調用函數
1.8聲明及初始化變量
1.9外部變量與局部變量
1.10函數原型
1.11關于printf
第二章 函數
2.1函數和結構化程序設計
2.2main函數
2.3函數的位置與可見性
2.4函數定義和原型
2.5調用一個函數
2.6傳遞變元
2.7變元與參數
2.8給參數賦值
2.9值傳遞
2.10從函數中返回值
2.11使用返回值
2.12聲明函數的返回類型
2.13函數原型
2.13.1原型化無參數的函數
2.13.2原型化有不定參數的函數
2.14舊式的函數聲明與定義
第三章 流程控制
3.1循環(huán):while,do和for
3.1.1while語句
3.1.2do語句
3.1.3for循環(huán)
3.2判斷語句:if,else,switch,break,continue和got0
3.2.1if語句
3.2.2else子句
3.2.3switch語句
3.2.4break語句
3.2.5continue語句
3.2.6goto語句
第四章 數據類型
4.1基本數據類型
4.1.1說明基本類型
4.1.2說明變量
4.1.3說明常量
4.2聚集數據類型
4.2.1數組
4.2.2結構
4.2.3聯(lián)合
第五章 高級數據類型
5.1可見性
5.1.1局部變量
5.1.2外部變量
5.1.3多個源文件中的可見性
5.1.4函數的可見性
5.2生命期
5.3轉換數據類型
5.3.1數據類型的級別
5.3.2升級與降級
5.3.3自動類型轉換
5.3.4強制類型轉換
5.4寄存器變量
5.5用typedef對現(xiàn)存類型重命名
5.6枚舉類型
第六章 操作符
6.1C操作符介紹
6.1.1算術操作符
6.1.2關系操作符
6.1.3賦值操作符
6.2C語言獨特的操作符
6.2.1加1和減1符
6.2.2位操作符
6.2.3邏輯操作符
6.2.4地址操作符
6.2.5條件操作符
6.2.6sizeof操作符
6.2.7逗號操作符
6.2.8基數操作符
6.3操作符優(yōu)先級
第七章 預處理指令
7.1#include指令
7.2#define和#undef指令
7.2.1簡單文本替換
7.2.2與函數相似的宏
7.2.3#undef指令
7.3條件指令
7.4編譯指令
第八章 指針
8.1使用指針
8.2指向簡單變量的指針
8.2.1聲明指針變量
8.2.2指針存儲方式
8.2.3初始化指針變量
8.2.4使用指針變量
8.2.5指針基礎知識小結
8.3數組指針
8.3.1數組及指針運算
8.3.2指針比較
8.3.3重溫PARRAY.C
8.4指針和串
8.5傳遞指針至函數
8.6指針數組
8.7本章回顧
第九章 高級指針
9.1指向指針的指針
9.2數組與指針的等價性
9.3獲取命令行參數
9.4空指針
9.5指向結構的指針
9.6指向函數的指針
9.7有關指針的幾點說明
第十章 程序設計中的錯誤
10.1操作問題
10.1.1賦值操作符和相等操作符的混淆
10.1.2混淆操作符優(yōu)先級
10.1.3混淆結構元素操作符
10.2數組問題
10.2.1數組下標錯
10.2.2在處理數組時忽略了數組下標
10.2.3超出數組邊界
10.3字符串問題
10.3.1混淆字符常數與字符串
10.3.2忘記了字符串結尾的空字符
10.3.3忘記為字符串分配內存
10.4指針問題
10.4.1用錯誤的地址操作符來初始化指針
10.4.2用錯誤的類型聲明了一個指針
10.4.3使用懸掛指針
10.5庫函數問題
10.5.1沒有檢查庫函數的返回值
10.5.2與庫函數重名
10.5.3忘記包含聲明庫函數的包含文件
10.5.4調用scanf時忽略了地址操作符
10.6宏問題
10.6.1忽略了宏參數的括號
10.6.2在宏參數中使用遞增和遞減操作符
10.7混合性問題
10.7.1不匹配的if和else語句
10.7.2放錯了分號的位置
10.7.3在DOS路徑中忽略了雙反斜杠
10.7.4忽略了開關的語句中的break語句
10.7.5混淆有符號和無符號值
第二部分 使用C
第十一章 輸入和輸出
11.1輸入輸出流
11.2屏幕和鍵盤輸入/輸出
11.2.1操作和打印字符串
11.2.2打印數值
11.2.3使用scanf進行鍵盤輸入
11.3標準磁盤輸入/輸出
11.3.1創(chuàng)建文件和向文本文件寫
11.3.2打開文件以便二進制方式讀
11.3.3二進制和文本文件
11.3.4數值型變量的文本格式
11.3.5使用二進制格式
11.4低級輸入和輸出
第十二章 動態(tài)存儲分配
12.1為什么要分配
12.2存儲分配基礎
12.2.1分配存儲塊的準備工作
12.2.2指定分配塊的大小
12.2.3圖示說明
12.2.4對malloc返回地址賦值
12.2.5檢測malloc函數返回值
12.2.6訪問—已分配存塊
12.2.7為不同的數據類型分配存儲塊
12.2.8采用free函數釋放存儲塊
12.3特定的存儲分配函數
12.3.1calloc函數
12.3.2realloc函數
12.4避免麻煩
第十三章 圖形
13.1圖形方式
13.1.1檢測當前視頻模式
13.1.2設置視頻方式
13.1.3編制圖形程序
13.1.4使用彩色圖形方式
13.1.5使用彩色視頻文本方式
13.2文本坐標
13.3圖形坐標
13.3.1物理屏幕
13.3.2視口坐標
13.3.3窗口中的實際坐標
第十四章 報告用圖形
14.1術語
14.2報告用圖形程序結構
14.3五個圖形程序例子
14.4色板
14.4.1顏色庫
14.4.2格式庫
14.4.3模式庫
14.4.4字符庫
14.5通用報告用圖形
14.5.1圖形環(huán)境
14.5.2titletype
14.5.3axistype
14.5.4窗口類型
14.5.5legendtype
14.5.6chartenv
14.6報告用圖形函數概述
第十五章 字體
15.1Micr0softC字體
15.2使用MicrosoftC字體庫
15.2.1注冊字體
15.2.2設置當前字體
15.2.3顯示文本
15.3例題程序
15.4一些提示
第十六章 內部匯編
16.1內部匯編的優(yōu)點
16.2_asm關鍵字
16.3在_asm塊中使用匯編語言
16.3.1指令集
16.3.2表達式
16.3.3Data偽指令及操作符
16.3.4EVEN和ALIGN偽指令
16.3.5宏
16.3.6段訪問
16.3.7類型和變量大小
16.3.8注釋
16.3.9用CodeView調試器來調試
16.4在asm塊中使用C
16.4.1使用操作符
16.4.2使用C符號
16.4.3訪問C數據
16.4.4編寫函數
16.5使用和保存寄存器
16.6跳轉到標號
16.7調用C函數
16.8定義_asm塊為C宏
16.9優(yōu)化
第三部分 附 錄
附錄A C語言指南
A.1一般語法
A.1.1用戶定義名
A.1.2關鍵字
A.1.3函數
A.2流程控制
A.2.1break語句
A.2.2continue語句
A.2.3do語句
A.2.4for語句
A.2.5goto語句
A.2.6if語句
A.2.7return語句
A.2.8switch語句
A.2.9while語句
A.3數據類型
A.3.1基本數據類型
A.3.2聚合數據類型
A.3.3高級數據類型
A.4操作符
A.5預處理指令
A.6指針
附錄B C庫函數指南
B.1C運行庫概況
B.2緩沖區(qū)處理例程
B.3字符分類與轉換例程
B.4數據轉換例程
B.5錯誤信息的例程
B.6圖形1:低級圖形例程
B.6.1配置方式與環(huán)境
B.6.2設置坐標
B.6.3設置色板
B.6.4設置屬性
B.6.5輸出圖像
B.6.6輸出文本
B.6.7傳遞圖像
B.7圖形2:報告用圖形例程
B.8圖形3:字體顯示例程
B.9輸入、輸出例程
B.9.1流式例程
B.9.2低級例程
B.9.3控制臺與端口I/O例程
B.10數學例程
B.11內存分配例程
B.12進程控制例程
B.13搜索與排序例程
B.14字符串處理例程
B.15時間例程