圖書內容
由譚浩強教授著、清華大學出版社出版的《C程式設計》是一本公認的學習C語言程式設計的經典教材。根據C語言的發展和計算機教學的需要,作者在《C程式設計(第三版)》的基礎上進行了修訂。本書按照C語言的新標準C 99進行介紹,所有程式都符合C 99的規定,使編寫程式更加規範;對C語言和程式設計的基本概念和要點講解透徹,全面而深入;按照作者提出的“提出問題—解決問題—歸納分析”三部曲進行教學、組織教材;本書的每個例題都按以下幾個步驟展開:提出任務—解題思路—編寫程式—運行程式—程式分析—有關說明。符合讀者認知規律,容易入門與提高。
本書內容先進,體系合理,概念清晰,講解詳盡,降低台階,分散難點,例題豐富,深入淺出,文字流暢,通俗易懂,是初學者學習C程式設計的理想教材,可作為高等學校各專業的正式教材,也是一本自學的好教材。本書還配有輔助教材《C程式設計(第四版)學習輔導》。
圖書目錄
第1章 程式設計和C語言
1.1 什麼是電腦程式
1.2 什麼是計算機語言
1.3 C語言的發展及其特點
1.4 最簡單的C語言程式
1.4.1 最簡單的C語言程式舉例
1.4.2 C語言程式的結構
1.5 運行C程式的步驟與方法
1.6 程式設計的任務
習題
第2章 算法——程式的靈魂
2.1 什麼是算法
2.2 簡單的算法舉例
2.3 算法的特性
2.4 怎樣表示一個算法
2.4.1 用自然語言表示算法
2.4.2 用流程圖表示算法
2.4.3 三種基本結構和改進的流程圖
2.4.4 用N?S流程圖表示算法
2.4.5 用偽代碼表示算法
2.4.6 用計算機語言表示算法
2.5 結構化程式設計方法
習題
第3章 最簡單的C程式設計——順序程式設計
3.1 順序程式設計舉例
3.2 數據的表現形式及其運算
3.2.1 常量和變數
3.2.2 數據類型
3.2.3 整型數據
3.2.4 字元型數據
3.2.5 浮點型數據
3.2.6 怎樣確定常量的類型
3.2.7 運算符和表達式
3.3 C語句
3.3.1 C語句的作用和分類
3.3.2 最基本的語句——賦值語句
3.4 數據的輸入輸出
3.4.1 輸入輸出舉例
3.4.2 有關數據輸入輸出的概念
3.4.3 用printf函式輸出數據
3.4.4 用scanf函式輸入數據
3.4.5 字元數據的輸入輸出
習題
第4章 選擇結構程式設計
4.1 選擇結構和條件判斷
4.2 用if語句實現選擇結構
4.2.1 用if語句處理選擇結構舉例
4.2.2 if語句的一般形式
4.3 關係運算符和關係表達式
4.3.1 關係運算符及其優先次序
4.3.2 關係表達式
4.4 邏輯運算符和邏輯表達式
4.4.1 邏輯運算符及其優先次序
4.4.2 邏輯表達式
4.4.3 邏輯型變數
4.5 條件運算符和條件表達式
4.6 選擇結構的嵌套
4.7 用switch語句實現多分支選擇結構
4.8 選擇結構程式綜合舉例
習題
第5章 循環結構程式設計
5.1 為什麼需要循環控制
5.2 用while語句實現循環
5.3 用do…while語句實現循環
5.4 用for語句實現循環
5.5 循環的嵌套
5.6 幾種循環的比較
5.7 改變循環執行的狀態
5.7.1 用break語句提前終止循環
5.7.2 用continue語句提前結束本次循環
5.7.3 break語句和continue語句的區別
5.8 循環程式舉例
習題
第6章 利用數組處理批量數據
6.1 怎樣定義和引用一維數組
6.1.1 怎樣定義一維數組
6.1.2 怎樣引用一維數組元素
6.1.3 一維數組的初始化
6.1.4 一維數組程式舉例
6.2 怎樣定義和引用二維數組
6.2.1 怎樣定義二維數組
6.2.2 怎樣引用二維數組的元素
6.2.3 二維數組的初始化
6.2.4 二維數組程式舉例
6.3 字元數組
6.3.1 怎樣定義字元數組
6.3.2 字元數組的初始化
6.3.3 怎樣引用字元數組中的元素
6.3.4 字元串和字元串結束標誌
6.3.5 字元數組的輸入輸出
6.3.6 使用字元串處理函式
6.3.7 字元數組套用舉例
習題
第7章 用函式實現模組化程式設計
7.1 為什麼要用函式
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.5 函式的嵌套調用
7.6 函式的遞歸調用
7.7 數組作為函式參數
7.7.1 數組元素作函式實參
7.7.2 數組名作函式參數
7.7.3 多維數組名作函式參數
7.8 局部變數和全局變數
7.8.1 局部變數
7.8.2 全局變數
7.9 變數的存儲方式和生存期
7.9.1 動態存儲方式與靜態存儲方式
7.9.2 局部變數的存儲類別
7.9.3 全局變數的存儲類別
7.9.4 存儲類別小結
7.10 關於變數的聲明和定義
7.11 內部函式和外部函式
7.11.1 內部函式
7.11.2 外部函式
習題
第8章 善於利用指針
8.1 指針是什麼
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 通過指針引用字元串
8.4.1 字元串的引用方式
8.4.2 字元指針作函式參數
8.4.3 使用字元指針變數和字元數組的比較
8.5 指向函式的指針
8.5.1 什麼是函式指針
8.5.2 用函式指針變數調用函式
8.5.3 怎樣定義和使用指向函式的指針變數
8.5.4 用指向函式的指針作函式參數
8.6 返回指針值的函式
8.7 指針數組和多重指針
8.7.1 什麼是指針數組
8.7.2 指向指針數據的指針
8.7.3 指針數組作main函式的形參
8.8 動態記憶體分配與指向它的指針變數
8.8.1 什麼是記憶體的動態分配
8.8.2 怎樣建立記憶體的動態分配
8.8.3 void指針類型
8.9 有關指針的小結
習題
第9章 用戶自己建立數據類型
9.1 定義和使用結構體變數
9.1.1 自己建立結構體類型
9.1.2 定義結構體類型變數
9.1.3 結構體變數的初始化和引用
9.2 使用結構體數組
9.2.1 定義結構體數組
9.2.2 結構體數組的套用舉例
9.3 結構體指針
9.3.1 指向結構體變數的指針
9.3.2 指向結構體數組的指針
9.3.3 用結構體變數和結構體變數的指針作函式參數
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.6 使用枚舉類型
9.7 用typedef聲明新類型名
習題
第10章 對檔案的輸入輸出
10.1 C檔案的有關基本知識
10.1.1 什麼是檔案
10.1.2 檔案名稱
10.1.3 檔案的分類
10.1.4 檔案緩衝區
10.1.5 檔案類型指針
10.2 打開與關閉檔案
10.2.1 用fopen函式打開數據檔案
10.2.2 用fclose函式關閉數據檔案
10.3 順序讀寫數據檔案
10.3.1 怎樣向檔案讀寫字元
10.3.2 怎樣向檔案讀寫一個字元串
10.3.3 用格式化的方式讀寫檔案
10.3.4 用二進制方式向檔案讀寫一組數據
10.4 隨機讀寫數據檔案
10.4.1 檔案位置標記及其定位
10.4.2 隨機讀寫
10.5 檔案讀寫的出錯檢測
習題
第11章 常見錯誤分析355附錄
附錄A 在VisualC++6.0環境下運行C程式的方法
附錄B 常用字元與ASCII代碼對照表
附錄C C語言中的關鍵字
附錄D 運算符和結合性
附錄E C語言常用語法提要
附錄F C庫函式
參考文獻