The C Programming Language

Brian W. Kernighan, Dennis M. Ritchie

Publisher: Prentice Hall, 1978, 228 pages

ISBN: 0-13-110163-3

Keywords: Programming

Last modified: June 9, 2021, 5:33 p.m.

C is a general-purpose programming language which features economy of expression, modern control flow and data structures, and a rich set of operators. C is not a "very high level" language, nor a "big" one, and is not specialized to any particular area of application. But its absence of restrictions and its generality make it more convenient and effective for many tasks than supposedly more powerful languages.

  1. A Tutorial Introduction
    1. Getting Started
    2. Variables and Arithmetic
    3. The For Statement
    4. Symbolic Constants
    5. A Collection of Useful Programs
    6. Arrays
    7. Functions
    8. Arguments — Call by Value
    9. Character Arrays
    10. Scope; External Variables
    11. Summary
  2. Types, Operators, and Expressions
    1. Variable Names
    2. Data Types and Sizes
    3. Constants
    4. Declarations
    5. Arithmetic Operators
    6. Relational and Logical Operators
    7. Type Conversions
    8. Increment and Decrement Operators
    9. Bitwise Logical Operators
    10. Assignment Operators and Expressions
    11. Conditional Expressions
    12. Precedence and Order of Evaluation
  3. Control Flow
    1. Statements and Blocks
    2. If-Else
    3. Else-If
    4. Switch
    5. Loops — While and For
    6. Loops — Do-while
    7. Break
    8. Continue
    9. Goto's and Labels
  4. Functions and Program Structure
    1. Basic
    2. Functions Returning Non-Integers
    3. More on Function Arguments
    4. External Variables
    5. Scope Rules
    6. Static Variables
    7. Register Variables
    8. Block Structure
    9. Initialization
    10. Recursion
    11. The C Preprocessor
  5. Pointers and Arrays
    1. Pointers and Addresses
    2. Pointers and Function Arguments
    3. Pointers and Arrays
    4. Address Arithmetic
    5. Character Pointers and Functions
    6. Pointers are not Integers
    7. Multi-dimensional Arrays
    8. Pointer Arrays; Pointers to Pointers
    9. Initialization of Pointer Arrays
    10. Pointers vs. Multi-dimensional Arrays
    11. Command-line Arguments
    12. Pointers to Functions
  6. Structures
    1. Basics
    2. Structures and Functions
    3. Arrays of Structures
    4. Pointers to Structures
    5. Self-referential Structures
    6. Table Lookup
    7. Fields
    8. Unions
    9. Typedef
  7. Input and Output
    1. Access to the STandard Library
    2. Standard Input and Output — Getchar and Putchar
    3. Formatted Output — Printf
    4. Formatted Input — Scanf
    5. File Access
    6. Error Handling — Stderr and Exit
    7. Line Input and Output
    8. Some Miscellaneous Functions
  8. The UNIX System Interface
    1. File Descriptors
    2. Low Level I/O — Read and Write
    3. Open, Creat, Close, Unlink
    4. Random Access — Seek and Lseek
    5. Example — An Implementation of Fopen and Getc
    6. Example — Listing Directories
    7. Example — A Storage Allocator
  1. C Reference Manual
    1. Introduction
    2. Lexical Conventions
    3. Syntax Notation
    4. What's in a name?
    5. Objects and Lvalues
    6. Conversions
    7. Expressions
    8. Declarations
    9. Statements
    10. External Definitions
    11. Scope rules
    12. Compiler control lines
    13. Implicit declarations
    14. Types revisited
    15. Constant expressions
    16. Portability considerations
    17. Anachronisms
    18. Syntax summary

Reviews

The C Programming Language

Reviewed by Roland Buresund

Excellent ********** (10 out of 10)

Last modified: May 21, 2007, 3:25 a.m.

Ah, they don't get more classical than this. Extremely hard to read, refuses to repeat any information (i.e., if you haven't read everything in the introduction, you can't do the first exercise in chapter 1).

I have in fact taught C classes based upon this book alone. Even though the pupils at the time didn't appreciate the effort, they still can program in C, 15 years afterward.

Comments

There are currently no comments

New Comment

required

required (not published)

optional

required

captcha

required