前言
第1章 C語言概述
1.1 程序設計語言
1.1.1 程序的概念
1.1.2 程序設計語言的發展
1.2 C語言的發展
1.2.1 C語言的起源
1.2.2 C語言的發展
1.2.3 C語言的特點
1.3 C程序初識
1.3.1 編輯
1.3.2 編譯、鏈接和執行
1.3.3 處理錯誤
1.4 簡單的C語言程序
實驗題目
習題1
第2章 簡單C程序設計
2.1 如何將數據存入計算機
2.1.1 內存與內存空間
2.1.2 變量的作用
2.1.3 利用數據類型高效利用空間
2.1.4 變量的定義
2.2 其他數據表示
2.2.1 常量
2.2.2 符號常量
2.3 數據的輸入與輸出
2.3.1 格式化輸出函數
2.3.2 格式化輸入函數
2.4 數據的運算
2.4.1 C常見運算符
2.4.2 不同類型數據之間的轉換
2.4.3 常用數學函數
實驗題目
習題2
第3章 選擇控制結構
3.1 邏輯類型與關系運算
3.1.1 邏輯類型與關系表達式
3.1.2 關系運算符
3.2 流程控制語句之if
3.2.1 單分支控制條件語句
3.2.2 復合語句(代碼塊)
3.2.3 雙分支if語句
3.2.4 三目運算符
3.3 邏輯運算符與字符類型
3.3.1 邏輯運算符
3.3.2 運算符的優先級
3.3.3 字符類型
3.4 流程圖、偽代碼和代碼縮進
3.4.1 流程圖和嵌套的if else語句
3.4.2 多分支if語句
3.4.3 縮進、代碼塊與更易讀的代碼
3.4.4 偽代碼和注釋
3.5 swiitch語句
3.5.1 switch語句
3.5.2 break語句
實驗題目
習題3
第4章 循環控制結構
4.1 循環的基本原理
4.2 循環語句
4.2.1 while語句
4.2.2 do-while語句
4.2.3 for語句
4.3 幾種循環語句的比較
4.3.1 計數控制的循環
4.3.2 條件控制的循環
4.3.3 循環的嵌套
4.4 控制流程的跳轉語句
4.4.1 break語句
4.4.2 continue語句
4.4.3 goto語句
4.5 類型溢出問題
實驗項目
習題4
第5章 函數
5.1 函數概述
5.1.1 模塊化程序設計
5.1.2 函數的概念
5.1.3 函數的分類
5.2 函數的定義和調用
5.2.1 函數的定義
5.2.2 return語句
5.2.3 函數調用
5.2.4 函數原型
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.6 函數的設計原則
實驗題目
習題5
第6章 數組
6.1 為什么使用數組
6.2 一維數組的定義和引用
6.2.1 一維數組的定義
6.2.2 一維數組的初始化
6.2.3 一維數組的應用舉例
6.3 數組作為函數參數
6.4 數組的排序和查找
6.4.1 數組的查找
6.4.2 數組的排序
6.5 二維數組
6.5.1 二維數組的定義和引用
6.5.2 二維數組的初始化
6.5 -3二維數組的應用舉例
實驗題目
習題6
第7章 字符串
7.1 什么是字符串
7.1.1 字符串的定義
7.1.2 聲明初始化字符串變量
7.2 字符串存儲
7.3 字符串的輸入輸出
7.4 字符數組
7.4.1 字符數組的定義
7.4.2 字符數組初始化
7.4.3 字符數組的引用
7.4.4 字符數組的輸入輸出
7.4.5 字符串排序
7.5 字符串常用函數
7.5.1 求字符串長度函數strlen()
7.5.2 字符串復制函數strcpy()和strncpy()
7.5.3 字符串連接函數strcat()和stmcat()
7.5.4 字符串比較函數strcmp()和stmcmp()
7.5.5 字符串的查找函數strchr()
7.6 字符串的簡單應用
7.6.1 統計單詞個數
7.6.2 統計整數及小數的和
7.6.3 十進制數轉換二進制數
實驗題目
習題7
第8章 指針
8.1 變量的內存地址
8.2 指針的基礎知識
8.2.1 指針的概念
8.2.2 指針變量的定義
8.2.3 指針變量的初始化
8.2.4 指針的間接尋址運算符
8.3 指針作為參數
8.4 指針和一維數組
8.4.1 指針運算在一維數組中的應用
8.4.2 一維數組與指針的關系
8.4.3 一維數組作為函數參數
8.5 指針和二維數組
8.5.1 二維數組的行地址和列地址
8.5.2 利用二維數組名做指針
8.5.3 指向數組的指針
8.6 指針和字符串
8.6.1 字符串常量及存儲方式
8.6.2 字符指針
8.6.3 利用指針處理字符串
8.7 指針的高級應用
8.7.1 動態分配數組和字符串
8.7.2 釋放動態分配的存儲空間
實驗題目
習題8
第9章 結構體和共用體
9.1 結構體基本知識
9.1.1 結構體類型的概念
9.1.2 結構體變量的定義
9.1.3 使用typedef定義數據類型
9.1.4 結構體變量的初始化
9.1.5 結構體變量的引用
9.1.6 本節實驗
9.2 結構體數組
9.2.1 結構體數組的定義
9.2.2 本節實驗
9.3 結構體指針
9.3.1 指向結構體變量的指針
9.3.2 指向結構體數組的指針
9.3.3 結構體作為函數參數
9.3.4 本節實驗
9.4 共用體基本知識
9.4.1 共用體的概念
9.4.2 共用體變量的引用
9.4.3 共用體類型數據的特點
9.4.4 本節實驗
9.5 枚舉類型基本知識
9.5.1 枚舉類型的定義
9.5.2 枚舉變量的說明
9.5.3 枚舉類型的引用
9.5.4 本節實驗
9.6 結構的應用——單鏈表
9.6.1 單鏈表類型的定義
9.6.2 單鏈表的建立
9.6.3 單鏈表的遍歷
9.6.4 單鏈表的插入
9.6.5 單鏈表的刪除
9.6.6 單鏈表的查找
實驗題目
習題9
第10章 編譯預處理
10.1 預處理的工作原理
10.2 預處理指令
10.3 #define預處理指令
10.3.1 符號常量
10.3.2 帶參數的宏
10.3.3 #undef指令
10.4 文件包含
10.4.1 include指令
10.4.2 模塊化程序中的多文件程序
10.5 條件編譯
10.5.1 #if指令
10.5.2 #ifdef指令和#ifndef指令
實驗題目
習題10
第11章 文件
11.1 文件的打開與關閉
11.1.1 文件的概念
11.1.2 文件指針
11.1.3 文件打開
11.1.4 文件關閉
11.1.5 本節實驗
11.2 順序文件的讀寫
11.2.1 按字符讀寫文件
11.2.2 按字符串讀寫文件
11.2.3 按數據塊讀寫文件
11.2.4 按格式讀寫文件
11.2.5 本節實驗
11.3 隨機文件的讀寫
11.3.1 文件定位
11.3.2 文件的隨機讀寫
11.3.3 本節實驗
實驗題目
習題11