/C

The C Programming Language, Second Edition. By Brian W. Kernighan and Dennis M. Ritchie.

Primary LanguageTeX

The C Programming Language

Second Edition

Brian W. Kernighan and Dennis M. Ritchie

CONTENTS

Chapter 1 -- a tutorial introduction

  • 1.1 getting started
  • 1.2 variables and arithmetic expressions
  • 1.3 the for statement
  • 1.4 symbolic constants
  • 1.5 character input and output
  • 1.6 arrays
  • 1.7 functions
  • 1.8 arguments - call by value
  • 1.9 character arrays
  • 1.10 external variables and scope

Chapter 2 -- types, operators and expressions

  • 2.1 variable
  • 2.2 data types and sizes
  • 2.3 constants
  • 2.4 declarations
  • 2.5 arithmetic operators
  • 2.6 ralational and logical operators
  • 2.7 type conversions
  • 2.8 increment and decrement
  • 2.9 bitwise operators
  • 2.10 assignment operators
  • 2.11 conditional expressions
  • 2.12 precedence and order of evaluation

Chapter 3 -- control flow

  • 3.1 statements and blocks
  • 3.2 if-else
  • 3.3 else-if
  • 3.4 switch
  • 3.5 loops - while and for
  • 3.6 loops - do-while
  • 3.7 break and continue
  • 3.8 goto and labels

Chapter 4 -- functions and program structure

  • 4.1 basics of functions
  • 4.2 functions returning non-integers
  • 4.3 external variables
  • 4.4 scope rules
  • 4.5 header files
  • 4.6 static variables
  • 4.7 register variables
  • 4.8 block structures
  • 4.9 initialization
  • 4.10 recursion
  • 4.11 the c preprocessor

Chapter 5 -- pointers and arrays

  • 5.1 pointers and addresses
  • 5.2 pointers and function arguments
  • 5.3 pointers and arrays
  • 5.4 address arithmetic
  • 5.5 character pointers and functions
  • 5.6 pointer arrays and pointers to pointers
  • 5.7 multi-dimensional arryas
  • 5.8 initialization of pointer arrays
  • 5.9 pointer vs multi-dimensional arrays
  • 5.10 command-line arguments
  • 5.11 pointers to functions
  • 5.12 complicated declarations

Chapter 6 -- structures

  • 6.1 basics of structures
  • 6.2 structures and functions
  • 6.3 arrays of structures
  • 6.4 pointers to structures
  • 6.5 self-referencial structures
  • 6.6 table lookup
  • 6.7 typedef
  • 6.8 unions
  • 6.9 bit-fields

Chapter 7 -- input and output

  • 7.1 standard input and output
  • 7.2 formatted output - printf
  • 7.3 variable-length argument lists
  • 7.4 formatted input - scanf
  • 7.5 file access
  • 7.6 error handling - stderr and exit
  • 7.7 line input and output
  • 7.8 miscellanesous functions

Chapter 8 -- the unix system interface

  • 8.1 file descriptors
  • 8.2 low level I/O - read and write
  • 8.3 open, creat, close and unlink
  • 8.4 random access - lseek
  • 8.5 example - an implementation of fopen and getc
  • 8.6 example - listing directories
  • 8.7 example - a storage allocator

Reference

K R