C Programming Language, 2nd Edition
by: Brian W. Kernighan (0)
The authors present the complete guide to ANSI standard C language programming. Written by the developers of C, this new version helps readers keep up with the finalized ANSI standard for C while showing how to take advantage of C's rich set of operators, economy of expression, improved control flow, and data structures. The 2/E has been completely rewritten with additional examples and problem sets to clarify the implementation of difficult language constructs. For years, C programmers have let K&R guide them to building well-structured and efficient programs. Now this same help is available to those working with ANSI compilers. Includes detailed coverage of the C language plus the official C language reference manual for at-a-glance help with syntax notation, declarations, ANSI changes, scope rules, and the list goes on and on.
The Reviews
I should start by saying that I am not a novice developer. Nor free from the bias of academic training. I first got acquainted with the C programming language years ago before I started school. I found it to be too difficult for a complete beginner so I put it to the side and tried my hand at Java, Python, JavaScript and then PHP. While it has taken me many years to comfortably sit down to pick this book and comfortably work through the exercises I can say one thing: This is not a book for beginners in programming or computer science. Beginners in C? Sure, but most will absolutely need to have a solid grasp of computer programming and a little Computer Science theory before they can appreciate everything in the book.Some users here have mentioned that the authors were absolute legends in the fields, but bad teachers. I respectfully disagree. While I don't think that their style of teaching is for everyone, I will say that it is by no means a reflection of them being bad teachers. I have not seen a single exercise that cannot be solved with the provided material in one way or another, the real challenge? More experienced developers will know that there are other functions or constructs that can better solve the exercise at hand without making it far as manual as they would normally be, yet the trick and learning experience is in doing each one of them with the provided material, and to drive the point even further come back right after you are done with the book to keep playing. It is the only real way to work with a language such as C.Are you a total novice? Absolutely nothing wrong with that, but do save yourself the headache and start somewhere else, C Programming Absolute Beginner's Guide by Greg Perry is an excellent choice, another great book is Head First C. Once you are done with them, then come back, purchase this absolute gem of a book, and get you more well acquainted with what might be the most important programming language in the entire world, shown to you by the creators themselves.
I'm not new to programming; in fact I've been doing it professionally for the past decade. Although I've played around in quite a few different languages, most of my work over the last 6 years has been in .NET (C# mainly). I have always had an interest in C because I love its simplicity. Also, it's a language which brings one closer to the machine, stripping away many of the abstractions that higher level languages provide. Higher level languages (such as Java, C#, Python, etc.) are massive and powerful with HUGE frameworks, but I'm attracted to simple things.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!Here's one:"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.
I've been programming in C for almost five years now and while that certainly doesn't make me an expert, I was hesitant to by 200-something page book that was essentially an introduction to the language. Well, make no mistake, this book packs more punch pound for pound than any other book I've ever read. Not only was the book not too basic, some of the exercises are taking me way longer than my pride could have imagined. Do not hesitate to buy this book. If you love C, you'll love this book
I cannot explain how important this book is to any programmer, let alone a programmer wanting to learn C. This is one of the first books you should read, when starting any language derived from C as all are nearly syntactically identical.
This is THE text on C, it's like the Bible for C programming.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.
This book is certainly not for beginners, though not a requirements but at least the reader should have a background on Data Structure in order to easily follow most of the examples. The book was also structured to re-use the functions built from previous chapters like getline, atof, strcmp, alloc, etc.., though some of these functions have an equivalent in C's standard library, the authors choose to re-use it. 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.
kindle:
$ 38.89
paperback:
$ 55.21
hardcover:
$ 99.25
Buy the Book
Your experience on this site will be improved by allowing cookies.
Allow cookies