作者簡介
尹寶林,1973年10月畢業於北京航空學院計算機專業,1984年獲英國愛丁堡大學博士學位。現任北京航空航天大學計算機系教授、博士生導師。從事計算機專業教學和科研工作多年,曾主講《C語言程式設計》、《高級語言程式設計》、《UNIX程式設計環境》、《計算機圖形學》、《圖像處理》等課程,其中《高級語言程式設計》被評為北京市精品課程。主編過《離散數學》教材一部。參加全國信息學奧林匹克(NOI)活動的組織與指導工作,任全國信息學奧林匹克科學委員會副主席。
內容簡介
《C程式設計思想與方法》不是一本講授C語言自身特點的教材,而是講授使用C語言進行程式設計的教材。它以C語言為工具,講授程式設計的過程和方法,為培養學生的專業程式設計能力打下基礎。《C程式設計思想與方法》以程式設計的思想和過程為主線,從專業化的角度重點討論C語言的要素和特點、程式設計的基本思想和方法、程式質量的評估和改進、程式與運行環境的關係、中等規模程式的組織要點,以及一些專業化編程所必備的編程習慣和技巧等,並結合例題介紹這些方法和原則在實際編程中的具體運用。
《C程式設計思想與方法》面向對C語言和數據結構、算法分析等相關知識有基本了解,同時希望進一步提高自己實際程式設計能力的讀者,適合作為計算機及相關專業高年級學生學習高級程式設計的教材,同時也適合剛走上工作崗位的專業人員閱讀。
尹寶林,1973年10月畢業於北京航空學院計算機專業,1984年獲英國愛丁堡大學博士學位。現任北京航空航天大學計算機系教授、博士生導師。從事計算機專業教學和科研工作多年,曾主講《C語言程式設計》、《高級語言程式設計》、《UNIX程式設計環境》、《計算機圖形學》、《圖像處理》等課程,其中《高級語言程式設計》被評為北京市精品課程。
目錄
出版者的話
序言
前言
教學建議
例題索引
第0章 引言
第1章 C語言和C程式的基本要素
1.1 C語言概述
1.2 C程式的開發過程
1.3 C程式的基本結構
1.4 調試初步-語法錯誤的定位
1.5 算術運算和表達式
1.6 常量和變數
1.6.1 數字常量
1.6.2 字元常量
1.6.3 字元串常量
1.6.4 符號常量
1.6.5 枚舉常量
1.6.6 變數
1.6.7 變數的賦值和初始化
1.6.8 一維數組
1.6.9 字元數組和字元串
1.6.10 二維數組
1.7 分支和條件語句
1.7.1 關係運算符和邏輯運算符
1.7.2 運算符的優先權
1.7.3 從自然語言到邏輯表達式
1.7.4 條件語句
3.4.3 常用的位操作模式
3.4.4 位操作套用的例
3.5 數值計算的速度
習題
第4章 指針、數組、結構和類型
4.1 指針變數
4.1.1 指針變數的定義
4.1.2 指針的類型
4.1.3 指針運算
4.1.4 指針的強制類型轉換
4.1.5 不合法的指針運算
4.1.6 指針與整數
4.1.7 指針的增量運算和減量運算
4.1.8 作為函式參數的指針
4.2 指針和一維數組
4.2.1 指針和數組的互換
4.2.2 動態一維數組
4.2.3 數組複製與指針賦值
4.2.4 變數限制符const
4.2.5 數組的負數下標
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.5 結構
4.5.1 結構類型的定義
4.5.2 結構成員的訪問
4.5.3 結構類型的嵌套定義
4.5.4 結構的自引用
4.5.5 結構類型與函式的參數和返回值
4.6 複雜類型的解讀
4.6.1 變數定義中的複雜類型說明
4.6.2 強制類型轉換中的複雜類型
4.6.3 類型定義(typedef)語句和複雜類型的定義
習題
第5章 程式中的遞歸
5.1 遞歸的定義
5.2 遞歸函式的執行
5.3 遞歸函式的設計
5.4 遞歸的優點和缺點
5.5 遞歸函式的效率
5.6 遞歸函式的使用
5.6.1 適宜使用遞歸的情況
5.6.2 不適宜使用遞歸的情況
5.7 遞歸函式效率的改進
5.7.1 尾遞歸函式的非遞歸化
5.7.2 帶存儲機制的遞歸
5.7.3 一般遞歸函式的非遞歸化
習題
第6章 搜尋
6.1 搜尋的目標和基本過程
6.2 深度優先搜尋
6.2.1 深度優先搜尋的基本算法
6.2.2 回溯搜尋
6.3 廣度優先搜尋
6.4 重複節點的判斷
6.5 帶深度控制的廣度優先搜尋
6.6 節點的編碼和搜尋效率
習題
第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 檔案數據的二進制格式讀寫
7.3.4 讀寫操作中的定位