The best books for C programming
Here is our list of "essential" C programming books. Of the plethora of programming books on the market, we think the ones below are among the best. If you're looking for good books, you can't go wrong by starting here.
We are also reviewing newer books, which are more up-to-date with respect to the current C, C++, and Java standards. As we find new books that merit the title "essential," we will add them to this list. So be sure to stop by again.
We classify each book by technical level and content type. Our categories for technical level are Introductory, Intermediate, and Advanced. Technical level identifies the kind of reader who would benefit most from the book -- a beginning, intermediate, or advanced C++ programmer. Our categories for content type are Reference, Design, and Idioms. Books having a Reference designation contain factual information about C or C++ (syntax, features, usage rules, etc.) that everyone needs to program effectively in C or C++. Books having the Design classification show how to structure programs (source files, declarations, classes, hierarchies, etc.) to produce code that is reliable, maintainable, and reusable. Books having the Idioms classification demonstrate commonly expressed usages of programming language features, analogous to commonly spoken phrases in a natural language.
The categories are abbreviated as follows:
Introductory: | INTRO |
Intermediate: | INTMD |
Advanced: | ADV |
Reference: | REF |
Design: | DESIGN |
Idioms: | IDIOMS |
Look for these designations at the end of each book listing.
C Programming Books
Allison, Chuck C & C++ Code Capsules: A Guide for Practitioners Prentice-Hall, 1998 ISBN 0135917859 |
A practical handbook for people who make a living coding in C or C++. |
[INTMD REF DESIGN IDIOMS] | |
|
|
Koenig, Andrew. C Traps and Pitfalls. Addison-Wesley, 1989. ISBN 0-201-17928-8. |
"Uniquely Koenig, an expert who really knows how to communicate. He elucidates dark corners and 'gotchas' that so many never notice. Concise, readable, and indispensable." |
[INTRO, INTMD, ADV, REF] | |
|
|
Feuer, Alan R. The C Puzzle Book, Revised Edition Addison-Wesley, 1998. ISBN 0-201-60461-2. |
"Represents a rite of passage all C programmers should undergo. Although somewhat esoteric and abstract, the author rigorously tests your mastery of important concepts." |
[INTMD, REF] | |
|
|
Mark Williams Company. ANSI C, A Lexical Guide. Prentice-Hall, 1988. ISBN 0-13-037814-3. |
"A comprehensive dictionary to the C language. Very thorough and readable. Basically a layman's standard document with examples. Even though it was written before ANSI C was official, it is compatible with the standard. Highly recommended." |
[INTRO, INTMD, ADV, REF] | |
|
|
Kumar & Agrawal. Programming in ANSI C. West Educational Publishing, 1992. ISBN 0-314-89563-9. |
"User-friendly tutorial/text for the novice. Very readable." |
[INTRO] | |
|
|
Darnell & Margolis. C: A Software Engineering Approach. Springer-Verlag, 1988. ISBN 0-387-94675-6. |
"Another good introductory text. A little more thorough than Kumar & Agrawal." |
[INTRO, DESIGN] | |
|
|
Plum, Thomas. Learning to Program in C, 2nd Ed. Plum Hall, 1989. ISBN 0-911537-08-2. |
|
[INTRO] | |
Plum, Thomas. C Programming Guidelines, 2nd Ed. Plum Hall, 1989. ISBN 0-911537-07-4. |
|
[INTRO, INTMD, REF, DESIGN] | |
Plum, Thomas & Brodie,
Jim. Efficient C. Plum Hall, 1985. ISBN 0-911537-05-8 |
|
[INTMD, ADV, DESIGN] | |
"Few people understand C as well as Tom, and his books couple that expertise with sound software engineering principles. His books are now a little dated (mostly pre-ANSI C), but the principles are timeless." | |
|
|
Kernighan, Brian W. &
Ritchie, Dennis M. The C Programming Language 2nd Ed. Prentice Hall. ISBN 0-13-110362-8. |
"Essential catechism for all C folks." |
[INTRO, INTMD, ADV, REF] | |
|
|
Plauger, P.J. The Standard C Library. Prentice Hall, 1991. ISBN 0-13-131509-9. |
|
[INTMD, ADV, REF] | |
Kernighan, Brian W. &
Plauger, P.J. The Elements of Programming Style. 2nd. ed. McGraw-Hill, 1988. ISBN: 0070342075. |
|
[INTRO, INTMD, DESIGN] | |
Kernighan, Brian W. &
Plauger, P.J. Software Tools. Addison-Wesley, 1976. |
|
[INTRO, INTMD, DESIGN, IDIOMS] | |
"These three books are without peer, period. I have benefitted from these three books probably more than any others. The second two were canonical works at my first job out of school. Plauger's C library book provided me with needed polish in mastering C. Software Tools uses Ratfor, a diluted C for FORTRAN programmers, but would still be of great value to today's C programmers. I really wish there was a C version." | |
|
|
Ranade, Jay & Nash, Alan. The Elements of C Programming Style. McGraw-Hill, 1993. ISBN 0-07-051278-7. |
"Pragmatic advice from
two experienced corporate developers." Reviewed in the July 1993 issue of CUJ. |
[INTRO, INTMD, IDIOMS, REF] | |
|
|
Plauger, P.J. and Brodie, Jim. ANSI AND ISO Standard C Programmer's Reference. Microsoft Press, 1992. |
"A concise but complete reference to Standard C. Written in non-legalese, contains railroad syntax diagrams for language features, and summarizes every function in the library." |
[REF] | |
|
|
Sedgewick, Robert Algorithms in C++, 3rd Ed., Parts 1-4 Addison-Wesley, 1999. ISBN 0-201-35088-2. |
"Although not generally for beginners, this updated version of Algorithms in C (1990) is usable by all. An introduction to the most commonly used data structures and algorithms. Handy reading for C and C++ programmer alike." |
[INTRO, INTMD, REF, DESIGN] | |
|