前言
第1章 預備知識
1.1 數據在機器內部的表示
1.1.1 數的二進制、八進制,和十六進制表示法
1.1.2 數在機器內部的表示方式
1.1.3 習題
1.2 微機簡介
1.2.1 存儲器
1.2.2 指令和指令系統
1.2.3 中央處理器
1.3 C語言程序的構造
1.3.1 C語言程序構造
1.3.2 編譯和鏈接
第2章 數據類型、運算符和表達式
2.1 C語言數據類型
2.1.1 C語言數據類型
2.1.2 算術類型
2.1.3 數的寫法
2.2 常量與變量
2.3 算術運算、關系運算和邏輯運算
2.3.1 算術運算符
2.3.2 一般算術轉換
2.3.3 關系運算符
2.3.4 邏輯運算符
2.3.5 算術表達式、關系表達式和邏輯表達式的層次關系
2.3.6 習題
2.4 位運算和移位運算
2.4.1 位運算與移動運算
2.4.2 習題
2.5 賦值運算符和自增自減速運算符
2.5.1 簡單賦值
2.5.2 復合賦值
2.5.3 自增自減速運算符
2.5.4 習題
2.6 條件運算符和逗號運算符
2.6.1 條件運算符
2.6.2 逗號運算符
2.6.3 習題
2.7 強制轉換運算符
2.7.1 強制類型轉換
2.7.2 習題
2.8 C語言運算符的優(yōu)先級和結合律
2.8.1 C語言運算符的優(yōu)先級和結合律
2.8.2 習題
2.9 輸入輸出函數
2.9.1 輸入輸出單個字符
2.9.2 格式化的輸入輸出
2.9.3 習題
2.10 小結
第3章 語句
3.1 空語句、表達式語句和復合語句
3.2 分支語句
3.2.1 if語句
3.2.2 switch語句
3.2.3 習題
3.3 goto語句和標號
3.3.1 goto語句和標號
3.3.2 舉例
3.3.3 習題
3.4 循環(huán)語句
3.4.1 for語句
3.4.2 while語句
3.4.3 do-while語句
3.4.4 三種循環(huán)語句的比較
3.4.5 習題
3.5 break和continue語句
3.5.1 break語句
3.5.2 continue語句
3.5.3 用goto語句退出多層嵌套的循環(huán)語句
3.5.4 習題
3.6 程序設計
3.6.1 例題
3.6.2 程序設計的一般步驟
3.6.3 習題
3.7 小結
第4章 數組
4.1 數組概念、數組定義和數組元素引用
4.1.1 數組概念
4.1.2 數組定義
4.1.3 數組元素引用
4.1.4 數組元素的地址計算
4.1.5 習題
4.2 數組初始化
4.3 字符數組
4.3.1 字符串常量
4.3.2 字符數級其輸入輸出
4.3.3 字符數組初始化
4.3.4 習題
4.4 把多維數組看成一維數組
4.4.1 習題
4.4.2 循環(huán)程序設計
4.5 一個例子
4.5.1 一個例子
4.5.2 設計循環(huán)程序
4.5.3 例程
4.5.4 習題
4.6 小結
第5章 函數
5.1 函數的概念和函數的定義
5.1.1 C語言函數概念
5.1.2 函數定義
5.1.3 return語句
5.1.4 習題
5.2 函數調用
5.2.1 函數調用的語法
5.2.2 函數調用的實現
5.2.3 習題
5.3 函數原型
5.3.1 函數原型
5.3.2 習題
5.4 數組作函數參數
5.4.1 一維數組作函數參數
5.4.2 二維數組作函數參數
5.4.3 習題
5.5 變量的存儲類別
5.5.1 變量的生存期和作用域
5.5.2 外部變量
5.5.3 外部靜態(tài)變量
5.5.4 內部靜態(tài)變量
5.5.5 自動變量和寄存器變量
5.5.6 存儲類別小結
5.5.7 習題
5.6 函數的存儲類別:內部函數和外部函數
5.7 遞歸函數
5.7.1 遞歸函數概念
5.7.2 遞歸函數設計
5.8 習題
5.8.1 程序設計舉例
5.8.2 習題
5.9 小結
第6章 指針
6.1 指針概念擴指針變量定義
6.2 指針運算及指針應用舉例
6.2.1 指針運算
6.2.2 指針運算應用舉例
6.2.3 習題
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 命令行參數
6.4.4 二級指針與指針數組的關系
6.4.5 習題
6.5 指向數組的指針變量
6.5.1 指向數組的指針變量
6.5.2 習題
6.6 返回指針的函數
6.6.1 返回指針的函數
6.6.2 習題
6.7 指向函數的指針變量
6.7.1 指向函數的指針變量
6.7.2 習題
6.8 復合說明項
6.8.1 復合說明項
6.8.2 習題
6.9 程序設計例題
6.9.1 例題
6.9.2 習題
6.10 小結
第7章 結構和共用體
7.1 結構類型
7.1.1 結構類型概念和定義
7.1.2 位段結構
7.2 結構類型變量
7.2.1 變量定義
7.2.2 結構型數據的操作
7.2.3 習題
7.3 共用體類型
7.3.1 共用體類型
7.3.2 枚舉類型
7.3.3 typedef
7.3.4 習題
7.4 內存空間的動態(tài)分配
7.4.1 內存空間的動態(tài)分配
7.4.2 內存動態(tài)分配函數
7.4.3 內存分配應用舉例
7.4.4 習題
7.5 線性鏈接
7.5.1 線性鏈表的插入、查找和刪除
7.5.2 線性鏈表的變種
7.5.3 習題
7.6 程序設計例題
7.6.1 例題
7.6.2 習題
7.7 小結
第8章 文件
8.1 基本概念
8.2 文件的讀寫
8.2.1 文件的讀寫
8.2.2 習題
8.3 文件定位函數和文件的隨機訪問
8.3.1 文件定位函數和文件的隨機訪問
8.3.2 習題
8.4 程序設計例題
8.4.1 例題
8.4.2 習題
第9章 編譯預處理
9.1 宏定義與宏調用
9.1.1 基本概念
9.1.2 定義參數個數可變的函數
9.1.3 習題
9.2 include命令和首部文件
9.2.1 include命令的功能
9.2.2 include命令和首部文件
9.2.3 庫管理程序
9.3 條件編譯
附錄
附錄1 參考答案1
附錄2 參考答案2