本書是以C語言實際運用為導向,以解決實際問題為編程內容的實訓教程。全書共分10章,第1章回顧C語言基礎語法知識,第2章到第7章分模塊介紹圖書館管理系統的設計與實現,第8章和第9章分別介紹兩個拓展性的應用實訓——內存分區管理算法和字母貪吃蛇游戲的設計與實現。第10章簡要介紹了C語言編程規范相關的內容,以便學習者在實際代碼的編寫中參考學習。
本書適合作為高等院校、高職高專計算機或相關專業工程實訓教學用書或參考用書,也可供在校教師以及相關工程技術人員參考使用。
1. 采用項目導向、案例驅動的思想來組織。幫助學生掌握c語言編程的基礎知識和基本操作,熟練使用c語言進行結構化程序設計的技術和方法。 2. 由于圖書管理系統目前已經是比較成熟的技術,也是學生經常接觸到的系統,所以本教材選用圖書管理系統作為實訓案例。系統的功能設計從圖書管理的專業角度出發,與網上絕大多數功能單一的圖書管理系統有一定差別。 3. 系統開發采用了結構化程序設計過程。教材按照功能劃分來逐一介紹模塊開發過程。 4.選擇采用了一些簡單的數據結構概念引用其中,涉及到的知識點有:順序文件讀、寫操作;隨機文件讀、寫、定位操作;順序表建立,增刪改查等基本操作;單鏈表建立,增刪改查等基本操作;樹的雙親表示法,先序遍歷操作;直接插入排序,冒泡排序,簡單選擇排序;順序查找,二分查找;對于相似的操作采用多種不同的方法實現;
第1章 基礎知識回顧
1.1 概述
1.1.1 C程序的基本結構
1.1.2 高級語言的編譯和執行
1.1.3 編譯和執行C程序
1.1.4 Visual C++ 6.0
1.2 程序設計結構
1.2.1 順序結構
1.2.2 選擇結構
1.2.3 循環結構
1.3 數組
1.3.1 一維數組
1.3.2 二維數組
1.4 函數
1.4.1 函數種類 第1章 基礎知識回顧
1.1 概述
1.1.1 C程序的基本結構
1.1.2 高級語言的編譯和執行
1.1.3 編譯和執行C程序
1.1.4 Visual C++ 6.0
1.2 程序設計結構
1.2.1 順序結構
1.2.2 選擇結構
1.2.3 循環結構
1.3 數組
1.3.1 一維數組
1.3.2 二維數組
1.4 函數
1.4.1 函數種類
1.4.2 函數的調用
1.4.3 函數的形參與實參
1.4.4 內部變量與外部變量
1.4.5 變量的動態存儲與靜態存儲
1.5 編譯預處理
1.5.1 宏定義與符號常量
1.5.2 文件包含
1.5.3 條件編譯
1.6 指針
1.6.1 指針和指針變量的概念
1.6.2 指針變量的定義與應用
1.6.3 數組的指針和指向數組的指針變量
1.6.4 字符串的指針和指向字符串的指針變量
1.6.5 返回指針值的函數
1.6.6 指針數組與主函數main()的形參
1.7 結構體
1.7.1 結構體類型變量的定義
1.7.2 結構體變量的引用
1.7.3 結構體的使用
1.8 小結
第2章 圖書館管理系統分析
2.1 系統需求分析
2.2 模塊功能描述
2.3 數據結構設計
2.3.1 讀者信息結構
2.3.2 分類目錄信息結構
2.3.3 圖書信息結構
2.3.4 借閱信息結構
2.3.5 賬戶信息結構
2.3.6 全局ER圖
2.4 系統流程圖
2.5 系統菜單設計
2.6 小結
第3章 讀者管理模塊的設計與實現
3.1 知識要點
3.1.1 單鏈表
3.1.2 順序查找
3.1.3 順序文件操作
3.2 模塊設計
3.3 數據流程圖
3.4 模塊實現
3.4.1 增加讀者
3.4.2 查詢讀者
3.4.3 修改讀者
3.4.4 瀏覽所有讀者
3.4.5 證件掛失
3.5 功能測試
3.6 小結
第4章 分類目錄管理模塊的設計與實現
4.1 知識要點
4.1.1 樹的基本概念
4.1.2 樹的存儲結構
4.1.3 樹的遍歷
4.1.4 圖書分類目錄
4.1.5 隨機文件操作
4.2 模塊設計
4.3 數據流程圖
4.4 模塊實現
4.4.1 增加分類
4.4.2 修改分類
4.4.3 刪除分類
4.4.4 瀏覽分類目錄結構
4.5 功能測試
4.6 小結
第5章 圖書編目管理模塊的設計與實現
5.1 知識要點
5.1.1 scanf/fscanf%[]
5.1.2 清空輸入緩沖區
5.1.3 字符串庫函數
5.2 模塊設計
5.3 數據流程圖
5.4 模塊實現
5.4.1 新書錄入
5.4.2 刪除圖書
5.4.3 修改圖書
5.5 功能測試
5.6 小結
第6章 圖書流通管理模塊的設計與實現
6.1 知識要點
6.1.1 順序表
6.1.2 冒泡排序
6.1.3 簡單選擇排序
6.1.4 直接插入排序
6.1.5 折半查找
6.1.6 時間處理函數
6.2 模塊設計
6.3 數據流程圖
6.4 模塊實現
6.4.1 圖書分類瀏覽
6.4.2 圖書檢索
6.4.3 借書
6.4.4 還書
6.4.5 續借
6.4.6 罰款
6.4.7 查詢借閱記錄
6.5 功能測試
6.6 小結
第7章 賬戶管理模塊的設計與實現
7.1 模塊設計
7.2 數據流程圖
7.3 功能實現
7.3.1 注冊賬戶
7.3.2 修改密碼
7.3.3 查詢賬戶
7.3.4 刪除賬戶
7.3.5 修改賬戶
7.4 功能測試
7.5 小結
第8章 內存分區管理算法的設計與實現
8.1 知識要點
8.1.1 可變分區存儲管理
8.1.2 空閑區的合并
8.1.3 分區的管理與組織方式
8.1.4 空閑分區的分配算法
8.2 總體設計
8.2.1 數據結構設計
8.2.2 內存分配算法
8.2.3 內存回收算法
8.2.4 函數設計
8.3 代碼實現
8.3.1 主函數
8.3.2 內存分配函數
8.3.3 內存回收函數
8.3.4 輸出分區
8.3.5 運行測試
8.4 小結
第9章 字母貪吃蛇游戲的設計與實現
9.1 理論基礎
9.1.1 控制臺界面操作函數
9.1.2 與線程有關的函數
9.2 總體設計
9.3 游戲代碼實現
9.3.1 頭文件包含
9.3.2 常量及變量定義
9.3.3 函數聲明
9.3.4 函數實現
9.3.5 游戲運行測試
9.4 小結
第10章 C語言編程規范
10.1 文件結構
10.1.1 版權和版本的聲明
10.1.2 頭文件的結構
10.1.3 源程序文件的結構
10.1.4 頭文件的作用
10.1.5 目錄結構
10.2 程序的版式
10.2.1 空行
10.2.2 代碼行
10.2.3 代碼行內的空格
10.2.4 對齊
10.2.5 長行拆分
10.2.6 修飾符的位置
10.2.7 注釋
10.3 命名規則
10.3.1 共性規則
10.3.2 應用程序命名規則
10.4 常量
10.4.1 使用原因
10.4.2 const與#define的比較
10.4.3 常量定義規則
10.5 表達式和基本語句
10.5.1 運算符的優先級
10.5.2 復合表達式
10.5.3 if語句
10.5.4 循環語句的效率
10.5.5 for語句的循環控制變量
10.5.6 switch語句
10.6 函數設計
10.6.1 參數的規則
10.6.2 返回值的規則
10.6.3 函數內部實現的規則
10.6.4 其他
10.7 小結
附錄