Preface (6)
Preface to the first edition (8)
Chapter 1 - A Tutorial Introduction (9)
1.1 Getting Started (9)
1.2 Variables and Arithmetic Expressions (11)
1.3 The for statement (16)
1.4 Symbolic Constants (17)
1.5 Character Input and Output (18)
1.5.1 File Copying (18)
1.5.2 Character Counting (20)
1.5.3 Line Counting (21)
1.5.4 Word Counting (22)
1.6 Arrays (23)
1.7 Functions (25)
1.8 Arguments - Call by Value (28)
1.9 Character Arrays (29)
1.10 External Variables and Scope (31)
Chapter 2 - Types, Operators and Expressions (35)
2.1 Variable Names (35)
2.2 Data Types and Sizes (35)
2.3 Constants (36)
2.4 Declarations (39)
2.5 Arithmetic Operators (40)
2.6 Relational and Logical Operators (40)
2.7 Type Conversions (41)
2.8 Increment and Decrement Operators (44)
2.9 Bitwise Operators (46)
2.10 Assignment Operators and Expressions (47)
2.11 Conditional Expressions (49)
2.12 Precedence and Order of Evaluation (49)
Chapter 3 - Control Flow (52)
3.1 Statements and Blocks (52)
3.2 If-Else (52)
3.3 Else-If (53)
3.4 Switch (54)
3.5 Loops - While and For (56)
3.6 Loops - Do-While (58)
3.7 Break and Continue (59)
3.8 Goto and labels (60)
Chapter 4 - Functions and Program Structure (62)
4.1 Basics of Functions (62)
4.2 Functions Returning Non-integers (65)
4.3 External Variables (67)
4.4 Scope Rules (72)
4.5 Header Files (73)
4.6 Static Variables (75)
4.7 Register Variables (75)
4.8 Block Structure (76)
4.9 Initialization (76)
4.10 Recursion (78)
4.11.3 Conditional Inclusion (82)
Chapter 5 - Pointers and Arrays (83)
5.1 Pointers and Addresses (83)
5.2 Pointers and Function Arguments (84)
5.3 Pointers and Arrays (87)
5.4 Address Arithmetic (90)
5.5 Character Pointers and Functions (93)
5.6 Pointer Arrays; Pointers to Pointers (96)
5.7 Multi-dimensional Arrays (99)
5.8 Initialization of Pointer Arrays (101)
5.9 Pointers vs. Multi-dimensional Arrays (101)
5.10 Command-line Arguments (102)
5.11 Pointers to Functions (106)
5.12 Complicated Declarations (108)
Chapter 6 - Structures (114)
6.1 Basics of Structures (114)
6.2 Structures and Functions (116)
6.3 Arrays of Structures (118)
6.4 Pointers to Structures (122)
6.5 Self-referential Structures (124)
6.6 Table Lookup (127)
6.7 Typedef (129)
6.8 Unions (131)
6.9 Bit-fields (132)
Chapter 7 - Input and Output (135)
7.1 Standard Input and Output (135)
7.2 Formatted Output - printf (137)
7.3 Variable-length Argument Lists (138)
7.4 Formatted Input - Scanf (140)
7.5 File Access (142)
7.6 Error Handling - Stderr and Exit (145)
7.7 Line Input and Output (146)
7.8 Miscellaneous Functions (147)
7.8.1 String Operations (147)
7.8.2 Character Class Testing and Conversion (148)
7.8.3 Ungetc (148)
7.8.4 Command Execution (148)
7.8.5 Storage Management (148)
7.8.6 Mathematical Functions (149)
7.8.7 Random Number generation (149)
Chapter 8 - The UNIX System Interface (151)
8.1 File Descriptors (151)
8.2 Low Level I/O - Read and Write (152)
8.3 Open, Creat, Close, Unlink (153)
8.4 Random Access - Lseek (155)
8.5 Example - An implementation of Fopen and Getc (156)
8.6 Example - Listing Directories (159)
8.7 Example - A Storage Allocator (163)
Appendix A - Reference Manual (168)
A.2.2 Comments (168)
A.2.3 Identifiers (168)
A.2.4 Keywords (169)
A.2.5 Constants (169)
A.2.6 String Literals (171)
A.3 Syntax Notation (171)
A.4 Meaning of Identifiers (171)
A.4.1 Storage Class (171)
A.4.2 Basic Types (172)
A.4.3 Derived types (173)
A.4.4 Type Qualifiers (173)
A.5 Objects and Lvalues (173)
A.6 Conversions (173)
A.6.1 Integral Promotion (174)
A.6.2 Integral Conversions (174)
A.6.3 Integer and Floating (174)
A.6.4 Floating Types (174)
A.6.5 Arithmetic Conversions (174)
A.6.6 Pointers and Integers (175)
A.6.7 Void (176)
A.6.8 Pointers to Void (176)
A.7 Expressions (176)
A.7.1 Pointer Conversion (177)
A.7.2 Primary Expressions (177)
A.7.3 Postfix Expressions (177)
A.7.4 Unary Operators (179)
A.7.5 Casts (181)
A.7.6 Multiplicative Operators (181)
A.7.7 Additive Operators (182)
A.7.8 Shift Operators (182)
A.7.9 Relational Operators (183)
A.7.10 Equality Operators (183)
A.7.11 Bitwise AND Operator (183)
A.7.12 Bitwise Exclusive OR Operator (184)
A.7.13 Bitwise Inclusive OR Operator (184)
A.7.14 Logical AND Operator (184)
A.7.15 Logical OR Operator (184)
A.7.16 Conditional Operator (184)
A.7.17 Assignment Expressions (185)
A.7.18 Comma Operator (185)
A.7.19 Constant Expressions (186)
A.8 Declarations (186)
A.8.1 Storage Class Specifiers (187)
A.8.2 Type Specifiers (188)
A.8.3 Structure and Union Declarations (188)
A.8.4 Enumerations (191)
A.8.5 Declarators (192)c程序设计语言第几版最好
A.8.6 Meaning of Declarators (193)
A.8.7 Initialization (196)
A.9 Statements (199)
A.9.1 Labeled Statements (200)
A.9.2 Expression Statement (200)
A.9.3 Compound Statement (200)
A.9.4 Selection Statements (201)
A.9.5 Iteration Statements (201)
A.9.6 Jump statements (202)
A.10 External Declarations (203)
A.10.1 Function Definitions (203)
A.10.2 External Declarations (204)
A.11 Scope and Linkage (205)
A.11.1 Lexical Scope (205)
A.11.2 Linkage (206)
A.12 Preprocessing (206)
A.12.1 Trigraph Sequences (207)
A.12.2 Line Splicing (207)
A.12.3 Macro Definition and Expansion (207)
A.12.4 File Inclusion (209)
A.12.5 Conditional Compilation (210)
A.12.6 Line Control (211)
A.12.7 Error Generation (211)
A.12.8 Pragmas (212)
A.12.9 Null directive (212)
A.12.10 Predefined names (212)
A.13 Grammar (212)
Appendix B - Standard Library (220)
B.1 Input and Output: <stdio.h> (220)
B.1.1 File Operations (220)
B.1.2 Formatted Output (222)
B.1.3 Formatted Input (223)
B.1.4 Character Input and Output Functions (225)
B.1.5 Direct Input and Output Functions (225)
B.1.6 File Positioning Functions (226)
B.1.7 Error Functions (226)
B.2 Character Class Tests: <ctype.h> (226)
B.3 String Functions: <string.h> (227)
B.4 Mathematical Functions: <math.h> (228)
B.5 Utility Functions: <stdlib.h> (229)
B.6 Diagnostics: <assert.h> (231)
B.7 Variable Argument Lists: <stdarg.h> (231)
B.8 Non-local Jumps: <setjmp.h> (232)
B.9 Signals: <signal.h> (232)
B.10 Date and Time Functions: <time.h> (233)
B.11 Implementation-defined Limits: <limits.h> and <float.h> (234)
Appendix C - Summary of Changes (236)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论