To get the free app, enter your mobile phone number.
C Programming Language, 2nd Edition 2nd Edition
Use the Amazon App to scan ISBNs and compare prices.
The Amazon Book Review
Author interviews, book reviews, editors picks, and more. Read it now
Special offers and product promotions
Just about every C programmer I respect learned C from this book. Unlike many of the 1,000 page doorstops stuffed with CD-ROMs that have become popular, this volume is concise and powerful (if somewhat dangerous) -- like C itself. And it was written by Kernighan himself. Need we say more?
From the Publisher
This second editon describes C as defined by the ANSI standard. This book is meant to help the reader learn how to program in C. The book assumes some familiarity with basic programming concepts like variables, assignment statements, loops, and functions. A novice programmer should be able to read along and pick up the language.
Top customer reviews
There was a problem filtering reviews right now. Please try again later.
This book is a feisty little devil! I had heard of this book before diving in (it is a classic), but its size and table of contents lead me to believe I would breeze right through it. Wrong! Picking up the syntax wasn't too difficult and I have a fairly good handle on more advanced concepts like pointers already, but this book is absolutely packed with exercises and many of them are quite challenging!
"Write a program to check a C program for syntax errors like unbalanced parenthesis, brackets and braces. Don't forget about quotes, both single and double, escape sequences, and comments."
This is a chapter 1 exercise! Chapter 1 is just a tutorial introduction chapter and this is one 1 of 24 exercises in this chapter! No wonder it takes people years to work through this tiny book. I'm only about halfway through as I write this review.
This book is the perfect blend of reference material, practical knowledge and challenging exercises. There is absolutely no fluff and not a single word is wasted. I grow tired of pouring through 1,000+ page tomes. The appendices are also very well structured and extremely helpful.
Although I do virtually no C coding professionally, I can say for certain that this book has leveled up my skill-set. Working through these exercises has helped me with logical thinking and having a better understanding of coding closer to the machine has improved me as a developer overall. I'm one who believes that this book is great for all programmers, even if you never write a line of C after working through this book. I'm really loving the C language!
Whether you are a beginner or experienced it's worth having this book. Though this will be quite tough for total beginners, I say it's still work picking up and pairing it with a more beginner-friendly book. Unfortunately I cannot recommend such a book at this time because this is the only C book I've worked through.
If you pay attention to the details on this book, you will pick-up the most important area of C that will save you from scratching your head while debugging your code like side effects of infix/postfix increments, precedence of statement evaluation etc..
The authors also discussed some of the best practices in order to optimize the use of language such as efficient manipulation of pointers, style on delaring variables and initializations. Some of the coding style of this book was also used by coding guidelines found in official website of linux kernel.
This book is commendable not only because it was written by the Kernihan and the creator of the language itself(Richie) but how the book was organized and well explained. This is a small book with big information.
I found it to be a great base to ALL other languages I went on to learn - C is like the "father language of the programming world" as many of the pros will tell you.
You can start with this book from absolutely nowhere in C programming, in fact, I think it's better if you do as I felt like I had to "un-learn" many bad habits.
Definitely recommended for everyone by me as it teaches the language to whoever wants to learn C and gives a great base to expand from for anyone who wants to learn other programming languages.