C Programming Language

1 - A Tutorial Introduction

Getting Started
Variables and Arithmetic Expressions
The for statement
Symbolic Constants
Character Input and Output
Character Counting
Line Counting
Word Counting
Arrays
Functions
Arguments - Call by Value
Character Arrays
External Variables and Scope

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

3 - Control Flow

Statements and Blocks
If-Else
Else-If
Switch
Loops - While and For
Loops - Do-While
Break and Continue
Goto and labels

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

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

6 - Structures

Basics of Structures
Structures and Functions
Arrays of Structures
Pointers to Structures
Self-referential Structures
Table Lookup
Typedef
Unions
Bit-fields

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

8 - Miscellaneous Functions

String Operations
Character Class Testing and Conversion
Ungetc
Command Execution
Storage Management
Mathematical Functions
Random Number generation