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
Preface
Preface to the first edition
Introduction
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
Appendix A: Reference Manual
Introduction
Lexical Conventions
Syntax Notation
Meaning of Identifiers
Objects and Lvalues
Conversions
Expressions
Declarations
Statements
External Declarations
Scope and Linkage
Preprocessor
Grammar
Appendix B: Standard Library
Input and Output:
File Operations
Formatted Output
Formatted Input
Character Input and Output Functions
Direct Input and Output Functions
File Positioning Functions
Error Functions
Character Class Tests:
String Functions:
Mathematical Functions:
Utility Functions:
Diagnostics:
Variable Argument Lists:
Non-local Jumps:
Signals:
Date and Time Functions:
Implementation-defined Limits: and
Appendix C: Summary of Changes
0