編輯推薦
經久不衰的C語言暢銷經典教程 針對C11標準進行全麵更新 上一版纍計銷量逾22萬冊 C語言領域的作品
本書是一本經過仔細測試、精心設計的完整C語言教程,它涵蓋瞭C語言編程中的核心內容。本書作為計算機科學的經典著作,講解瞭包含結構化代碼和自頂嚮下設計在內的程序設計原則。 與以前的版本一樣,作者的目標仍舊是為讀者提供一本入門型、條理清晰、見解深刻的C語言教程。作者把基礎的編程概念與C語言的細節很好地融閤在一起,並通過大量短小精悍的示例同時演示一兩個概念,通過學以緻用的方式鼓勵讀者掌握新的主題。 每章末尾的復習題和編程練習題進一步強化瞭重要的信息,有助於讀者消化那些難以理解的概念。本書采用瞭友好、易於使用的編排方式,不僅適閤打算認真學習C語言編程的學生閱讀,也適閤那些精通其他編程語言,但希望更好地掌握C語言這門核心語言的開發人員閱讀。 本書在之前版本的基礎之上進行瞭全新升級,它涵蓋瞭C語言新的進展以及C11標準的詳細內容。本書還提供瞭大量深度與廣度齊備的教學技術和工具,來提高你的學習。 本書包含如下內容: 詳細完整地討論瞭C語言的基礎特性和附加特性; 清晰解釋瞭使用C語言不同部分的時機,以及原因; 通過簡潔、簡單的示例加強讀者的動手練習,以幫助一次理解一兩個概念; 囊括瞭數百個實用的代碼示例; 每章末尾的復習題和編程練習可以檢測你的理解情況。 涵蓋瞭C泛型編程,以提供大的靈活性。
內容簡介
《C Primer Plus(第6版)英文版》詳細講解瞭C語言的基本概念和編程技巧。 《C Primer Plus(第6版)英文版》共17章。第1、2章介紹瞭C語言編程的預備知識。第3~15章詳細講解瞭C語言的相關知識,包括數據類型、格式化輸入/輸齣、運算符、錶達式、語句、循環、字符輸入和輸齣、函數、數組和指針、字符和字符串函數、內存管理、文件輸入輸齣、結構、位操作等。第16章、17章介紹C預處理器、C庫和高級數據錶示。本書以完整的程序為例,講解C語言的知識要點和注意事項。每章末設計瞭大量復習題和編程練習,幫助讀者鞏固所學知識和提高實際編程能力。附錄給齣瞭各章復習題的參考答案和豐富的參考資料。 《C Primer Plus(第6版)英文版》可作為C語言的教材,適用於需要係統學習C語言的初學者,也適用於鞏固C語言知識或希望進一步提高編程技術的程序員。
作者簡介
Stephen Prata,在美國加州肯特菲爾得的馬林學院教授天文、物理和計算機科學。他畢業於加州理工學院,在美國加州大學伯剋利分校獲得博士學位。他單獨編寫以及與他人閤作編寫的編程圖書有十多本,其中包括C++Primer Plus和C Primer Plus,而且後者獲得瞭計算機齣版協會1990年度How—to計算機圖書奬。
目錄
1 Getting Ready 1
第1章 初識C語言
Whence C? / C語言的起源 1
Why C? / 選擇C語言的理由 2
Design Features / 設計特性 2
Efficiency / 高效性 3
Portability / 可移植性 3
Power and Flexibility / 強大而靈活 3
Programmer Oriented / 麵嚮程序員 3
Shortcomings / 缺點 4
Whither C? / C語言的應用範圍 4
What Computers Do / 計算機能做什麼 5
High-level Computer Languages and Compilers / 高級計算機語言和編譯器 6
Language Standards / 語言標準 7
The First ANSI/ISO C Standard / 第1個ANSI/ISO C標準 8
The C99 Standard / C99標準 8
The C11 Standard / C11標準 9
Using C: Seven Steps / 使用C語言的幾個步驟 9
Step 1: Define the Program Objectives / 第1步:定義程序的目標 10
Step 2: Design the Program / 第2步:設計程序 10
Step 3: Write the Code / 第3步:編寫代碼 11
Step 4: Compile / 第4步:編譯 11
Step 5: Run the Program / 第5步:運行程序 12
Step 6: Test and Debug the Program / 第6步:測試和調試程序 12
Step 7: Maintain and Modify the Program / 第7步:維護和修改代碼 13
Commentary / 說明 13
Programming Mechanics / 編程機製 13
Object Code Files, Executable Files, and Libraries / 目標代碼文件、可執行文件和庫 14
Unix System / Unix係統 16
The GNU Compiler Collection and the LLVM Project / GNU編譯器集閤和LLVM項目 18
Linux Systems / Linux係統 18
Command-Line Compilers for the PC / PC的命令行編譯器 19
Integrated Development Environments (Windows) / 集成開發環境(Windows) 19
The Windows/Linux Option / Windows/Linux 21
C on the Macintosh / Macintosh中的C 21
How This Book Is Organized / 本書的組織結構 22
Conventions Used in This Book / 本書的約定 22
Typeface / 字體 22
Program Output / 程序輸齣 23
Special Elements / 特殊元素 24
Summary / 本章小結 24
Review Questions / 復習題 25
Programming Exercise / 編程練習 25
2 Introducing C 27
第2章 C語言概述
A Simple Example of C / 簡單的C程序示例 27
The Example Explained / 示例解釋 28
Pass 1: Quick Synopsis / 第1遍:快速概要 30
Pass 2: Program Details / 第2遍:程序細節 31
The Structure of a Simple Program / 簡單程序的結構 40
Tips on Making Your Programs Readable / 提高程序可讀性的技巧 41
Taking Another Step in Using C / 進一步使用C 42
Documentation / 程序說明 43
Multiple Declarations / 多條聲明 43
Multiplication / 乘法 43
Printing Multiple Values / 打印多個值 43
While You’re at It—Multiple Functions / 多個函數 44
Introducing Debugging / 調試程序 46
Syntax Errors / 語法錯誤 46
Semantic Errors / 語義錯誤 47
Program State / 程序狀態 49
Keywords and Reserved Identifiers / 關鍵字和保留標識符 49
Key Concepts / 關鍵概念 50
Summary / 本章小結 51
Review Questions / 復習題 51
Programming Exercises / 編程練習 53
3 Data and C 55
第3章 數據和C
A Sample Program / 示例程序 55
What’s New in This Program? / 程序中的新元素 57
Data Variables and Constants / 變量與常量數據 59
Data: Data-Type Keywords / 數據:數據類型關鍵字 59
Integer Versus Floating-Point Types / 整數和浮點數 60
The Integer / 整數 61
The Floating-Point Number / 浮點數 61
Basic C Data Types / C語言基本數據類型 62
The int Type / int類型 62
Other Integer Types / 其他整數類型 66
Using Characters: Type char / 使用字符:char類型 71
The _Bool Type / _Bool類型 77
Portable Types: stdint.h and inttypes.h / 可移植類型:stdint.h和inttypes.h 77
Types float, double, and long double / float、double和long double 79
Complex and Imaginary Types / 復數和虛數類型 85
Beyond the Basic Types / 其他類型 85
Type Sizes / 類型大小 87
Using Data Types / 使用數據類型 88
Arguments and Pitfalls / 參數和陷阱 89
One More Example: Escape Sequences / 轉義序列示例 91
What Happens When the Program Runs / 程序運行情況 91
Flushing the Output / 刷新輸齣 92
Key Concepts / 關鍵概念 93
Summary / 本章小結 93
Review Questions / 復習題 94
Programming Exercises / 編程練習 97
4 Character Strings and Formatted Input/Output 99
第4章 字符串和格式化輸入/輸齣
Introductory Program / 前導程序 99
Character Strings: An Introduction / 字符串簡介 101
Type char Arrays and the Null Character / char類型數組和null字符 101
Using Strings / 使用字符串 102
The strlen() Function / strlen()函數 103
Constants and the C Preprocessor / 常量和C預處理器 106
The const Modifier / const限定符 109
Manifest Constants on the Job / 明示常量 109
Exploring and Exploiting printf() and scanf() / printf()和scanf() 112
The printf() Function / printf()函數 112
Using printf() / 使用printf() 113
Conversion Specification Modifiers for printf() / printf()的轉換說明修飾符 115
What Does a Conversion Specification Convert? / 轉換說明的意義 122
Using scanf() / 使用scanf() 128
The * Modifier with printf() and scanf() / printf()和scanf()的*修飾符 133
Usage Tips for printf() / printf()的用法提示 135
Key Concepts / 關鍵概念 136
Summary / 本章小結 137
Review Questions / 復習題 138
Programming Exercises / 編程練習 140
5 Operators, Expressions, and Statements 143
第5章 運算符、錶達式和語句
Introducing Loops / 循環簡介 144
Fundamental Operators / 基本運算符 146
Assignment Operator: = / 賦值運算符:= 146
Addition Operator: + / 加法運算符:+ 149
Subtraction Operator: - / 減法運算符:- 149
Sign Operators: - and + / 符號運算符:-和+ 150
Multiplication Operator: * / 乘法運算符:* 151
Division Operator: / / 除法運算符:/ 153
Operator Precedence / 運算符優先級 154
Precedence and the Order of Evaluation / 優先級和求值順序 156
Some Additional Operators / 其他運算符 157
The sizeof Operator and the size_t Type / sizeof運算符和size_t類型 158
Modulus Operator: % / 求模運算符:% 159
Increment and Decrement Operators: ++ and -- / 遞增和遞減運算符:++和-- 160
Decrementing: -- / 遞減運算符:-- 164
Precedence / 優先級 165
Don’t Be Too Clever / 不要自作聰明 166
Expressions and Statements / 錶達式和語句 167
Expressions / 錶達式 167
Statements / 語句 168
Compound Statements (Blocks) / 復閤語句(塊) 171
Type Conversions / 類型轉換 174
The Cast Operator / 強製類型轉換運算符 176
Function with Arguments / 帶參數的函數 177
A Sample Program / 示例程序 180
Key Concepts / 關鍵概念 182
Summary / 本章小結 182
Review Questions / 復習題 183
Programming Exercises / 編程練習 187
6 C Control Statements: Looping 189
第6章 C控製語句:循環
Revisiting the while Loop / 再探while循環 190
Program Comments / 程序注釋 191
C-Style Reading Loop / C風格讀取循環 192
The while Statement / while語句 193
Terminating a while Loop / 終止while循環 194
When a Loop Terminates / 何時終止循環 194
while: An Entry-Condition Loop / while:入口條件循環 195
Syntax Points / 語法要點 195
Which Is Bigger: Using Relational Operators and Expressions / 用關係運算符和錶達式比較大小 197
What Is Truth? / 什麼是真 199
What Else Is True? / 其他真值 200
Troubles with Truth / 真值的問題 201
The New _Bool Type / 新的_Bool類型 203
Precedence of Relational Operators / 優先級和關係運算符 205
Indefinite Loops and Counting Loops / 不確定循環和計數循環 207
The for Loop / for循環 208
Using for for Flexibility / 利用for的靈活性 210
More Assignment Operators: +=, -=, *=, /=, %= / 其他賦值運算符:+=、-=、*=、/=、%= 215
The Comma Operator / 逗號運算符 215
Zeno Meets the for Loop / 當Zeno遇到for循環 218
An Exit-Condition Loop: do while / 齣口條件循環:do while 220
Which Loop? / 如何選擇循環 223
Nested Loops / 嵌套循環 224
Program Discussion / 程序分析 225
A Nested Variation / 嵌套變式 225
Introducing Arrays / 數組簡介 226
Using a for Loop with an Array / 在for循環中使用數組 228
A Loop Example Using a Function Return Value / 使用函數返迴值的循環示例 230
Program Discussion / 程序分析 232
Using Functions with Return Values / 使用帶返迴值的函數 233
Key Concepts / 關鍵概念 234
Summary / 本章小結 235
Review Questions / 復習題 236
Programming Exercises / 編程練習 241
7 C Control Statements: Branching and Jumps 245
第7章 C控製語句:分支和跳轉
The if Statement / if語句 246
Adding else to the if Statement / if else語句 248
Another Example: Introducing getchar() and putchar() / 另一個示例:介紹getchar()和putchar() 250
The ctype.h Family of Character Functions / ctype.h係列的字符函數 252
Multiple Choice else if / 多重選擇else if 254
Pairing else with if / else與if配對 257
More Nested ifs / 多層嵌套的if語句 259
Let’s Get Logical / 邏輯運算符 263
Alternate Spellings: The is
C Primer Plus(第6版 英文版 套裝上下冊) 下載 mobi epub pdf txt 電子書