-
>
決戰行測5000題(言語理解與表達)
-
>
軟件性能測試.分析與調優實踐之路
-
>
第一行代碼Android
-
>
深度學習
-
>
Unreal Engine 4藍圖完全學習教程
-
>
深入理解計算機系統-原書第3版
-
>
Word/Excel PPT 2013辦公應用從入門到精通-(附贈1DVD.含語音視頻教學+辦公模板+PDF電子書)
C Primer Plus 第6版 英文版 上下冊 版權信息
- ISBN:9787115413512
- 條形碼:9787115413512 ; 978-7-115-41351-2
- 裝幀:一般膠版紙
- 冊數:暫無
- 重量:暫無
- 所屬分類:>>
C Primer Plus 第6版 英文版 上下冊 本書特色
適讀人群 :本書適合對C語言感興趣的初學者閱讀;有一定C語言編程經驗的讀者也可以通過本書獲悉C11標準的更新細節。經久不衰的C語言教程 針對C11標準進行更新 C語言領域的作品 本書是一本經過仔細測試、精心設計的完整C語言教程,它涵蓋了C語言編程中的核心內容。本書講解了包含結構化代碼和自頂向下設計在內的程序設計原則。 與以前的版本一樣,作者的目標仍舊是為讀者提供一本入門型、條理清晰、見解深刻的C語言教程。作者把基礎的編程概念與C語言的細節很好地融合在一起,并通過大量短小精悍的示例同時演示一兩個概念,通過學以致用的方式鼓勵讀者掌握新的主題。 每章末尾的復習題和編程練習題進一步強化了重要的信息,有助于讀者消化那些難以理解的概念。本書采用了友好、易于使用的編排方式,不僅適合打算認真學習C語言編程的學生閱讀,也適合那些精通其他編程語言,但希望更好地掌握C語言這門核心語言的開發人員閱讀。 本書在之前版本的基礎之上進行了升級,它涵蓋了C語言新的進展以及C11標準的詳細內容。本書還提供了大量深度與廣度齊備的教學技術和工具,來提高你的學習。 本書包含如下內容: 詳細完整地討論了C語言的基礎特性和附加特性; 清晰解釋了使用C語言不同部分的時機,以及原因; 通過簡潔、簡單的示例加強讀者的動手練習,以幫助一次理解一兩個概念; 囊括了數百個實用的代碼示例; 每章末尾的復習題和編程練習可以檢測你的理解情況。 涵蓋了C泛型編程,以提供大的靈活性。
C Primer Plus 第6版 英文版 上下冊 內容簡介
《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語言知識或希望進一步提高編程技術的程序員。
C Primer Plus 第6版 英文版 上下冊 目錄
第 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 iso646.h Header File 備選拼寫:iso646.h頭文件 265
Precedence 優先級 265
Order of Evaluation 求值順序 266
Ranges 范圍 267
A Word-Count Program 一個統計單詞的程序 268
The Conditional Operator: : 條件運算符: : 271
Loop Aids: continue and break 循環輔助:continue和break 274
The continue Statement continue語句 274
The break Statement break語句 277
Multiple Choice: switch and break 多重選擇:switch和break 280
Using the switch Statement switch語句 281
Reading Only the First Character of a Line 只讀每行的首字符 283
Multiple Labels 多重標簽 284
switch and if else switch和if else 286
The goto Statement goto語句 287
Avoiding goto 避免使用goto 287
Key Concepts 關鍵概念 291
Summary 本章小結 291
Review Questions 復習題 292
Programming Exercises 編程練習 296
8 Character Input Output and Input Validation 299
第8章 字符輸入 輸出和輸入驗證
Single-Character I O: getchar() and putchar()
單字符I O:getchar()和putchar() 300
Buffers 緩沖區 301
Terminating Keyboard Input 結束鍵盤輸入 302
Files, Streams, and Keyboard Input 文件、流和鍵盤輸入 303
The End of File 文件結尾 304
Redirection and Files 重定向和文件 307
Unix, Linux, and Windows Command Prompt Redirection Unix、Linux和DOS重定向 307
Creating a Friendlier User Interface 創建更友好的用戶界面 312
Working with Buffered Input 使用緩沖輸入 312
Mixing Numeric and Character Input 混合數值和字符輸入 314
Input Validation 輸入驗證 317
Analyzing the Program 分析程序 322
The Input Stream and Numbers 輸入流和數字 323
Menu Browsing 菜單瀏覽 324
Tasks 任務 324
Toward a Smoother Execution 使執行更順利 325
Mixing Character and Numeric Input 混合字符和數值輸入 327
Key Concepts 關鍵概念 330
Summary 本章小結 331
Review Questions 復習題 331
Programming Exercises 編程練習 332
9 Functions 335
第9章 函數
Reviewing Functions 復習函數 335
Creating and Using a Simple Function 創建并使用簡單函數 337
Analyzing the Program 分析程序 338
Function Arguments 函數參數 340
Defining a Function with an Argument: Formal Parameters 定義帶形式參數的函數 342
Prototyping a Function with Arguments 聲明帶形式參數函數的原型 343
Calling a Function with an Argument: Actual Arguments 調用帶實際參數的函數 343
The Black-Box Viewpoint 黑盒視角 345
Returning a Value from a Function with return 使用return從函數中返回值 345
Function Types 函數類型 348
ANSI C Function Prototyping ANSI C函數原型 349
The Problem 問題所在 350
The ANSI C Solution ANSI的解決方案 351
No Arguments and Unspecified Arguments 無參數和未指定參數 352
Hooray for Prototypes 函數原型的優點 353
Recursion 遞歸 353
Recursion Revealed 演示遞歸 354
Recursion Fundamentals 遞歸的基本原理 355
Tail Recursion 尾遞歸 356
Recursion and Reversal 遞歸和倒序計算 358
Recursion Pros and Cons 遞歸的優缺點 360
Compiling Programs with Two or More Source Code Files
編譯多源代碼文件的程序 361
Unix Unix 362
Linux Linux 362
DOS Command-Line Compilers DOS命令行編譯器 362
Windows and Apple IDE Compilers Windows和蘋果的IDE編譯器 362
Using Header Files 使用頭文件 363
Finding Addresses: The & Operator 查找地址:&運算符 367
Altering Variables in the Calling Function 更改主調函數中的變量 369
Pointers: A First Look 指針簡介 371
The Indirection Operator: * 間接運算符:* 371
Declaring Pointers 聲明指針 372
Using Pointers to Communicate Between Functions 使用指針在函數間通信 373
Key Concepts 關鍵概念 378
Summary 本章小結 378
Review Questions 復習題 379
Programming Exercises 編程練習 380
10 Arrays and Pointers 383
第 10章 數組和指針
Arrays 數組 383
Initialization 初始化數組 384
Designated Initializers (C99) 指定初始化器(C99) 388
Assigning Array Values 給數組元素賦值 390
Array Bounds 數組邊界 390
Specifying an Array Size 指定數組的大小 392
Multidimensional Arrays 多維數組 393
Initializing a Two-Dimensional Array 初始化二維數組 397
More Dimensions 其他多維數組 398
Pointers and Arrays 指針和數組 398
Functions, Arrays, and Pointers 函數、數組和指針 401
Using Pointer Parameters 使用指針形參 404
Comment: Pointers and Arrays 指針表示法和數組表示法 407
Pointer Operations 指針操作 407
Protecting Array Contents 保護數組中的數據 412
Using const with Formal Parameters 對形式參數使用const 413
More About const const的其他內容 415
Pointers and Multidimensional Arrays 指針和多維數組 417
Pointers to Multidimensional Arrays 指向多維數組的指針 420
Pointer Compatibility 指針的兼容性 421
Functions and Multidimensional Arrays 函數和多維數組 423
Variable-Length Arrays (VLAs) 變長數組(VLA) 427
Compound Literals 復合字面量 431
Key Concepts 關鍵概念 434
Summary 本章小結 435
Review Questions 復習題 436
Programming Exercises 編程練習 439
11 Character Strings and String Functions 441
第 11章 字符串和字符串函數
Representing Strings and String I O 表示字符串和字符串I O 441
Defining Strings Within a Program 在程序中定義字符串 442
Pointers and Strings 指針和字符串 451
String Input 字符串輸入 453
Creating Space 分配空間 453
The Unfortunate gets() Function 不幸的gets()函數 453
The Alternatives to gets() gets()的替代品 455
The scanf() Function scanf()函數 462
String Output 字符串輸出 464
The puts() Function puts()函數 464
The fputs() Function fputs()函數 465
The printf() Function printf()函數 466
The Do-It-Yourself Option 自定義輸入 輸出函數 466
String Functions 字符串函數 469
The strlen() Function strlen()函數 469
The strcat() Function strcat()函數 471
The strncat() Function strncat()函數 473
The strcmp() Function strcmp()函數 475
The strcpy() and strncpy() Functions strcpy()和strncpy()函數 482
The sprintf() Function sprintf()函數 487
Other String Functions 其他字符串函數 489
A String Example: Sorting Strings 字符串示例:字符串排序 491
Sorting Pointers Instead of Strings 排序指針而非字符串 493
The Selection Sort Algorithm 選擇排序算法 494
The ctype.h Character Functions and Strings ctype.h字符函數和字符串 495
Command-Line Arguments 命令行參數 497
Command-Line Arguments in Integrated Environments 集成環境中的命令行參數 500
Command-Line Arguments with the Macintosh Macintosh中的命令行參數 500
String-to-Number Conversions 把字符串轉換為數字 500
Key Concepts 關鍵概念 504
Summary 本章小結 504
Review Questions 復習題 505
Programming Exercises 編程練習 508
12 Storage Classes, Linkage, and Memory Management 511
第 12章 存儲類別、鏈接和內存管理
Storage Classes 存儲類別 511
Scope 作用域 513
Linkage 鏈接 515
Storage Duration 存儲期 516
Automatic Variables 自動變量 518
Register Variables 寄存器變量 522
Static Variables with Block Scope 塊作用域的靜態變量 522
Static Variables with External Linkage 外部鏈接的靜態變量 524
Static Variables with Internal Linkage 內部鏈接的靜態變量 529
Multiple Files 多文件 530
Storage-Class Specifier Roundup 存儲類別說明符 530
Storage Classes and Functions 存儲類別和函數 533
Which Storage Class 存儲類別的選擇 534
A Random-Number Function and a Static Variable 隨機數函數和靜態變量 534
Roll’Em 擲骰子 538
Allocated Memory: malloc() and free() 分配內存:malloc()和free() 543
The Importance of free() free()的重要性 547
The calloc() Function calloc()函數 548
Dynamic Memory Allocation and Variable-Length Arrays 動態內存分配和變長數組 548
Storage Classes and Dynamic Memory Allocation 存儲類別和動態內存分配 549
ANSI C Type Qualifiers ANSI C類型限定符 551
The const Type Qualifier const類型限定符 552
The volatile Type Qualifier volatile類型限定符 554
The restrict Type Qualifier restrict類型限定符 555
The _Atomic Type Qualifier (C11) _Atomic類型限定符(C11) 556
New Places for Old Keywords 舊關鍵字的新位置 557
Key Concepts 關鍵概念 558
Summary 本章小結 558
Review Questions 復習題 559
Programming Exercises 編程練習 561
13 File Input Output 565
第 13章 文件輸入 輸出
Communicating with Files 與文件進行通信 565
What Is a File 文件是什么 566
The Text Mode and the Binary Mode 文本模式和二進制模式 566
Levels of I O I O的級別 568
Standard Files 標準文件 568
Standard I O 標準I O 568
Checking for Command-Line Arguments 檢查命令行參數 569
The fopen() Function fopen()函數 570
The getc() and putc() Functions getc()和putc()函數 572
End-of-File 文件結尾 572
The fclose() Function fclose()函數 574
Pointers to the Standard Files 指向標準文件的指針 574
A Simple-Minded File-Condensing Program 一個簡單的文件壓縮程序 574
File I O: fprintf(), fscanf(), fgets(), and fputs()
文件I O:fprintf()、fscanf()、fgets()和fputs() 576
The fprintf() and fscanf() Functions fprintf()和fscanf()函數 576
The fgets() and fputs() Functions fgets()和fputs()函數 578
Adventures in Random Access: fseek() and ftell()
隨機訪問:fseek()和ftell() 579
How fseek() and ftell() Work fseek()和ftell()的工作原理 580
Binary Versus Text Mode 二進制模式和文本模式 582
Portability 可移植性 582
The fgetpos() and fsetpos() Functions fgetpos()和fsetpos()函數 583
Behind the Scenes with Standard I O 標準I O的機理 583
Other Standard I O Functions 其他標準I O函數 584
The int ungetc(int c, FILE *fp) Function int ungetc(int c, FILE *fp)函數 585
The int fflush() Function int fflush()函數 585
The int setvbuf() Function int setvbuf()函數 585
Binary I O: fread() and fwrite() 二進制I O:fread()和fwrite() 586
The size_t fwrite() Function size_t fwrite()函數 588
The size_t fread() Function size_t fread()函數 588
The int feof(FILE *fp) and int ferror(FILE *fp) Functions
int feof(FILE *fp)和int ferror(FILE *fp)函數 589
An fread() and fwrite() Example 一個程序示例 589
Random Access with Binary I O 用二進制I O進行隨機訪問 593
Key Concepts 關鍵概念 594
Summary 本章小結 595
Review Questions 復習題 596
Programming Exercises 編程練習 598
14 Structures and Other Data Forms 601
第 14章 結構和其他數據形式
Sample Problem: Creating an Inventory of Books 示例問題:創建圖書目錄 601
Setting Up the Structure Declaration 建立結構聲明 604
Defining a Structure Variable 定義結構變量 604
Initializing a Structure 初始化結構 606
Gaining Access to Structure Members 訪問結構成員 607
Initializers for Structures 結構的初始化器 607
Arrays of Structures 結構數組 608
Declaring an Array of Structures 聲明結構數組 611
Identifying Members of an Array of Structures 標識結構數組的成員 612
Program Discussion 程序討論 612
Nested Structures 嵌套結構 613
Pointers to Structures 指向結構的指針 615
Declaring and Initializing a Structure Pointer 聲明和初始化結構指針 617
Member Access by Pointer 用指針訪問成員 617
Telling Functions About Structures 向函數傳遞結構的信息 618
Passing Structure Members 傳遞結構成員 618
Using the Structure Address 傳遞結構的地址 619
Passing a Structure as an Argument 傳遞結構 621
More on Structure Features 其他結構特性 622
Structures or Pointer to Structures 結構和結構指針的選擇 626
Character Arrays or Character Pointers in a Structure
結構中的字符數組和字符指針 627
Structure, Pointers, and malloc() 結構、指針和malloc() 628
Compound Literals and Structures (C99) 復合字面量和結構(C99) 631
Flexible Array Members (C99) 伸縮型數組成員(C99) 633
Anonymous Structures (C11) 匿名結構(C11) 636
Functions Using an Array of Structures 使用結構數組的函數 637
Saving the Structure Contents in a File 把結構內容保存到文件中 639
A Structure-Saving Example 保存結構的程序示例 640
Program Points 程序要點 643
Structures: What Next 鏈式結構 644
Unions: A Quick Look 聯合簡介 645
Using Unions 使用聯合 646
Anonymous Unions (C11) 匿名聯合(C11) 647
Enumerated Types 枚舉類型 649
enum Constants enum常量 649
Default Values 默認值 650
Assigned Values 賦值 650
enum Usage enum的用法 650
Shared Namespaces 共享名稱空間 652
typedef: A Quick Look typedef簡介 653
Fancy Declarations 其他復雜的聲明 655
Functions and Pointers 函數和指針 657
Key Concepts 關鍵概念 665
Summary 本章小結 665
Review Questions 復習題 666
Programming Exercises 編程練習 669
15 Bit Fiddling 673
第 15章 位操作
Binary Numbers, Bits, and Bytes 二進制數、位和字節 674
Binary Integers 二進制整數 674
Signed Integers 有符號整數 675
Binary Floating Point 二進制浮點數 676
Other Number Bases 其他進制數 676
Octal 八進制 677
Hexadecimal 十六進制 677
C’s Bitwise Operators C按位運算符 678
Bitwise Logical Operators 按位邏輯運算符 678
Usage: Masks 用法:掩碼 680
Usage: Turning Bits On (Setting Bits) 用法:打開位(設置位) 681
Usage: Turning Bits Off (Clearing Bits) 用法:關閉位(清空位) 682
Usage: Toggling Bits 用法:切換位 683
Usage: Checking the Value of a Bit 用法:檢查位的值 683
Bitwise Shift Operators 移位運算符 684
Programming Example 編程示例 685
Another Example 另一個例子 688
Bit Fields 位字段 690
Bit-Field Example 位字段示例 692
Bit Fields and Bitwise Operators 位字段和按位運算符 696
Alignment Features (C11) 對齊特性(C11) 703
Key Concepts 關鍵概念 705
Summary 本章小結 706
Review Questions 復習題 706
Programming Exercises 編程練習 708
16 The C Preprocessor and the C Library 711
第 16章 C預處理器和C庫
First Steps in Translating a Program 翻譯程序的第 一步 712
Manifest Constants: #define 明示常量:#define 713
Tokens 記號 717
Redefining Constants 重定義常量 717
Using Arguments with #define 在#define中使用參數 718
Creating Strings from Macro Arguments: The # Operator
用宏參數創建字符串:#運算符 721
Preprocessor Glue: The ## Operator 預處理器粘合劑:##運算符 722
Variadic Macros: ... and _ _VA_ARGS_ _ 變參宏:...和_ _VA_ARGS_ _ 723
Macro or Function 宏和函數的選擇 725
File Inclusion: #include 文件包含:#include 726
Header Files: An Example 頭文件示例 727
Uses for Header Files 使用頭文件 729
Other Directives 其他指令 730
The #undef Directive #undef指令 731
Being Defined—The C Preprocessor Perspective 從C預處理器角度看已定義 731
Conditional Compilation 條件編譯 731
Predefined Macros 預定義宏 737
#line and #error #line和#error 738
#pragma #pragma 739
Generic Selection (C11) 泛型選擇(C11) 740
Inline Functions (C99) 內聯函數(C99) 741
_Noreturn Functions (C11) _Noreturn函數(C11) 744
The C Library C庫 744
Gaining Access to the C Library 訪問C庫 745
Using the Library Descriptions 使用庫描述 746
The Math Library 數學庫 747
A Little Trigonometry 三角問題 748
Type Variants 類型變體 750
The tgmath.h Library (C99) tgmath.h庫(C99) 752
The General Utilities Library 通用工具庫 753
The exit() and atexit() Functions exit()和atexit()函數 753
The qsort() Function qsort()函數 755
The Assert Library 斷言庫 760
Using assert assert的用法 760
_Static_assert (C11) _Static_assert(C11) 762
memcpy() and memmove() from the string.h Library
string.h庫中的memcpy()和memmove() 763
Variable Arguments: stdarg.h 可變參數:stdarg.h 765
Key Concepts 關鍵概念 768
Summary 本章小結 768
Review Questions 復習題 768
Programming Exercises 編程練習 770
17 Advanced Data Representation 773
第 17章 高 級數據表示
Exploring Data Representation 研究數據表示 774
Beyond the Array to the Linked List 從數組到鏈表 777
Using a Linked List 使用鏈表 781
Afterthoughts 反思 786
Abstract Data Types (ADTs) 抽象數據類型(ADT) 786
Getting Abstract 建立抽象 788
Building an Interface 建立接口 789
Using the Interface 使用接口 793
Implementing the Interface 實現接口 796
Getting Queued with an ADT 隊列ADT 804
Defining the Queue Abstract Data Type 定義隊列抽象數據類型 804
Defining an Interface 定義一個接口 805
Implementing the Interface Data Representation 實現接口數據表示 806
Testing the Queue 測試隊列 815
Simulating with a Queue 用隊列進行模擬 818
The Linked List Versus the Array 鏈表和數組 824
Binary Search Trees 二叉查找樹 828
A Binary Tree ADT 二叉樹ADT 829
The Binary Search Tree Interface 二叉查找樹接口 830
The Binary Tree Implementation 二叉樹的實現 833
Trying the Tree 使用二叉樹 849
Tree Thoughts 樹的思想 854
Other Directions 其他說明 856
Key Concepts 關鍵概念 856
Summary 本章小結 857
Review Questions 復習題 857
Programming Exercises 編程練習 858
A Answers to the Review Questions 861
附錄A 復習題答案
Answers to Review Questions for Chapter 1 第 1章復習題答案 861
Answers to Review Questions for Chapter 2 第 2章復習題答案 862
Answers to Review Questions for Chapter 3 第3章復習題答案 863
Answers to Review Questions for Chapter 4 第4章復習題答案 866
Answers to Review Questions for Chapter 5 第5章復習題答案 869
Answers to Review Questions for Chapter 6 第6章復習題答案 872
Answers to Review Questions for Chapter 7 第7章復習題答案 876
Answers to Review Questions for Chapter 8 第8章復習題答案 879
Answers to Review Questions for Chapter 9 第9章復習題答案 881
Answers to Review Questions for Chapter 10 第 10章復習題答案 883
Answers to Review Questions for Chapter 11 第 11章復習題答案 886
Answers to Review Questions for Chapter 12 第 12章復習題答案 890
Answers to Review Questions for Chapter 13 第 13章復習題答案 891
Answers to Review Questions for Chapter 14 第 14章復習題答案 894
Answers to Review Questions for Chapter 15 第 15章復習題答案 898
Answers to Review Questions for Chapter 16 第 16章復習題答案 899
Answers to Review Questions for Chapter 17 第 17章復習題答案 901
B Reference Section 905
附錄B 參考資料
Section Ⅰ: Additional Reading 參考資料Ⅰ:補充閱讀 905
Online Resources 在線資源 905
C Language Books C語言書籍 907
Programming Books 編程書籍 907
Reference Books 參考書籍 908
C++ Books C++書籍 908
Section Ⅱ: C Operators 參考資料Ⅱ:C運算符 908
Arithmetic Operators 算術運算符 909
Relational Operators 關系運算符 910
Assignment Operators 賦值運算符 910
Logical Operators 邏輯運算符 911
The Conditional Operator 條件運算符 911
Pointer-Related Operators 與指針有關的運算符 912
Sign Operators 符號運算符 912
Structure and Union Operators 結構和聯合運算符 912
Bitwise Operators 按位運算符 913
Miscellaneous Operators 混合運算符 914
Section Ⅲ: Basic Types and Storage Classes
參考資料Ⅲ:基本類型和存儲類別 915
Summary: The Basic Data Types 總結:基本數據類型 915
Summary: How to Declare a Simple Variable 總結:如何聲明一個簡單變量 917
Summary: Qualifiers 總結:限定符 919
Section Ⅳ: Expressions, Statements, and Program Flow
參考資料Ⅳ:表達式、語句和程序流 920
Summary: Expressions and Statements 總結:表達式和語句 920
Summary: The while Statement 總結:while語句 921
Summary: The for Statement 總結:for語句 921
Summary: The do while Statement 總結:do while語句 922
Summary: Using if Statements for Making Choices 總結:if語句 923
Summary: Multiple Choice with switch 帶多重選擇的switch語句 924
Summary: Program Jumps 總結:程序跳轉 925
Section Ⅴ: The Standard ANSI C Library with C99 and C11 Additions
參考資料Ⅴ:新增C99和C11的ANSI C庫 926
Diagnostics: assert.h 斷言:assert.h 926
Complex Numbers: complex.h (C99) 復數:complex.h(C99) 927
Character Handling: ctype.h 字符處理:ctype.h 929
Error Reporting: errno.h 錯誤報告:errno.h 930
Floating-Point Environment: fenv.h (C99) 浮點環境:fenv.h(C99) 930
Floating-point Characteristics: float.h 浮點特性:float.h 933
Format Conversion of Integer Types: inttypes.h (C99) 整數類型的格式轉換:inttypes.h 935
Alternative Spellings: iso646.h 可選拼寫:iso646.h 936
Localization: locale.h 本地化:locale.h 936
Math Library: math.h 數學庫:math.h 939
Non-Local Jumps: setjmp.h 非本地跳轉:setjmp.h 945
Signal Handling: signal.h 信號處理:signal.h 945
Alignment: stdalign.h (C11) 對齊:stdalign.h(C11) 946
Variable Arguments: stdarg.h 可變參數:stdarg.h 947
Atomics Support: stdatomic.h (C11) 原子支持:stdatomic.h(C11) 948
Boolean Support: stdbool.h (C99) 布爾支持:stdbool.h(C99) 948
Common Definitions: stddef.h 通用定義:stddef.h 948
Integer Types: stdint.h 整數類型:stdint.h 949
Standard I O Library: stdio.h 標準I O庫:stdio.h 953
General Utilities: stdlib.h 通用工具:stdlib.h 956
_Noreturn: stdnoreturn.h _Noreturn:stdnoreturn.h 962
String Handling: string.h 處理字符串:string.h 962
Type-Generic Math: tgmath.h (C99) 通用類型數學:tgmath.h(C99) 965
Threads: threads.h (C11) 線程:threads.h(C11) 967
Date and Time: time.h 日期和時間:time.h 967
Unicode Utilities: uchar.h (C11) 統一碼工具:uchar.h(C11) 971
Extended Multibyte and Wide-Character Utilities: wchar.h (C99)
擴展的多字節字符和寬字符工具:wchar.h(C99) 972
Wide Character Classification and Mapping Utilities: wctype.h (C99)
寬字符分類和映射工具:wctype.h(C99) 978
Section Ⅵ: Extended Integer Types 參考資料Ⅵ:擴展的整數類型 980
Exact-Width Types 精 確寬度類型 981
Minimum-Width Types **小寬度類型 982
Fastest Minimum-Width Types **快**小寬度類型 983
Maximum-Width Types **大寬度類型 983
Integers That Can Hold Pointer Values 可儲存指針值的整型 984
Extended Integer Constants 擴展的整型常量 984
Section Ⅶ: Expanded Character Support 參考資料Ⅶ:擴展字符支持 984
Trigraph Sequences 三字符序列 984
Digraphs 雙字符 985
Alternative Spellings: iso646.h 可選拼寫:iso646.h 986
Multibyte Characters 多字節字符 986
Universal Character Names (UCNs) 通用字符名(UCN) 987
Wide Characters 寬字符 988
Wide Characters and Multibyte Characters 寬字符和多字節字符 989
Section Ⅷ: C99 C11 Numeric Computational Enhancements
參考資料Ⅷ:C99 C11數值計算增強 990
The IEC Floating-Point Standard IEC浮點標準 990
The fenv.h Header File fenv.h頭文件 994
The STDC FP_CONTRACT Pragma STDC FP_CONTRACT編譯指示 995
Additions to the math.h Library math.h庫增補 995
Support for Complex Numbers 對復數的支持 996
Section Ⅸ: Differences Between C and C++ 參考資料Ⅸ:C和C++的區別 998
Function Prototypes 函數原型 999
char Constants char常量 1000
The const Modifier const限定符 1000
Structures and Unions 結構和聯合 1001
Enumerations 枚舉 1002
Pointer-to-void 指向void的指針 1002
Boolean Types 布爾類型 1003
Alternative Spellings 可選拼寫 1003
Wide-Character Support 寬字符支持 1003
Complex Types 復數類型 1003
Inline Functions 內聯函數 1003
C99 11 Features Not Found in C++11 C++11中沒有的C99 C11特性 1004
C Primer Plus 第6版 英文版 上下冊 作者簡介
Stephen Prata在美國加州肯特菲爾得的馬林學院教授天文、物理和計算機科學。他畢業于加州理工學院,在美國加州大學伯克利分校獲得博士學位。他單獨編寫以及與他人合作編寫的編程圖書有十多本,其中包括C++Primer Plus和C Primer Plus,而且后者獲得了計算機出版協會1990年度How—to計算機圖書獎。
- >
羅庸西南聯大授課錄
- >
名家帶你讀魯迅:朝花夕拾
- >
有舍有得是人生
- >
人文閱讀與收藏·良友文學叢書:一天的工作
- >
上帝之肋:男人的真實旅程
- >
我從未如此眷戀人間
- >
龍榆生:詞曲概論/大家小書
- >
【精裝繪本】畫給孩子的中國神話