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  ·  5,608 ratings  ·  275 reviews
Classic, bestselling introduction that teaches the language and illustrates useful algorithms, data structures and programming techniques.
Paperback, Second Edition, 272 pages
Published by PHI Learning (first published May 1st 1983)
more details... edit details

Friend Reviews

To see what your friends thought of this book, please sign up.
The C Programming Language by Brian W. KernighanThe STREAM TONE by T. GillingYour Guide To Scrivener by Nicole DionisioBeyond the Inbox by Shay ShakedScratch 2.0 Programming by Denis Golikov
Best Technical Books
1st out of 167 books — 27 voters
You Really Are Full of Shit, Aren't You? by Karl WigginsWood, Talc and Mr. J by Chris   RoseMagic America by C.E. MedfordWords are our Sorcery by Karl WigginsJane Eyre by Charlotte Brontë
Books Worth Reading Again
157th out of 296 books — 94 voters

More lists with this book...

Community Reviews

(showing 1-30 of 3,000)
filter  |  sort: default (?)  |  rating details
Nick Black
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
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.

Sep 18, 2012 Pedro rated it 5 of 5 stars  ·  review of another edition
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.
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".
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
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
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
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
Kyusik Chung
Truly the C Bible

If only all programming books were this succinct and to the point...
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
Darshana Unnikrishnan
The book is missing many important parts of the subject. Also the explanations are not so good. Not suitable for someone who wants to learn the subject from scratch. May be an experienced professional might be able to benefit from the book better.

As for me I was just trying brush the knowledge I had about this subject bit didn't find the book that useful.
Michael Wais
Okay, I read the second edition of this book and I've just got to say, it's really not succinct or to-the-point at all for the most part.

The programs begin easily enough but starting at about the second chapter the code is written in a way that's way too complicated- also presuming that the reader should already know all of the commands anyway. Earlier on in the book, the authors praise the efficiency of C- only they use code that's way inefficient for the programs that they write!

Despite all th
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  ·  review of another edition
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.
A must for a system programmer, kind of a must for any programmer, but that's I'm talking about language itself. And oh my, it's hard to talk about a book, not a language, in a case like this.
The book does it's task — explaining a language, that is — very good. Also serves finely as a reference afterwards.

It does not, of course, cover recent standards, but those you can pick up yourself after grasping the core.
Do mind that it does not teach to program, only explains language and it's features. O
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
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 &am
« 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 Environment
  • The C++ Programming Language
  • Programming Perl
  • Compilers: Principles, Techniques, and Tools
  • Structure and Interpretation of Computer Programs (MIT Electrical Engineering and Computer Science)
  • Programming Pearls
  • Learning Perl
  • Introduction to Algorithms
  • C: A Reference Manual
  • The Art of UNIX Programming
  • The Art of Computer Programming, Volumes 1-3 Boxed Set
  • Effective C++: 55 Specific Ways to Improve Your Programs and Designs
  • The Little Schemer
  • Design Patterns: Elements of Reusable Object-Oriented Software
  • Applied Cryptography: Protocols, Algorithms, and Source Code in C
  • ANSI Common Lisp
  • Expert C Programming: Deep C Secrets
  • The Implementation (TCP/IP Illustrated, Volume 2)

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...

Share This Book

“C is not a big language, and it is not well served by a big book.” 0 likes
More quotes…