The C programming book

The C programming book is the "C Programming Language" by Brian W. Kernighan and Dennis M. Ritchie. I call it the book because the 2 authors are non other than

  • Dennis Ritchie - the creator of the C Language itself!
  • Brian W. Kernighan - his colleague in Bell Labs, who worked on the Unix OS

The C programming book

Title: C Programming Language, 2nd Edition

Authors: Brian W. Kernighan, Dennis M. Ritchie

Year: 1988

Pages: 272

C standard: ANSI

The book gradually introduces you to all fundamentals of the C language - from operators, expressions and variables to arrays, functions, scope and pointers. 

It also contains the official C language reference manual!

After every chapter you will have plenty(and I mean days worth) of exercises to practice. They can be done using the knowledge that was already introduced in the book. In fact, it could be a challenge for the experienced guys to solve the tasks with only that knowledge and not use functions from the standard library that you already know how to use.

The book does not provide the solutions to the exercises. So Clovis Tondo and Scott Gimpel dedicate an entire book where they present the answers with excellent explanations, code formatting and more.

However, "C programming language" is probably not the best place to start if you are new to computer programming and have no idea of data structures. This is more of an expert C programming book. This is a great place to start if you have some programming experience and you want to learn C or you want to expand your knowledge of the language.

Pros

  • Written by the creator of the C language itself, thus this book deserves the name "THE C programming book".
  • Concise - no redundant stuffing. Every word is right to the point
  • Contains the official C language reference manual
  • Presents plenty of exercises (see also Cons below) some of them are rather "advanced" difficulty

Cons

  1. No solutions to the exercises - they are available in another book
  2. Harder for beginners.
  3. Does not cover C99 and C11

The great news is that 1, 2 and 3 are easy to fix. If you are a beginner, consider the "C Programming Absolute Beginner's Guide" here's a review. Once you have experience you will better appreciate The C programming book :-)