初級篇
第1章 C語言學習基礎
1.1 預備知識:計算機系統的硬件與軟件
1.1.1 計算機硬件系統
1.1.2 計算機軟件系統
1.1.3 計算機語言
1.2 C語言簡介
1.2.1 C語言的發(fā)展歷史
1.2.2 C語言的特點
1.3 工程問題求解方法論
1.4 算法及其描述方法
1.4.1 算法的基本概念
1.4.2 算法的描述方法
1.5 C語言程序初探
1.5.1 親身經歷第一個C語言程序
1.5.2 認識C語言程序的基本結構
1.5.3 項目任務
1.5.4 要記住的C語言基本詞匯
1.5.5 C語言的語句分類
1.6 對初學者的忠告
1.7 本章小結
第2章 C程序設計初步
2.1 程序入門
2.2 C語言的數據及其類型
2.2.1 C語言中的數據
2.2.2 數據類型概念
2.2.3 C語言數據類型
2.3 程序中的常量和變量
2.3.1 程序中的直接常量和符號常量
2.3.2 C語言程序中的變量
2.3.3 確定問題領域的數據及其類型
2.4 程序中的常用運算符和表達式
2.4.1 算術運算符和算術表達式
2.4.2 賦值運算符和賦值表達式
2.4.3 自增(減)運算的進一步理解
2.4.4 逗號運算符
2.4.5 位運算符
2.4.6 指針運算符
2.4.7 數據類型轉換
2.5 程序中的人機交互設計
2.6 C語言的基本語句
2.7 C語言中的輸入輸出語句
2.7.1 標準格式輸入輸出語句的簡單應用
2.7.2 輸入輸出的復雜格式控制
2.7.3 字符/字符串數據的輸入輸出
2.8 工程計算問題求解與數學函數的應用
2.8.1 工程應用案例:數值問題求解
2.8.2 常用數學函數及其頭文件
2.9 項目任務:“學生信息管理系統”軟件界面的優(yōu)化設計
2.10 本章小結
第3章 控制結構和數據文件
3.1 算法開發(fā)
3.1.1 自頂向下設計的算法思想
3.1.2 結構化程序設計思想
3.2 構造程序中的條件
3.2.1 關系運算符與關系表達式
3.2.2 邏輯運算符與邏輯表達式
3.2.3 控制條件的描述與表示
3.3 選擇結構程序設計
3.3.1 選擇結構語句(ConditionalStatements)
3.3.2 選擇結構的嵌套
3.3.3 switch語句、break語句和goto語句
3.3.4 項目案例
3.4 循環(huán)結構(LoopStructure)程序設計
3.4.1 循環(huán)機制
3.4.2 實現循環(huán)的三種語句
3.4.3 三種循環(huán)的比較
3.4.4 循環(huán)嵌套
3.5 數據文件
3.5.1 I/O語句
3.5.2 數據文件的讀取
3.6 應用案例:數值技術
3.6.1 定積分的計算
3.6.2 一元方程根的數值計算
3.7 本章小結
中級篇
第4章 函數模塊化編程
4.1 模塊化程序設計
4.2 函數的概念和分類
4.2.1 函數的概念
4.2.2 函數原型與定義
4.2.3 函數的分類
4.3 函數的調用與返回
4.3.1 函數間的數據傳遞方式
4.3.2 函數的嵌套與遞歸函數
4.3.3 項目案例
4.4 變量的作用域與生存期
*4.4.1 變量的存儲空間分配概念
4.4.2 變量的作用域——局部變量和全局變量
4.4.3 動態(tài)存儲與靜態(tài)存儲
4.5 編譯預處理
4.5.1 宏定義
4.5.2 文件包含
4.6 本章 小結
高級篇
第5章 數組和矩陣
5.1 數組的基本概念
5.2 一維數組
5.2.1 一維數組的定義(邏輯結構,LogicalStructure)
5.2.2 一維數組的存儲結構(物理結構,PhysicalStructure)
5.2.3 一維數組的初始化
5.2.4 一維數組元素的引用
5.3 數組與函數
5.3.1 數組元素作為函數的實際參數
5.3.2 一維數組名作為函數參數
5.3.3 應用案例:開發(fā)常用統計度量函數
5.4 排序算法
5.5 數據查找算法
5.6 數據插入算法
5.7 二維數組與多維數組
5.7.1 二維數組的定義與引用
5.7.2 二(多)維數組的存儲與管理
5.7.3 二維數組的初始化
5.7.4 遍歷二維數組元素
5.7.5 二維數組元素的計算與處理
5.7.6 項目任務實現
5.7.7 二(多)維數組名作為函數參數
5.8 字符數組與字符串處理庫函數
5.8.1 字符數組定義及初始化
5.8.2 字符數組的輸入輸出
5.8.3 字符串處理函數
5.8.4 應用案例:開發(fā)文本編輯常用操作
5.8.5 項目任務:信息的保存和讀取
*5.8.6 項目任務:用戶信息管理
*5.8.7 項目任務:用戶信息的查詢和編輯操作
5.9 本章 小結
第6章 指針
6.1 指針的基本運算與操作
6.1.1 基本運算和操作
6.1.2 多級指針概念與地址關系
6.2 利用指針訪問數組
6.2.1 指向一維數組和數組元素的指針
6.2.2 指向二(多)維數組和數組元素的指針
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.5 動態(tài)內存分配
6.5.1 動態(tài)內存的基本概念
6.5.2 指針與動態(tài)內存函數
6.5.3 項目任務:用動態(tài)內存分配實現學生成績管理
6.6 本章 小結
第7章 結構體.聯合體及用戶自定義類型
7.1 結構及結構變量的引入
7.1.1 結構類型的定義
7.1.2 結構體變量的定義和初始化
7.1.3 結構體變量的使用
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.4.3 返回結構體類型值的函數
7.5 鏈表
7.5.1 鏈表的基本概念
7.5.2 鏈表的基本操作
7.6 特殊的數據類型——聯合體
7.6.1 聯合體類型的定義
7.6.2 聯合體變量的定義
7.6.3 聯合體變量的使用
7.6.4 結構和聯合的區(qū)別
7.7 用typedef定義類型
7.8 枚舉類型
7.9 本章 小結
*第8章 項目案例綜合實現
8.1 “學生信息管理系統”需求分析
8.2 系統流程處理設計
8.3 詳細設計
8.4 編碼
8.5 軟件使用說明
附錄
參考文獻