Preface</font><br></font><br>Preface to the First Edition</font><br></font><br>Introduction</font><br></font><br>Chapter1. A Tutorial Introduction</font><br></font><br>1.1 Getting Stared</font><br>1.2 Variables and Arithmetic Expressions</font><br>1.3 The For Statement</font><br>1.4 Symbolic Constants</font><br>1.5 Character Input and Output</font><br>1.6 Arrays</font><br>1.7 Functions</font><br>1.8 Arguments-Call by Value</font><br>1.9 Character Arrays</font><br>1.10 External Variables and Scope</font><br></font><br>Chapter2. Types ,Operators,and Expressions</font><br></font><br>2.1 Variable Names</font><br>2.2 Data Types and Sizes</font><br>2.3 Constants</font><br>2.4 Declarations</font><br>2.5 Arithmetic Operators</font><br>2.6 Relational and Logical Operators</font><br>2.7 Type Conversions</font><br>2.8 Increment and Decrement Operators</font><br>2.9 Bitwise Operators</font><br>2.10 Assignment Operators and Expressions</font><br>2.11 Conditional Expressions</font><br>2.12 Precedence and Order of Evaluation</font><br></font><br>Chapter3. Control Flow</font><br></font><br>3.1 Statements and Blocks</font><br>3.2 If-Else</font><br>3.3 Else-If</font><br>3.4 Switch</font><br>3.5 Loops-While and For</font><br>3.6 Loops-Do-while</font><br>3.7 Break and Continue</font><br>3.8 Goto and Labels</font><br></font><br>Chapter4. Functions and Program Structure</font><br></font><br>4.1 Basics of Functions</font><br>4.2 Functions Returning Non-integers</font><br>4.3 External Variables</font><br>4.4 Scope Rules</font><br>4.5 Header Files</font><br>4.6 Static Variables</font><br>4.7 Register Variables</font><br>4.8 Block Structure</font><br>4.9 Initialization</font><br>4.10 Recursion</font><br>4.11 The C Preprocessor</font><br></font><br>Chapter5. Pointers and Arrays</font><br></font><br>5.1 Pointers and Addresses</font><br>5.2 Pointers and Function Arguments</font><br>5.3 Pointers and Arrays</font><br>5.4 Address Arithmetic</font><br>5.5 Character Pointers and Functions</font><br>5.6 Pointer Arrays;Pointers to Pointers</font><br>5.7 Multi-dimensional Arrays</font><br>5.8 Initialization of Pointer Arrays</font><br>5.9 Pointers Vs,Multi-dimensional Arrays</font><br>5.10 Command-line Arguments</font><br>5.11 Pointers to Functions</font><br>5.12 Complicated Declarations</font><br></font><br>Chapter6. Structures</font><br></font><br>6.1 Basics of Structures</font><br>6.2 Structures and Functions</font><br>6.3 Arrays of Structures</font><br>6.4 Pointers to Structures</font><br>6.5 Self -referential Structures</font><br>6.6 Table Lookup</font><br>6.7 Typedef</font><br>6.8 Unions</font><br>6.9 Bit-fields</font><br></font><br>Chapter7. Input and Output</font><br></font><br>7.1 Standard Input and Output</font><br>7.2 Formatted Output-Printf</font><br>7.3 Variable-length Argument Lists</font><br>7.4 Formatted Input-Scanf</font><br>7.5 File Access</font><br>7.6 Error Handling-Stderr and Exit</font><br>7.7 Line Input and Output</font><br>7.8 Miscellaneous Functions</font><br></font><br>Chapter8. The UNIX System Interface</font><br></font><br>8.1 File Descriptors</font><br>8.2 Low Level I/O-Read and Write</font><br>8.3 Open ,Creat,Close,Unlink</font><br>8.4 Random Access-Lseek</font><br>8.5 Example-An Implementation of Fopen and Getc</font><br>8.6 Example-Listing Directories</font><br>8.7 Example-A Storage Allocator</font><br></font><br>Appendix A. Reference Manual</font><br></font><br>A1 Introduction</font><br>A2 Lexical Conventions</font><br>A3 Syntax Notation</font><br>A4 Meaning of Identifiers</font><br>A5 Objects and Lvalues</font><br>A6 Conversions</font><br>A7 Expressions</font><br>A8 Declarations</font><br>A9 Statements</font><br>A10 External Declarations</font><br>A11 Scope and Linkage</font><br>A12 Preprocessing</font><br>A13 Grammar</font><br></font><br>Appendix B Standard Library</font><br></font><br>B1 Input and Output:<stdio.h></font><br>B2 Character Class Tests:<ctype.h></font><br>B3 String Functions:<string.h></font><br>B4 Mathematical Functions:<math.h></font><br>B5 Utility Functions:<stdlib.h></font><br>B6 Diagnostics:<assert.h></font><br>B7 Variable Argument Lists:<stdarg.h></font><br>B8 Non-local Jumps:<setjmp.h></font><br>B9 Signals:<signal.h></font><br>B10 Date and Time Functions:<time.h></font><br>B11 Implementation-defined Limits:<limits.h>and<float.h></font><br></font><br>Appendix C.Summary of changes</font><br></font><br>Index