第一章 程序設計基本概念
1.1 程序和程序設計
1.1.1 C程序
1.1.2 程序設計
1.2 算法
l.3 結構化程序設計和模塊化結構
1.3.1 結構化程序
1.3.2 模塊化結構
習題
第二章 C程序設計的初步知識
2.1 簡單C語言程序的構成和格式
2.2 常量、變量和標識符
2.2.1 標識符
2.2.2 常量
2.2.3 用定義一個符號名的方法來代表一個常量
2.2.4 變量
2.3 整型數據
2.3.1 整型常量
2.3.2 整型變量
2.3.3 整型數據的分類
2.3.4 整數在內存中的存儲形式
2.4 實型數據
2.4.1 實型常量
2.4.2 實型變量
2.5 算術表達式
2.5.1 基本的算術運算符
2.5.2 運算符的優(yōu)先級、結合性和算術表達式
2.5.3 強制類型轉換表達式
2.6 賦值表達式
2.6.1 賦值運算符和賦值表達式
2.6.2 復合的賦值表達式
2.6.3 賦值運算中的類型轉換
2.7 自加、自減運算符和逗號運算符
2.7.1 自加運算符(++)和自減運算符(一一)
2.7.逗號運算符和逗號表達式
習題
第三章 順序結構
3.1 賦值語句
3.2 數據輸出
3.2.1 printf函數的一般調用形式
3.2.2 printf函數中常用的格式說明
3.2.3 調用printf函數時的注意事項
3.3 數據輸入
3.3.1 scanf函數的一般調用形式
3.3.2 scanf函數中常用的格式說明
3.3.3 通過scanf函數從鍵盤輸入數據
3.4 復合語句和空語句
3.4.1 復合語句
3.4.2 空語句
3.5 程序舉例
習題
第四章 選擇結構
4.1 關系運算和邏輯運算
4.1.1 C語言中的邏輯值
4.1.2 關系運算符和關系表達式
4.1.3 邏輯運算符和邏輯表達式
4.2 if語句和用if語句構成的選擇結構
4.2.1 if語句
4.2.2 嵌套的if語句
4.3 條件表達式構成的選擇結構
4.4 switch語句以及用switch語句和break語句構成的選擇結構
4.4.1 switch語句
4.4.2 switch語句的執(zhí)行過程
4.4.3 在switch語句體中使用break語句
4.5 語句標號和goto語句
4.5.1 語句標號
4.5.2 goto語句
習題
第五章 循環(huán)結構
5.1 while語句和用while語句構成的循環(huán)結構
5.1.1 while循環(huán)的一般形式
5.1.2 while循環(huán)的執(zhí)行過程
5.2 do.while語句和用d0.while語句構成的循環(huán)結構
5.2.1 do.while語句構成的循環(huán)結構
5.2.2 do.while循環(huán)的執(zhí)行過程
5.3 for語句和用for語句構成的循環(huán)結構
5.3.1 for語句構成的循環(huán)結構
5.3.2 for循環(huán)的執(zhí)行過程
5.3.3 有關for語句的說明
5.4 循環(huán)結構的嵌套
5.5 break和continue語句在循環(huán)體中的作用
5.5.1 break語句
5.5.2 continue語句
5.6 程序舉例
習題
第六章 字符型數據
6.1 字符型常量
6.1.1 字符常量
6.1.2 轉義字符常量
6.1.3 字符串常量
6.1.4 可對字符量進行的運算
6.2 字符變量
6.3 字符的輸入和輸出
6.3.1 調用printf和scanf函數輸出和輸入字符
6.3.2 調用putchar和getchar函數輸出和輸入字符
6.4 程序舉例
習題
第七章 函數
7.1 庫函數
7.2 函數的定義和返回值
7.2.1 函數定義的語法
7.2.2 函數的返回值
7.3 函數的調用
7.3.1 函數的兩種調用方式
7.3.2 函數調用時的語法要求
7.4 函數的說明
7.4.1 函數說明的形式
7.4.2 函數說明的位置
7.5 調用函數和被調用函數之間的數據傳遞
7.6 程序舉例
習題
第八章 指針
8.1 變量的地址和指針
8.2 指針變量的定義和指針變量的基類型
8.3 給指針變量賦值
8.3.1 給指針變量賦地址值
8.3.2 給指針變量賦“空”值
8.4 對指針變量的操作
8.4.1 通過指針來引用一個存儲單元
8.4.2 移動指針
8.4.3 指針比較
8.5 函數之間地址值的傳遞
8.5.1 形參為指針變量時,實參和形參之間的數據傳遞
8.5.2 通過傳送地址值,在被調用函數中直接改變調用函數中變量的值
8.5.3 函數返回地址值
習題
第九章 數組
9.1 一維數組的定義和維數組元素的引用
9.1.1 一維數組的定義
9.1.2 一維數組元素的引用
9.1.3 一維數組的初始化
9.1.4 通過賦初值定義數組的大小
9.1.5 一維數組的定義和數組元素引用舉例
9.2 一維數組和指針
9.2.1 一維數組和數組元素的地址
9.2.2 通過數組的首地址引用數組元素
9.2.3 通過指針來引用一維數組元素
9.2.4 用帶下標的指針變量引用一維數組元素
9.3 函數之間對一維數組和數組元素的引用
9.3.1 數組元素作實參
9.3.2 數組名作實參
9.3.3 數組元素地址作為實參
9.3.4 函數的指針形參和函數體中數組的區(qū)別
9.4 一維數組應用舉例
9.5 二維數組的定義和二維數組元素的引用
9.5.1 二維數組的定義
9.5.2 二維數組元素的引用
9.5.3 二維數組的初始化
9.5.4 通過賦初值定義二維數組的大小
9.5.5 二維數組的定義和數組元素引用舉例
9.6 二維數組和指針
9.6.1 二維數組和數組元素的地址
9.6.2 通過地址來引用二維數組元素
9.6.3 通過建立一個指針數組來引用二維數組元素
9.6.4 通過建立一個行指針來引用二維數組元素
9.7 二維數組名和指針數組作為實參
9.7.1 二維數組名作為實參時,實參和形參之間的數據傳遞
9.7.2 指針數組作為實參時,實參和形參之間的數據傳遞
9.8 二維數組程序舉例
習題
第十章 字符串
10.1 用一個一維字符數組來存放字符串
10.1 一通過賦初值的方式給一維字符數組賦字符串
10.1.2 在c程序執(zhí)行過程中給一維字符數組賦字符串
10.2 使指針指向一個字符串
lO.2.1 通過賦初值的方式使指針指向一個字符串
lO.2.2 通過賦值運算使指針指向一個字符串
10.2.3 用字符數組作為字符串和用指針向的一個字符串之間的區(qū)別
10.3 字符串的輸入和輸出
10.3.1 輸入和輸出字符串時的必要條件
10.3.2 用格式說明符%進行整串輸入和輸出
10.3.3 調用gets、puts函數,從終端
進行字符串行的輸入和輸出
10.4 字符串數組
10.5 用于字符串處理的函數
10.6 程序舉例
習題
第十一章 對函數的進一步討論
11.1 傳給main函數的參數
l1.2 通過實參向函數傳遞函數名或指向函數的指針變量
11.3 函數的遞歸調用
習題
第十二章 C語言中用戶標識符的作用域和存儲類
12.1 局部變量、全局變量和存儲分類
12.1.1 用戶標識符的作用域
12.1.2 局部變量、全局變量和存儲分類
12.2 局部變量及其作用域和生存期
12.2.1 auto變量
12.2.2 register變量
12.2.3 靜態(tài)存儲類的局部變量
12.3 全局變量及其作用域和生存期
12.3.1 全局變量的作用域和生存期
12.3.2 在同一編譯單位內用extem說明符來擴展全局變量的作用域
12.3.3 在不同編譯單位內用extern說明符來擴展全局變量的作用域
12.3.4 靜態(tài)全局變量
12.4 函數的存儲分類
12.4.1 用extem說明函數
12.4.2 用static說明函數
習題
第十三章 編譯預處理和動態(tài)存儲分配
第十四章 結構體、共用體和用戶定義類型
第十五章 位運算
第十六章 文件
附錄