Goodreads helps you keep track of books you want to read.
Start by marking “The C Programming Language ” as Want to Read:
The  C Programming Language
Enlarge cover
Rate this book
Clear rating
Open Preview

The C Programming Language

4.38 of 5 stars 4.38  ·  rating details  ·  4,573 ratings  ·  244 reviews
This book is meant to help the reader learn how to program in C. It is the definitive reference guide, now in a second edition. Although the first edition was written in 1978, it continues to be a worldwide best-seller. This second edition brings the classic original up to date to include the ANSI standard.

From the Preface:
We have tried to retain the brevity of the fir
Paperback, Second Edition, 272 pages
Published March 22nd 1988 by Prentice Hall (first published 1978)
more details... edit details

Friend Reviews

To see what your friends thought of this book, please sign up.

Reader Q&A

To ask other readers questions about The C Programming Language, please sign up.

Be the first to ask a question about The C Programming Language

The  C Programming Language by Brian W. KernighanThe Pragmatic Programmer by Andrew HuntDesign Patterns by Erich GammaRefactoring by Martin FowlerStructure and Interpretation of Computer Programs by Harold Abelson
Essential Programming Books
1st out of 108 books — 239 voters
Structure and Interpretation of Computer Programs by Harold AbelsonIntroduction to Algorithms by Thomas H. CormenThe  C Programming Language by Brian W. KernighanDesign Patterns by Erich GammaThe Pragmatic Programmer by Andrew Hunt
Essential Books of Computer Science
3rd out of 140 books — 86 voters

More lists with this book...

Community Reviews

(showing 1-30 of 3,000)
filter  |  sort: default (?)  |  rating details
Nick Black
Feb 10, 2014 Nick Black rated it 5 of 5 stars
Recommended to Nick by: Jim Greenlee
Found myself rereading this the other day, after recommending Chapter 8 to a young engineer seeking the Truth behind malloc(3)...still as fresh as the day it was printed, although I do note minor failings now (ubiquitous definitions of "MAXLINE" to 1000 rather than idiomatic use of ANSI/ISO's BUFSIZ, rather more use of "register" than I care to see in peacetime, etc). Also, when are we getting an update for C99? I'd like to see more people making proper use of <stdint.h> than is today typi ...more
Sep 18, 2012 Pedro rated it 5 of 5 stars
Recommends it for: People learning C
Shelves: unrec
Great book as a reference for C.

If you already know how to program and want to learn C, this is the book. But you must do the exercises: don't read the book; work the book.
P Doerr lulz
Excellent A+++++++ Would read again!
The C Programming Language is THE VERY BEST way to learn the C programming language. Starting with the basic "Hello World" program, this book covers everything (of course, as the official guide to the language this is expected). As any programmer worth his salt will tell you, C is one of the most useful languages, and at least basic knowledge is mandatory.
If you're a geek, you have to prostrate yourself in the direction of Bell Labs whenever this book is mentioned. I'm not really a geek, so it's optional.

Well, perhaps I'd better do it anyway. Just in case.

This was the first ever introduction to a computer (forget programming, or even knowing that C is a software program running using another software program called compiler.. I mean exposing the first cro magnon to a machine that looks like TV and has a typewriter in front). And I can tell you the cro magnons sitting with me in the classroom in the second year of undergrad did not like this book. AT ALL! I still remember looking at the hello world program and typing it in and saw hello world gett ...more
Ok dudes, this is THE book. If you want to know how to program in C, the once and future language of all computing, you must buy this book.

EFF this C#, CLI, J#, VB, and all those other abominational languages that are trying to kill good programming skills. If you want to learn how to really program you need to DO this book.

You don't read this book, you DO it! Thought I made a typo, huh? As a general rule, shorter books are better than those SAMS-type 1000 page tomes, teach you more, and are har
I read this years ago when I was first taking C. I don't have this edition, but an earlier one. After wading through several other books, I kept coming back to this one as a reference while programming. It is deceptively short & sweet. Re-reads constantly found me more avenues to explore using their basics.

I gave a copy to my son & he came to the same conclusion. While other, larger, & more specific books come & go as C evolves, this basic work is a must for any serious programme
Certainly a book hyped by many folks, calling it the to read when learning C.

Well, in reality it's just that, hyped. There is no objective reason why this book is a must-read or good at all. Sure, it does cover the important aspects of C, but it's very shallow, never going into details. As such, it's as good as every "Learning $language in $small_amount days".
Mar 22, 2011 Joecolelife rated it 5 of 5 stars
Recommended to Joecolelife by: Online Bookstore
As somebody else said, this book is NOT for a programming beginner - its style of writing is quite terse with few or no actual illustrations (via drawings of flow-charts {or equivalent}, programming-structure, etc.) versus a lot of text to read through. To make matters worse, C (and its derivatives like C++, C#, etc.) is a very LEAN (and truly MEAN!!) programming language 'per se' - with relatively few prewritten macros, subroutines and functions, one can get frustrated very quickly! [Furthermor ...more
Roy Vanegas
Regardless of the fact that the architect of the language is a co-author, this book is simply not a good book on discussing the intricacies of C, a language replete with low-level details defining its behavior.

Everything, including a discussion on sequence points and side effects, among other topics, is included in Peter Prinz's and Tony Crawford's C in a Nutshell, which is masterful in its coverage of the language. Combine C in a Nutshell with Summit's C Programming FAQs and you have the entire
Kyusik Chung
Truly the C Bible

If only all programming books were this succinct and to the point...
I can't say I learned how to program C using this book -- that distinction goes to the long-forgotten Microsoft Quick C for Windows manuals and a reference manual put out by the Waite Group. I can't even say that I need to consult this very often anymore, although it will quickly clear up any questions you might have about arrays of pointers to unions of structs.

This book is the ideal presentation of a language. (When was the last time you saw both the grammar and standard library of a language
Stefan Kanev
This is a great book, definitely worth reading.

It's not my first pass through it, but I still learned new stuff. It covers the language well, although it does not go into as much depth as I would like. It does not cover the practical aspects of system programming either.

The best thing about this book is the brevity. Everything is explained clearly and with as little text as possible. It might not be the best first book for C, but it is definitely a great second one.

Finally, this book is old. C h
El libro claramente se lleva 5 estrellas. Una lastima la traducción, que si bien no es mala per se, deja qué desear en varias partes.

Personalmente nunca había escuchado la palabra implantar en el sentido de "implement" del inglés, por lo que su uso me resultó raro. "Implantar" una interfaz me suena a meter, insertar una interfaz en algún lado; a agregar algo ya concreto, creado, en algún lugar.
"Implementar" una interfaz por el contrario, lo entiendo como crear desde cero una serie de funciones
For years, this has been the standard of programming texts. I feel strangely alone when I say that I think it's okay, but not fantastic. For starters, this text hasn't been updated to reflect the new changes in C. The cover tells you up front that this is for ANSI C, which was a good standard 10 years ago, but we're moving past that.

I do appreciate the fact that this book is terse and has an intended audience of people who are comfortable around computer fundamentals. I often have to skip the fi
Ettore Pasquini
Oct 18, 2010 Ettore Pasquini rated it 5 of 5 stars
Recommends it for: software engineers
Recommended to Ettore by: CS101 professor
Shelves: technology
Any software (hell, even hardware) engineer has hopefully heard about this book. If you don't own it, buy it right now! You won't find a single engineer on Earth telling you this is something less that awesome. This book achieves the perfect balance between terseness and exhaustiveness.

Computer Science book writers and publishers: can we go back to a writing style where computer books are in the 150 - 200 pages range, instead of the regular 600 - 900? Come on.
This book (together with Kochan) helped me learn C, which quickly became my favorite programming language and remained so for many years. Contains the original 'hello, world' program which has been copied ad nauseum ever since. I know the authors released a second edition but I never looked at it, the first one was fine. I suspect the main reason for the second edition was to replace the classic K&R syntax with the ANSI standard.
One of the things that I like about the C programming language is that it is very small and simple to learn. This book is correspondingly small, yet it is comprehensive.

I already knew some C when I read this book, but reading this book gave me an appetite for understanding more about how compilers work and about the theory and design of programming languages.
Brian Davis
This is the entire definition of a systems language -- and its standard library -- in a large-font book that will easily fit in your jacket pocket. That is a mind-blowing accomplishment in itself.

There is not yet -- nor has there ever been -- a technical book that approaches this in its simplicity and completeness. There is a poetic beauty to the fact that the instruction manual for the language which underpins very nearly every piece of software on Earth is so succinct.

At the end of the day, Ke
Reading this again, I'm finding that a lot of the coding style and practices are outdated, but it's still a good foundation for programming, and the C language in general is a good starting point if you want to work with native apps.
David Scholefield
For any computer professional, or anyone interested in programming languages, this is the definitive book. Although to an age of object oriented this, and web 2.0 that, it may not seem so relevant, the importance of this book can't be overestimated. C is probably one of the most important and influential languages developed in programming, and is foundational - this book is the original and definitive guide.

All computer people of a certain age will bow down in front of this book through sheer r
Walter Miller
TL;DR: Good, but dated.

It's long been considered the definitive book on learning C, but have a look at [Zed Shaw's breakdown](

Working with byte streams is fun, and worth learning if you ever want to do anything performance intensive. But in 2014 you're never going to be writing a program that only supports 8-bit ASCII.

Still, working with plain C on something small is a pleasant, almost Zen, experience. It's just you and your data structures without any s
Eti Mishra
This is a good book,but certainly not the best or a must read book.
I actually knew C Language before reading this book,so I didn't find this book very important and it didn't help me in learning the language.

I really didn't like the book as it never go into the details.To me the C style presented here is a bit dated.The book is dry and utterly unreadable(I mean hard to read).So,definitely not a recommended book for beginners.

Though it can be used as a reference book by the people who have prior
My very first computer programming book. Welcome to programming, here's C.
Adam Roan
I remember picking this book at age 16 after rummaging through all the crap from Schildt and others. Nine years later, it's sitting on my coffee table like an ancient manuscript or some old papyrus.

K&R2 doesn't fill in gaps of knowledge of arguably one of most fundamental languages, but in fact lives underneath C - it acts as a reference, an excellent tutorial, even a birth of a specification before the ANSI standard was officially released. Ritchie single-handed the entire text which gives
K&R2, as it's known in the field, is a tutorial and reference guide to the C programming language.

I first read it at age 15 with no formal training in programming at all, working on top of some short online tutorial, but I kinda' sorta' got most of it. I think this says something great about my hobby horse, unschooling, but more to the point it also says something good about this book: it manages to communicate its ideas quite well, I think.

Beyond helping a fledling programmer get started on
Vlad Piersec
K&R is a great book for learning the C language but it is not for beginners (this is also what the authors say). If you are already familiar with another programming language then I think this is the best book you will get on C.

The writing style is very good and the ideas are highly understandable. The notions are explained in detail but without taking too much space. The authors say in 200 pages what others can't put in 500 and this is something to admire.

Although I found it very nice, I wo
I wish all tech books could be this good.

Nearly all books in the computer science field are terrible. K & R is exceptional. It is comprehensive while still managing to be compact.

K & R is showing its age in some respects. The text is terse, which can be frustrating. But it also rewarding once you've worked through the problems. Few other books in this field are brave enough to demand you clarify your thinking.

Most other books, even books which the author claims are modeled after K &
At first, I read chapters from this book and thought "wow, these guys sound like all the other 'intro to a programming language' books that I've read." But it dawned on me that K&R did it first and all the other books I read were really copycats. Because of that, I respect the clarity in teaching the core syntax of the language that so many others have mimicked.

Even thought K&R teach C well, I was disappointed with a lot of the style in their samples. The book was first written in a diff
Arvydas Sidorenko
Excellent only if you have prior experience with C-family languages and want a quick programmer-to-programmer introduction to C. It won't explain any programming concepts, but mainly concentrates on briefly explaining language specifications by giving academical and outdated examples. If you are new to programming, it will get you lost before you reach page 10.
« previous 1 3 4 5 6 7 8 9 99 100 next »
There are no discussion topics on this book yet. Be the first to start one »
  • Advanced Programming in the Unix (R) Environment
  • The C++ Programming Language
  • Programming Perl
  • Compilers: Principles, Techniques, and Tools
  • Structure and Interpretation of Computer Programs (MIT Electrical Engineering and Computer Science)
  • Introduction to Algorithms
  • Programming Pearls
  • Applied Cryptography: Protocols, Algorithms, and Source Code in C
  • Effective C++: 55 Specific Ways to Improve Your Programs and Designs
  • The Art of Unix Programming
  • Learning Perl
  • Art of Computer Programming, The, Volumes 1-3 Boxed Set
  • The Little Schemer
  • Mastering Regular Expressions
  • Design Patterns: Elements of Reusable Object-Oriented Software
  • JavaScript: The Definitive Guide
  • C: A Reference Manual
  • Expert C Programming: Deep C Secrets

Goodreads is hiring!

If you like books and love to build cool products, we may be looking for you.
Learn more »
Brian Wilson Kernighan is a computer scientist who worked at Bell Labs alongside Unix creators Ken Thompson and Dennis Ritchie and contributed greatly to Unix and its school of thought.
More about Brian W. Kernighan...
The Practice of Programming The Unix Programming Environment The Elements of Programming Style Software Tools D Is for Digital: What a Well-Informed Person Should Know about Computers and Communications

Share This Book