The C programming Language
By Brian W. Kernighan and Dennis M. Ritchie.
Published by Prentice-Hall in 1988
ISBN 0-13-110362-8 (paperback)
ISBN 0-13-110370-9
Contents
- Chapter 1: A Tutorial Introduction
- Getting Started
- Variables and Arithmetic Expressions
- The for statement
- Symbolic Constants
- Character Input and Output
- File Copying
- Character Counting
- Line Counting
- Word Counting
- Arrays
- Functions
- Arguments - Call by Value
- Character Arrays
- External Variables and Scope
- Chapter 2: Types, Operators and Expressions
- Variable Names
- Data Types and Sizes
- Constants
- Declarations
- Arithmetic Operators
- Relational and Logical Operators
- Type Conversions
- Increment and Decrement Operators
- Bitwise Operators
- Assignment Operators and Expressions
- Conditional Expressions
- Precedence and Order of Evaluation
- Chapter 3: Control Flow
- Statements and Blocks
- If-Else
- Else-If
- Switch
- Loops - While and For
- Loops - Do-While
- Break and Continue
- Goto and labels
- Chapter 4: Functions and Program Structure
- Basics of Functions
- Functions Returning Non-integers
- External Variables
- Scope Rules
- Header Files
- Static Variables
- Register Variables
- Block Structure
- Initialization
- Recursion
- The C Preprocessor
- File Inclusion
- Macro Substitution
- Conditional Inclusion
- Chapter 5: Pointers and Arrays
- Pointers and Addresses
- Pointers and Function Arguments
- Pointers and Arrays
- Address Arithmetic
- Character Pointers and Functions
- Pointer Arrays; Pointers to Pointers
- Multi-dimensional Arrays
- Initialization of Pointer Arrays
- Pointers vs. Multi-dimensional Arrays
- Command-line Arguments
- Pointers to Functions
- Complicated Declarations
- Chapter 6: Structures
- Basics of Structures
- Structures and Functions
- Arrays of Structures
- Pointers to Structures
- Self-referential Structures
- Table Lookup
- Typedef
- Unions
- Bit-fields
- Chapter 7: Input and Output
- Standard Input and Output
- Formatted Output - printf
- Variable-length Argument Lists
- Formatted Input - Scanf
- File Access
- Error Handling - Stderr and Exit
- Line Input and Output
- Miscellaneous Functions
- String Operations
- Character Class Testing and Conversion
- Ungetc
- Command Execution
- Storage Management
- Mathematical Functions
- Random Number generation
- Chapter 8: The UNIX System Interface
- File Descriptors
- Low Level I/O - Read and Write
- Open, Creat, Close, Unlink
- Random Access - Lseek
- Example - An implementation of Fopen and Getc
- Example - Listing Directories
- Example - A Storage Allocator