內容簡介
本書適合希望系統學習C語言的讀者,也適用於精通其他程式語言並希望進一步掌握和鞏固C編程技術的程式設計師。
編輯推薦
作為核心計算機技術成熟,完整的參考書籍,Primer Plus系列歷經十數年不衰,因為它能夠滿足那些渴望通過全面理解相關技術繼續深造的程式設計師和開發者的需要。通過學習《C Primer Plus(第五版)中文版》,你將奠定堅實的C編程基礎。
與以前的版本一樣,作者的目標仍舊是為讀者提供一本入門性、條理清晰、見解深刻的C語言教程。作者把編程概念和C語言的細節很好地融合在一起。通過大量短小精焊的範例演示一兩個概念,為讀者提供了很好的練習機會,有助於讀者迅速掌握所講的知識。每章都提供了複習題和編程練習,進一步強調了重要的信息,有助於讀者消化那些難於理解的概念。本書不僅適用於希望系統學習C語言編程的學生,也適用於那些精通其他高級語言編程,但渴望更好地掌握C語言這門核心語言的開發人員。
《C Primer Plus(第五版)中文版》專門針對C語言的最新標準C99而作,它覆蓋了這個新標準所引入的所有重要的新特性,並對讀者關注的以下幾個主題提供了詳盡的信息。
擴展的整數類型。
擴展的字元支持。
布爾類型的支持。
變長數組。
複合文字。
指定初始化項目。
擴展的計算支持。
內聯函式。
目錄
第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 參考資料
作者簡介
Stephen Prata在加利福尼亞州的Kentfield的Marin學院教授天文學、物理學和程式設計課程。他在加州工業學院獲得學士學位,從加州大學伯克利分校獲得博士學位。他最早接觸計算機,始於對星河的計算機建模。Stephen已經編寫或與他人合作編寫了十多本書。其中包括C++Primer Plus和Unix Prinmer Plus.