內容簡介
《C Primer Plus<第5版>》(中文版) 適合希望系統學習C語言的讀者,也適用於精通其他程式語言並希望進一步掌握和鞏固C編程技術的程式設計師。《C Primer Plus<第5版>》(中文版)共17章。第1、2章學習C語言編程所需的預備知識。第3到15章介紹了C語言的相關知識,包括數據類型、格式化輸入輸出、運算符、表達式、流程控制語句、函式、數組和指針、字元串操作、記憶體管理、位操作等等,知識內容都針對C99標準;另外,第10章強化了對指針的討論,第12章引入了動態記憶體分配的概念,這些內容更加適合讀者的需求。第16章和第17章討論了C預處理器和C庫函式、高級數據表示(數據結構)方面的內容。附錄給出了各章後面複習題、編程練習的答案和豐富的C編程參考資料。
作者簡介
Stephen Prata在加利福尼亞州的Kentfield的Marin學院教授天文學、物理學和程式設計課程。他在加州工業學院獲得學士學位,從加州大學伯克利分校獲得博士學位。他最早接觸計算機,始於對星河的計算機建模。Stephen已經編寫或與他人合作編寫了十多本書。其中包括C++Primer Plus和Unix Prinmer Plus.
圖書目錄
第1章 概覽
1.1 C語言的起源
1.2 使用C語言的理由
1.3 C語言的發展方向
1.4 計算機工作的基本原理
1.5 高級計算機語言和編譯器
1.6 使用C語言的7個步驟
1.7 編程機制
1.8 語言標準
1.9 本書的組織結構
1.10 本書體例
1.11 總結
1.12 複習題
1.13 編程練習
第2章 C語言概述
2.1 C語言的一個簡單實例
2.2 實例說明
2.3 一個簡單程式的結構
2.4 使程式可讀的技巧
2.5 更進一步
2.6 多個函式
2.7 調試
2.8 關鍵字和保留標識符
2.9 關鍵概念
2.10 總結
2.11 複習題
2.12 編程練習
第3章 數據和C
3.1 示例程式
3.2 變數與常量數據
3.3 數據:數據類型關鍵字
3.4 C數據類型
3.5 使用數據類型
3.6 參數和易犯的錯誤
3.7 另一個例子:轉義序列
3.8 關鍵概念
3.9 總結
3.10 複習題
3.11 編程練習
第4章 字元串和格式化輸入/輸出
4.1 前導程式
4.2 字元串簡介
4.3 常量和C預處理器
4.4 研究和利用printf()和scanf()
4.5 關鍵概念
4.6 總結
4.7 複習題
4.8 編程練習
第5章 運算符、表達式和語句
5.1 循環簡介
5.2 基本運算符
5.3 其他運算符
5.4 表達式和語句
5.5 類型轉換
5.6 帶有參數的函式
5.7 一個示例程式
5.8 關鍵概念
5.9 總結
5.10 複習題
5.11 編程練習
第6章 C控制語句:循環
6.1 再探while循環
6.2 while語句
6.4 不確定循環與計數循環
6.5 for循環
6.6 更多賦值運算符:+=、-=、*=、/=和%=
6.7 逗號運算符
6.8 退出條件循環:do while
6.9 選擇哪種循環
6.10 嵌套循環
6.11 數組
6.12 使用函式返回值的循環例子
6.13 關鍵概念
6.14 總結
6.15 複習題
6.16 編程練習
第7章 C控制語句:分支和跳轉
7.1 if語句
7.2 在if語句中添加else關鍵字
7.3 獲得邏輯性
7.4 一個統計字數的程式
7.5 條件運算符?:
7.6 循環輔助手段:continue和break
7.7 多重選擇:switch和break
7.8 goto語句
7.9 關鍵概念
7.10 總結
7.11 複習題
7.12 編程練習
第8章 字元輸入/輸出和輸入確認
8.1 單字元I/O:getchar()和putchar()
8.2 緩衝區
8.3 終止鍵盤輸入
8.5 創建一個更友好的用戶界面
8.6 輸入確認
8.7 選單瀏覽
8.8 關鍵概念
8.9 總結
8.10 複習題
8.11 編程練習
第9章 函式
9.1 函式概述
9.2 ANSI C的函式原型
9.3 遞歸
9.4 多原始碼檔案程式的編譯
9.5 地址運算符:&
9.6 改變調用函式中的變數
9.7 指針簡介
9.8 關鍵概念
9.9 總結
9.10 複習題
9.11 編程練習
第10章 數組和指針
10.1 數組
10.2 多維數組
10.3 指針和數組
10.4 函式、數組和指針
10.5 指針操作
10.6 保護數組內容
10.7 指針和多維數組
10.8 變長數組(VLA)
10.9 複合文字
10.10 關鍵概念
10.11 總結
10.12 複習題
10.13 編程練習
第11章 字元串和字元串函式
11.1 字元串表示和字元串I/O
11.2 字元串輸入
11.3 字元串輸出
11.4 自定義字元串輸入/輸出函式
11.5 字元串函式
11.6 字元串例子:字元串排序
11.7 ctype.h字元函式和字元串
11.8 命令行參數
11.9 把字元串轉換為數字
11.10 關鍵概念
11.11 總結
11.12 複習題
11.13 編程練習
第12章 存儲類、連結和記憶體管理
12.1 存儲類
12.2 存儲類說明符
12.3 存儲類和函式
12.4 隨機數函式和靜態變數
12.5 擲骰子
12.6 分配記憶體:malloc()和free()
12.7 ANSI C的類型限定詞
12.8 關鍵概念
12.9 總結
12.10 複習題
12.11 編程練習
第13章 檔案輸入/輸出
13.1 和檔案進行通信
13.2 標準I/O
13.3 一個簡單的檔案壓縮程式
13.4 檔案I/O:fprintf ( )、fscanf ( )、fgets ( )和fputs ( )函式
13.5 隨機存取:fseek()和ftell()函式
13.6 標準I/O內幕
13.7 其他標準I/O函式
13.8 關鍵概念
13.9 總結
13.10 複習題
13.11 編程練習
第14章 結構和其他數據形式
14.1 示例問題:創建圖書目錄
14.2 建立結構聲明
14.3 定義結構變數
14.4 結構數組
14.5 嵌套結構
14.6 指向結構的指針
14.7 向函式傳遞結構信息
14.8 把結構內容保存到檔案中
14.9 結構:下一步是什麼
14.10 聯合簡介
14.11 枚舉類型
14.12 typedef簡介
14.13 奇特的聲明
14.14 函式和指針
14.15 關鍵概念
14.16 總結
14.17 複習題
14.18 編程練習
第15章 位操作
15.1 二進制數、位和位元組
15.2 其他基數
15.3 C的位運算符
15.4 位欄位
15.5 關鍵概念
15.6 總結
15.7 複習題
15.8 編程練習
第16章 C預處理器和C庫
16.1 翻譯程式的第一步
16.2 明顯常量:#define
16.3 在#define中使用參數
16.4 宏,還是函式
16.5 檔案包含:#include
16.6 其他指令
16.7 內聯函式
16.8 C庫
16.9 數學庫
16.10 通用工具庫
16.11 診斷庫
16.12 string.h庫中的memcpy()和memmove()
16.13 可變參數:stdarg.h
16.14 關鍵概念
16.15 總結
16.16 複習題
16.17 編程練習
第17章 高級數據表示
17.1 研究數據表示
17.2 從數組到鍊表
17.3 抽象數據類型(ADT)
17.4 佇列ADT
17.5 用佇列進行模擬
17.6 鍊表與數組
17.7 二叉搜尋樹
17.8 其他說明
17.9 關鍵概念
17.10 總結
17.11 複習題
17.12 編程練習
附錄A 複習題答案
附錄B 參考資料