第一章 概論
1.1 計算機軟件及其發(fā)展
1.1.1 程序設計語言的發(fā)展
1.1.2 操作系統(tǒng)的形成和發(fā)展
1.1.3 程序的一般結構
1.2 算法和數據結構概述
1.2.1 問題的求解過程
1.2.2 數據結構和算法的概念
1.2.3 算法評價方法
習題一
第二章 C語言基礎
2.1 C語言概述
2.1.1 C語言發(fā)展簡史
2.1.2 C語言的特點
2.1.3 C程序的基本結構
2.1.4 保留字和標識符
2.1.5 常量和變量
2.2 基本數據類型
2.2.1 整型數據
2.2.2 實型數據
2.2.3 字符型數據
2.2.4 長整型、短整型和無符號整型
2.3 運算符和表達式
2.3.1 基本算術運算符及其運算規(guī)則
2.3.2 賦值運算符和賦值表達式
2.3.3 逗號運算符和逗號表達式
2.4 Turbo C2.0環(huán)境下C程序的上機操作方法
2.4.1 C程序運行經歷的過程
2.4.2 程序的上機操作步驟
習題二
第三章 基本C程序設計
3.1 賦值語句和基本輸入輸出
3.1.1 賦值語句
3.1.2 getchar()函數和putchar()函數
3.1.3 格式輸出函數printf()
3.1.4 格式輸入函數scanf()
3.2 分支程序設計
3.2.1 關系運算符和關系表達式
3.2.2 邏輯運算符和邏輯表達式
3.2.3 if語句
3.2.4 switch語句
3.2.5 應用舉例
3.3 循環(huán)程序設計
3.3.1 while語句
3.3.2 do-while語句
3.3.3 for語句
3.3.4 多重循環(huán)
3.3.5 break語句和continue語句
3.3.6 goto語句和空語句
習題三
第四章 數組和指針類型
4.1 一維數組
4.1.1 定義方式和引用方式
4.1.2 應用舉例
4.2 二維數組
4.2.1 定義方式和引用方式
4.2.2 應用舉例
4.3 字符數組
4.3.1 定義方式和引用方式
4.3.2 字符串及其結束標志
4.3.3 字符串的輸入和輸出
4.3.4 常用字符串處理函數
4.3.5 應用舉例
4.4 指針
4.4.1 指針的基本概念
4.4.2 指針變量的定義和引用
4.4.3 指向數組的指針
4.4.4 指向字符串的指針
4.4.5 指針數組
習題四
第五章 函數和編譯預處理
5.1 函數的定義和調用
5.1.1 函數定義的一般形式
5.1.2 函數調用方式
5.1.3 函數的返回值
5.2 函數的嵌套調用與遞歸調用
5.2.1 函數的嵌套調用
5.2.2 函數的遞歸調用
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 文件包含處理
習題五
第六章 文件
6.1 C文件概述
6.2 文件類型指針
6.3 文件的打開與關閉
6.3.1 文件的打開(fopen函數)
6.3.2 文件的關閉(fclose函數)
6.4 文件的讀寫和定位
6.4.1 文件的讀函數
6.4.2 文件的寫函數
6.4.3 文件的定位函數
習題六
第七章 表結構的算法設計
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.3.3 鏈表的結點和簡單鏈操作
7.3.4 鏈表的構造和輸出
7.4 鏈表的運算
7.4.1 鏈表的查找
7.4.2 鏈表的插入
7.4.3 鏈表的刪除
7.4.4 雙向鏈表
7.5 靜態(tài)鏈表
7.5.1 靜態(tài)鏈表的定義
7.5.2 靜態(tài)鏈表的插入和刪除
7.6 散列表
7.6.1 散列函數
7.6.2 散列表的構造
習題七
第八章 樹結構和圖結構的算法設計
8.1 樹的概念
8.1.1 樹的有關術語
8.1.2 二叉樹
8.1.3 樹、森林和二叉樹的相互轉換
8.2 二叉樹的遍歷
8.2.1 二叉樹的遍歷運算
8.2.2 二叉樹遍歷序列的性質
8.2.3 二叉樹遍歷的應用
8.3 二叉樹的構造
8.4 檢索樹
8.4.1 檢索樹的概念和查找算法
8.4.2 檢索樹的插入和構造
8.4.3 檢索樹的刪除
8.5 平衡樹
8.5.1 平衡樹的插入
8.5.2 平衡樹的刪除
8.6 哈夫曼樹
8.6.1 哈夫曼算法
8.6.2 哈夫曼樹的應用
8.7 圖的概念和存儲方法
8.7.1 圖的有關術語
8.7.2 圖的存儲方法
8.8 先深搜索和先廣搜索
8.8.1 先深搜索和先深生成林
8.8.2 先廣搜索
8.9 最小生成樹
8.9.1 Kruscal算法
8.9.2 Prim算法
8.10 最短路徑問題
習題八
第九章 算法設計常用方法
9.1 遞歸和分治
9.1.1 遞歸
9.1.2 分治法
9.1.3 平衡原則
9.2 貪心法
9.3 動態(tài)規(guī)劃
9.4 回朔法
9.5 面向對象的程序設計方法
9.5.1 面向對象的基本概念
9.5.2 C++中面向對象的用法簡介
習題九
第十章 軟件工程概述
10.1 軟件工程的概念
10.1.1 軟件工程的產生
10.1.2 軟件工程的體系
10.2 軟件工程開發(fā)模式
10.2.1 瀑布模型
10.2.2 原型開發(fā)模型
10.2.3 螺旋模型
10.2.4 噴泉模型
10.2.5 混合模型
10.2.6 Petri網模型
10.3 軟件開發(fā)過程
10.3.1 開發(fā)過程的度量
10.3.2 軟件開發(fā)過程的階段
10.4 計算機輔助軟件工程CASE
10.5 統(tǒng)一建模語言UML
10.5.1 UML的組成
10.5.2 UML的使用
習題十
參考文獻