C Programming Language

(47 customer reviews)

Original price was: $99,00.Current price is: $20,00.

  • 100% Satisfaction Guaranteed!
  • Immediate Digital Delivery
  • Download Risk-Free

✔️ File: PDF 21,50 MB • Pages: 288

The definitive reference guide to C programming from K&R for writing good code that works and is easy to modify

 

Learn how to program in C from the developers of C, Brian Kernighan and Dennis Ritchie. Intended for those with at least some experience with one other language (even if you are a novice), this book contains a tutorial introduction to get new users started as soon as possible and separate chapters on each major feature:

  • Types, operators, and expressions
  • Control flow
  • Functions and program structure
  • Pointers and arrays
  • Structures
  • Input and output

This second edition of The C Programming Language describes C as defined by the ANSI standard and includes a reference manual that conveys the essentials of the standard in a smaller space for easy comprehension for programmers.

K&R is one of my favorite books. The style of the tutorial chapters is so deceptively light and simple and the manual so crisp. Much of C’s reputation of simplicity comes from the clarity and great little examples from this book. My 1978 copy has lost its cover and my K&R2 is somewhat dog eared. Above all, K&R is a useful book.”

Bjarne Stroustrup, designer and original implementer of C++, and author of The C++ Programming Language

47 reviews for C Programming Language

  1. Steven M. Stedman

    This book has been referred to as the “the K&R book”.
    I first read this book when I took my first programming class in school. 12 years later, and I still use it as a reference occasionally.
    I recommend this book for everyone who is a C/C++ programmer. You might say that you don’t need this if you only do C++ programming, but this will help you to understand the foundations of how C and C++ work.
    If I was only allowed to have one programming book, this would be the one to get.
    This book is like the bible of C programming. If you ever have a dispute with a collegue over a C programming issue, this book will help you solve your argument.
    If you ever have to interview for a C programming job, and you just want to brush up on things, this is the book to buy.

  2. Doug M

    With more than 30 years under its belt, the C programming language still remains one of the most important computer languages to date. Languages like Perl and Java might have secured permanent niches in certain areas of programming, but one must keep in mind that they their own compilers were written in C languages, and both use structures and styles derived from C.
    In short, this book is a classic in the field of computer programming, but it is no less relevant today. Kernigham and Ritchie start the reader from the very beginning with discussions of variables and functions, and keep their discussion of C in very stripped down and simple terms. Using C libraries can get you very far these days as a programmer, but if you want to know how those functions work, you will enjoy a very nice introduction in this book. You will make your own functions like strcat, atoi and so on using the most basic C commands. This approach to programming really helps the new programmer think for themselves.
    I also like the problems and questions throughout the book. Kernigham and Ritchie definitely want the reader to be actively learning C and not just be a passive reader.
    In short, this book is an excellent starting point for someone wanting to learn C, or for someone who is starting out in programming. Its also a classic that should definitely be on any career programmer’s shelf.

  3. Alex B.

    I’ve used several programming books to teach me languages. First it was the “Learning Perl” and “Programming Perl” books from O’Reilly. Then we had “C++: How to Program”, from Deitel and Deitel. But none of those can come close to this book.

    K&R manages to teach an entire programming language in but a few lessons. As they say, C is a small language: it doesn’t need a 1000 page book! Short, easy-to-understand, and right to the point, this books teaches the syntax of C, the usage of C, common paradigms of C, and so on. Possibly confusing practices ( while((int c = getchar()) != EOF) ) are well-explained, and you come away with a fantastic foundation of this language.

    The exercise are fantastic, and some are quite difficult, forcing you to think and apply yourself. My one complaint is that solutions are not provided, but these are easily found online.

    Even once you’ve read this book, it can be a fantastic reference. There are tomes out there dedicated to C reference, those may be better for, say, writing a kernel. But for most people, this book works fantastically.

    I cannot recommend this book enough for learning C.

  4. Ken Tang

    I read and heard all the hype about this book and I had to check it out. I ordered the book and started reading the first few pages and even got the famous “hello, world!” to print on my screen! After that, the whole terminologies and technical aspect of programming in C went right over my head. I put the book aside.

    I purchased another book called Absolute Beginner’s Guide to C by Greg Perry which really was simple and easy to understanding C. I then went back to this Kernighan/Ritchie book and it started to make a little more sense. Again, however, as I started to read more of this book things are still too technical and goes right over my head. Hopefully one day I’ll be able to pick up this book and REALLY understand it.

    Update 7/22/2012: After several years of programming (PHP, Javascript, Visual Basic, BASH, Python, Perl, Powershell, C/C++), this K&R book is a nice reference book to have. I still stand by my original review that it is NOT a book for beginners getting into programming.

  5. Faith E

    The “K & R”, as it is widely known has a reputation of both being the pure encapsulation of and a terse discourse in the C Language. Both characterizations have equal merit. That being said, this shockingly succinct (at only 272 pages) publication is both tutorial and reference. In short, more of the “madness behind the method” is covered in this tome than the unwieldy but for some reason mandated college texts from the likes of Deitel or from the more cursory “Dummies” efforts. From the onset, the authors waste no time jumping into each concept with solid code examples. At first these may seem a little complex and in actuality they are–many of the standard library functions are stepped through to drive across such concepts. The authors preface with “C is not a big language”, and that is true, however when one considers how the “B-52” of programming languages has been the linguistic basis for the more popular Java, C# and C++ (not to mention what for Ruby, Perl and Python are implemented in) the essence of this work by the authors of the language cannot be overstated. This is written with the student of the programming art in mind, whether at the collegiate or professional level. This should be a required introduction for Comp Sci or Engineering majors to that art, and every serious programming student or practitioner should own it. Given that it still holds its original value, chances are most do. Don’t let the price fool you–The C Programming Language is worth its weight in gold!

  6. Curtis Dyer

    In 1988, The C Programming Language, 2nd Edition (affectionately referred to as K&R2) was first printed. Despite the passing of so many years, C’s syntax and semantics have remained fairly stable. It is then fitting that K&R2 remains the de facto manual and reference for helping programmers get acquainted with the C programming language. Dennis M. Ritchie, one of the co-authors, is the original designer of C and also helped design the Unix operating system in the ’60s. Brian Kernighan also helped with the design of Unix, AWK, and is noted for creating other well-known Unix programs.

    Not only are the authors well qualified, but they communicate very effectively in concise and clear language. The authors do not pander or condescend to readers. They make no claims to teach C in only one day; they actually expect readers to have a basic grasp on various programming concepts. The authors show an earnest desire to help programmers learn the language. The code examples provided are very helpful and exceptionally elegantly coded. As other reviewers have noted, they help instill good coding habits from the start.

    K&R2 provides a helpful introduction to programmers, which gives an overview of what the C programming language is (and is not). The introduction explains C’s typing system and basic features. The meat of the book is well organized into chapters that sequentially build upon previous chapters. Chapter 5, “Pointers and Arrays,” for example, does a great job at elucidating a difficult computer science concept. A lot of people are well aware of nasty bugs deriving from using pointers and arrays, but the authors explain pointers and arrays in a very clear way, which draws the important distinctions between them.

    After the main tutorial chapters, the appendix follows in an amazingly compact, yet thorough reference, which includes a C grammar, overview of the standard libraries, and more. Oftentimes, this reference is the most convenient and concise source for information (note that

    the C Standard

    is *the* authoritative source on the C specification). For example, the section covering the “*printf” and “*scanf” conversion specifiers is extremely helpful and much easier to digest than most man pages.

    For such a relatively small text, it’s amazing how thorough it is. Although it’s no substitute for having a copy of the ISO C Standard at hand, it’s still an indispensable reference to have. Also, since C99 has yet to be fully implemented on many common implementations, developers still look to the ANSI C standard for ensuring their code is as portable as possible.

    I feel K&R2 is the best reference for learning C; it has been considered canon for all these years for a reason.

  7. Louis W. Blessing

    Let me start off by saying that I’m not a novice programmer, so this review will be biased given that fact alone. That said this book was an eye opener on so many levels. One thing that is NEVER touched upon by other C programming books is project management and modularization. Chapter 4 of this book had a great discussion on techniques to organize code. This is not a big deal for the hobbyist, but for us programmers in industry dealing with large embedded projects it is. E.g., try to avoid extern variables, publish only what is needed to header files, etc.

    Outside of that K&R avoids the pitfall of discussing every single point; they only discuss what is necessary to write modular, system independent, and well organized code. This book also discusses the history of parts of the language and what the intent was when writing the language. This is far more important than many people think because now you’re tapping into years of rich programming experience at Bell labs where K&R worked.

    Lastly, this book CAN be conquered by novice programmers, but they will have to read this book slowly and hang on every word. This isn’t too daunting because, excluding the reference, we’re looking at 189 pages of text. Not all of the problems need be worked to gain full understanding of this book. Some problems are trivial, while others are so broad that the answers border on becoming subjective. Either way, they should all be attempted and thought about. A solution manual is worth investing in, but is not necessary. If you decide to embark on the journey through this book devote AT LEAST a month to it. Reading slowly and actively thinking about what’s going on will reward you with a lifetime of C programming knowledge.

  8. Robert P. Seaton

    The C Programming Language is a classic text within the realm of computer science and, if programming languages were religions, this would be C’s holy book. Within the community of hardcore, bearded C hackers, the book is known simply as “K&R.” In fact, if you follow the coding guidelines in the text, your C code is said to be “K&R style.” The guidelines for the Linux kernel even go so far as to say “if it’s good enough for K&R, it’s good enough for us.”

    It’s important to note that the original incarnation of this text is more than 30 years old, written before the era of personal computers, more than a decade prior to Microsoft Windows! With that in mind, this book is a must have for any individual serious about hacking on Unix-like systems. I use what I have learned from this text on a daily basis when developing on Linux, OSX, and FreeBSD.

    However, individuals with a background only in Microsoft Windows will find this text significantly less useful than those on Unix-like systems. Most programs mentioned in the book are provided by default on Linux distributions, but simply cannot run on Microsoft Windows. If you only use Microsoft Windows, you would almost certainly be better served purchasing a book geared towards the Windows development platform.

    Unfortunately, the high quality of the material in this book is not reflected in the text’s typesetting. Things you take for granted in modern documentation, like examples with syntax highlighting, are not present in The C Programming Language. The text is also significantly less crisp than modern offerings and it can, at times, be difficult to distinguish between characters.

    While this book is definitely worth it for anyone interested in Unix-like systems, it’s definitely beginning to show it’s age. The text is also not geared towards beginners, so amateur programmers may be happier with a more introductory text.

  9. C. Winton

    I’ve been programming in C (among other programming languages) for over 30 years now and it still amazes me that whenever I have some question about how C will handle some construction this book invariably will provide an answer. The 2nd edition is a very worthy successor to the 1st and anyone who seriously programs in C should have this book on their shelf for reference. The book does have a bit of a tutorial to help those who already program in some other procedural language and to provide a vehicle for examples, but the book is definitely not a good choice for a true beginner or someone who needs a lot of hand holding to get through a programming exercise. I always like to contrast this book with the typical Java reference, which typically rivals War and Peace in size. In a little over 200 pages, K&R manage to exhaustively cover C and its most commonly used libraries. For those interested in writing a compiler, they also include the grammar. The book is truly a tour de force in how much the authors have managed to cram into so few pages. There is very little redundancy, which is why it is a frustrating book for first-timers. Over the years I’ve acquired a number of C references and none come remotely close to this one for staying power; my other C references in truth are collecting dust, whereas I’m on my second copy of this one having worn out the first.

    As many of you know, C is the language created to develop Unix, which is why it retains its stature as a major programming language and why so much system software continues to be written in C or its derivative C++. If you are a professional, or at least reasonably good in some procedural programming language, with an interest in getting up to speed in C, this book is probably your best bet. It’s no accident that C compiler writers talk about their compilers being “white book C” compliant (which is why the white cover has been retained). K&R has long been the semantic standard for C, so if you want to be an expert, you should have a copy of this book to be able to get your knowledge of C from the horse’s mouth.

  10. Daaaave J

    I am a college grad student studying Information Security and we do some programming(mostly Java so far) but I wanted to begin learning C before I take classes that require it. I purchased this book based on the past reviews and the fact that it is written by the father of C. So far, I’ve read the first chapter and all I can say is that it is my favorite programming book I have ever read. It starts out simple(assuming you have some programming background of some kind) and cleanly and easily describes the code and what it does/why it does something. I know this is a short review but so far I’m addicted to this book(that never happens with a programming book) and I look forward to learning C. In short, pick this up if you want to learn C!

  11. Jeremy A.

    This book is literally the holy grail of programming books. It never assumes you are stupid or talks down to you. It is a very small book compared to the tomes you see sitting on store shelves for most programming languages but this is because it manages to convey the information in the quickest possible manner. It has plenty of code examples for you but it doesn’t ever hand you the solution to the problems it challenges you with.

    If you make it through this book and follow along with all the exercises and complete all the challenges then you will have a working knowledge of the C language. You might not be the greatest programmer in the world when you finish but you will have the most solid foundation possible to build upon. At first a lot of the concepts might not make sense and you may find yourself reading some chapters multiple times, I know I did. The book is challenging but like most things worth learning in life programming is not easy. Programming is a long journey and one where you never really stop learning. Everything you do in this book make seem pointless and you may think that you are doing simple tasks the long way because in some ways you are but no one ever started programming by writing a AAA application on the first try.

    Don’t buy into books that promise to teach you how to build hardcore games or applications right off the bat. You need a foundation for that knowledge and this is where you can get it. Don’t jump in the deep end of the pool before you learn to swim or you may regret that decision later.

    Having been programming for years this is one of the few books that I continue to carry with me and it has survived every summer cleaning of my bookshelf. It truly is an invaluable resource. I suggest you pick it up if you have any interest in programming.

  12. Joel Wade

    This update on the classic and Best book ever written teaching the C programming language has big shoes to fill, it does this hands down! Having been a C programmer for 15 years before getting cancer, I did use this edition in the last years of my professional career. In my previous job I instructed and mentored junior members of my team. In that position I personally spent my own money to buy books to find the best books to teach junior members. Out of 20 odd books I bought, read, & reviewed for my job – I felt K&R was the best. The only drawback most junior members commented on was that the solutions to exercises were in another book that they had to purchase.

  13. Mike Montgomery

    There are a great many books on programming and the C variants in general. The giant books, which are supposed to teach you everything, actually don’t do a good job at anything. I first bought the original text of this book (1st edition) in 1985. I bought the paper version of the 2nd edition shortly after it was released. Just recently I bought the digital version of the 2nd edition to keep it accessible. My paper version finally is ready for the recycling skip.

    Anyone that programs modern systems and/or in mobile environments will benefit from this text. Someone just trying to learn will find it indispensable because it grounds you in the fundamentals. Subsequent platform and API specific texts will refine skills and knowledge but without a proper foundation, your code will always suffer.

    One of the most common problems I find in supposedly “commerical grade” software is a lack of fundamental technique.

  14. Anonymous Customer

    If you’ve worked with C, you know it is terse, compact, and sometimes unforgiving. This book was the de facto standard for C prior to ANSI, and after that remained pretty definitive. This book is small, so one might mistakenly assume it is less thorough, but C is not a big language, and it doesn’t need a big book. The important thing is to understand the features that it DOES offer, because failure to get the nuances of those can be catastrophic. I am a software engineer by trade, and use C (usually ANSI but sometimes K&R for older things) and it’s still helpful to refer back to function references or the language specification. If you need a data structures book or algorithms or some kind of guidance how to go about writing programs, there are plenty of others on those topics; this book does not (and should not) cover those. If you need to know C and know it well, I highly recommend this.

    Having programmed SOMETHING is really all that one needs to understand the basics. Having seen the UNIX/Linux system calls is helpful, but that chapter is self-contained and one can learn the rest without an issue.

  15. Steven

    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.

  16. Guilherme Maciel Ferreira

    Whatever reason one finds to dislike this book, this is a book you must read, at least once. Any book written by the creator gives you a unique view of the language. No other book will give you this insight, no matter how good the book author is.

    I read this book 15 years ago, but only after I’ve graduate in CS I was able to grasp all the details, mainly the grammar. The authors condense a lot of knowledge in one sentence.

    Newbie programmers may find this book a bit dense, and it is definitively not the easiest place to start learning the language. However, sooner or later you will have to read this book to consider yourself a truly C programmer.

  17. nkun

    It’s a really nice resource to have. Being written by the guys who designed C is also great. However, I would not recommend this as a book to start programming. The book is technical and does expect the reader to have some knowledge of programming and computer architecture. If you are looking for a good place to start programming, Java may be a better place to start, as it is a higher level language with more strict requirements. The problem with C is that, if you are not sure about what you are doing, you may create some kind of error, but the program will still run. Java compilers are much pickier about how code is written, which is actually very good for a beginner as they will learn proper techniques of coding.

  18. Ryan James Spencer

    Like most technical programming literature, there is always a need to supplement, and as others will undoubtedly mention here and elsewhere, the K&R (as the book is called) is no exception to such supplementation, nor is it an ‘easy beginners’ book. The book is definitely designed to be a crash course into the C language, imposing some antiquated, dubious programming practices that may, if unknowingly followed religiously, may stick on the budding programmer. That said, the book is quick and relatively approachable. Personally, I managed to get through supplementing my reading with general online tutorials, the Stack Overflow database of questions, and The C Primer Plus (6th edition).

    It is outside of the scope of this review to point out all the ‘bad’ things that the K&R illustrates as acceptable, and it’s more of the burden on the reader to explore as many technical books on best practices and heuristics to separate out the questionable practices from the definitely positive, strong ones. This said, the book is not a ‘best practices’ tome in the likes of Code Complete (McConnell). The book is designed to get readers to understanding (actively and passively) the inner workings of the C language. Side note: for most programming texts it is often better to march ahead and keep reading and examining when you don’t understand what’s going on; don’t get held up trying to figure out a section of a section: instead, get to the end of the section and then struggle with wrapping your head around the concepts.

    tl;dr: The K&R is rightly a classic for it’s ‘crash course’ approach, but it will not teach you the C language entirely on it’s own. You will need to explore the ideas in more than one form (like most programming or mathematical concepts) in order to get a clearer, more succinct view, and although I do not doubt that there are many fantastic and direct technical books that do just this, the K&R is not one of them.

  19. Sam Rapaport

    Currently half way through this book. I’ve worked for about a year in front end web dev and python dev. If you have never programmed before, this book is not for you, as it assumes you know basic to intermediate programming strategies concepts and terminology. This is not a tutorial book on programming, it is a tutorial book on C. If you have experience programming in a higher level language and want a challenging language to learn, you’ll love this book. Not only does it teach you C, but it indirectly helps you better understand data types and developing good program structure. It focuses almost 100% and string manipulation, which is good and bad, I wish there were other concepts, but either way this book is great. Huge reference in the back to stdlib functions as well as all the semantics of C, certainly a resource that I believe I will always make use of even after years of C programming. Worth the money. Awesome book!

  20. Chad Philip Johnson

    Kernighan and Ritchie present the C Programming Language to the learner in a most direct way. As a result, nearly every word in every sentence counts. No effort is made to present the material in one particular learning style over another. The material is described succinctly but also with great thoroughness. The beauty of the book is discovered when the reader comes to understand that what is here somehow suffices.

    That said, this $#!+ is not easy. For an inexperienced programmer, or someone who is just starting out, a more forgiving supplementary C Programming Language text is more or less required. I used Practical C Programming by Steve Oualline, which has end-of-chapter exercises that offer some amount of hand holding, something you won’t find in the excellent exercises here.

    The book is not perfect, but I wouldn’t argue with someone who claimed it was. Buy it, and then continue to read it over and over again until the material gradually shifts from the intimidating to the comfortable.

  21. Nguyen Thanh Binh

    I bought this book 2 years ago and it’s absolutely helpful for my academic study. My dream job is Application programmer so this book is the best guideline to me in very first steps. This book is published on April 1, 1988 but it still has been useful for me in from 2 years ago to now. Thanks to it, now I have a strong fundamental to upgrade from C to Java and then Android programming language. The book will guide you to write your very own and easy program, I still remember it and I think if you guys read it, you will never forget, this is “Hello World”. Little by little, it will help you in advanced method in C with definitions and tutorials. In my opinion, going through this book is more valuable than many university class. There is also references at the back of this book, you can find it helpful in some tutorial. Totally, it’s hard to find a small (272 pages), clear and informative book like this one in many C programming language books.

  22. Phillip D’Amore

    This is a solid resource to learn C from. It’s very well organized and quickly gets you through a lot of useful functions, loops, etc within the first few chapters, with plenty of exercises to work through. It’s not a book for absolute beginners because it does assume you have some basic programming knowledge outside of C. In addition, you’ll be on your own for finding a compiler and figuring out how to work with it, so Google is your best friend with that (I’m using Eclipse with the MinGW Compiler).

    My only complaint is that many examples in the book are not particularly interesting. Yes, they do test and improve your skills related to that section of the book, but they could have a more interesting/useful context. Some are painfully boring, like writing a program that counts blank spaces or tabs. I just think that starting the book out with more interesting applications would make it easier and more fun to go through. They should take a leaf out of CodeAcademy’s book for their next edition.

  23. Jason W. Hamilton

    I studied C++ in college (when most students were studying Java), spent some time doing Java at a couple of places, and now primarily use Python. But a project came up that I wanted to be super simple and run on Windows and Linux, so I wrote it in C. Just spending a couple of months in C has made me a better programmer. I strongly suggest checking out Zed Shaw’s Learn C the hard way, and

    21st Century C: C Tips from the New School

    to get information on modern tooling and style. But if you can get a copy of K&R on hand, it is a great reference.

    One of the brilliant things about the book is it is a technical reference, and an old one at that from a time when computers were arcane, but the style is very approachable. My impression is that Kernighan had a lot to do with that style. The text is concise, but they give some hints on how to handle things so you don’t shoot yourself in the foot.

  24. Aaron Batilo

    The C programming language is such a clean, condense, and focused book on exactly what you want to learn: the C programming language. In the beginning of the book they even explicitly tell you how they aren’t there to try and teach you the fluff, or writing clean code. The book is there to teach you about one of the most important languages of our modern world. This book is a must have for any developer who wants to take their personal advancement seriously. Even if you don’t use C in your daily job or life, I personally believe you should still learn it and use this exact book because nobody can explain it more clearly than the creators of the language.

  25. Andy

    C from the fathers of C. This book is esther terse. However, I really like it, and that’s is one of the reasons. I cuts right through the chase. It’s not your regular academic book which spends 2 chapters to explain functions or loops. Instead it teaches you how to use the language without going around in circles. Although, the book is small, it still has a great deal of content in each of its chapters. Therefore, make sure you have some knowledge of some other programming language under your belt. I rate it 5 stars because it really deserves it. My only complaint is that the book started falling apart in just two weeks. But well it was a used book that looked like new initially.

  26. Enzo

    As a student learning C for the first time, this book and the accompanying answer book are decent books and I would recommend them.

    Yet despite this, I believe there are alternative books which would have made the learning experience at first much easier.

    If you have zero experience with programming or C in general, C Programming Absolute Beginner’s Guide by Greg Perry and Dean Miller would be the best place to start. It does not get any simpler than this and the book is written with this in mind.

    Head First C by David Griffiths is another recommendation which is beginner friendly. Plenty of visual representations with a sense of humor to keep you interested. Straight forward and easy to follow.

  27. William P Ross

    The C Programming Language is a fantastically written book on learning the C programming language. On the back cover of the book the authors state that “C is not a big language, and it is not well served by a big book.” While relatively short, the book packs a ton of information with most sentences containing direct and clear language.

    Beginning chapters focus on what you would expect, such as variables, the type system, control statements, and functions. Most aspects of the language get 2-4 pages of description.

    I found there to be a huge jump in difficulty for me starting in chapter five which was about pointers. I read the book fully through and initially thought chapter five was unnecessarily confusing. Later I went back and re-read the chapter and realized the explanations were good, but they require work and thought. This is not a book for skimming through. There are also exercises included at the end of many sections for those looking to master C.

    The authors assume you are already a programmer as there are comparisons to Fortran and Pascal sometimes. Examples in the book were relevant to common tasks a programmer might need. I appreciated there was an example of UNIX’s grep, shown to be implemented in C.

    While the book was published in 1988, it still reads well. For those unfamiliar with C, the language itself has not changed that much the publication of the book. Although there a quite a few references to practices before ANSI C.

  28. Norwin Avila

    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.

  29. Samantha Posyton

    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.

  30. Chuck Moore

    Hard to find, but you won’t find a better introduction to C programming! The book is easy to read, the example programs actually work, and when I first bought a copy of this book twenty-five years ago, I was able to write a C program to search a very large database and present a nicely structured screen display. Of course, in those days, the program was running under MS-DOS and I didn’t have to deal with the Windows API. Nevertheless, Kernighan and Ritchie have written the definitive text for those who wish to learn ANSI C. If you can find one of these, get it!

  31. Will M.

    The most famous of all C programming books, and the original publication of the hello world script. A really good read, which is not too long. I read this mainly as an intro to C. If you’re serious about the language, I would definitely consider following this up with a more recent book. The 2nd edition covers ‘ANSI C’ but since its publication the language has progressed to different ‘ISO’ specs. There are some differences, but for the most part, this is a good place to start and should definitely be on any programmer’s reading list in my opinion.

  32. Roshan Parekh

    Great book to learn C Programming from even though it is dated (we are on C11). The information is still relevant and insightful. All you need to do is basically catch up on current standards and that is easy to do since you’ll know fundamentals. Just a reminder this book isn’t geared toward programmers that never programmed before, it is a book on C and it’s features. That’s why it’s so small! C programming books like the one by King are thick, because they go slow and explain concepts throughly which is great for beginners. Again, this book just teaches C but it does it well.

  33. Al Arzamendi

    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.

  34. Jason Poole

    This is the definitive book for C programmers. Written by the creators of the language, this is the best reference/tutorial on how to start programming with C. You will learn everything about the core C language in all of the ~260 pages. I really can not express how good this book is, but be warned that it is a little on the pricey side. It’s worth it.

  35. 🦆

    This book is well printed, has a complete Table of Contents, an appendix, and an index. This is my first and only recommendation for learning C ESPECIALLY as a beginner. If you’re coming from Python having good syntax might throw you off but once you adjust you will see why everyone hates writing in Python.

  36. Chastity White Rose

    I previously bought a used copy of the first edition of this book. I can see that the second edition is much more up to date and much bigger. I use it as a reference book for when I need to see how something is done in C when I get the programming itch.

  37. M

    Considering I need to know C before anything else, this is just a precaution to make sure I never forget anything. Still I love this book and it is informative on how to program.

  38. Tom G

    K&R is my favorite book on C. Bought it to replace my first edition K&R which was wearing out. I like the added section on library functions.

  39. Arturo Lopez

    I liked that the book because it goes in depth into the C Programming language and in not that many pages. I have no dislikes it’s a great book in it’s entirety.

  40. Todd Riemenschneider

    So I have picked up and put down this book more times than I can count. I got this book originally in 2021. So this past week 06/09/2024, I started the book over. Read about a chapter and a half per day. Then today Sunday one week later I finally finished it. I’ve done some programming in C. So, my goal was not to do every exercise in the book, as I know I would not complete them and I would stop reading. The goal was to read the book from front to back reviewing the authors examples to the point I had some understanding of what was going on. Was this the greatest programming book I have ever read? No, no it was not. Was it good? Yes, in some spots. Will I use other books to further my knowledge. Absolutely… This was a hard book to read. I think if you’re a low level programmer and that’s your thing you will get more out of it than I did. I’m looking to build applications not systems. But I wanted to see how the engine runs. That was my goal with the book. So do I think I could build an engine now? No. Hell no.. There are easier to digest books that I think I actually learned more from. At this point if you’re just getting started I would recommend starting out with Modern C for Absolute Beginners, Head first C, C Programming – Absolute Beginners Guide and or C Programming in Easy steps 5th edit. I would say I got as much out of those books as I did with this without the aggravation of feeling kind of stupid. If you are a person that can sift through densely packed material, then this book is for you. I’m not. But it’s done and I can put it back on my shelf knowing it’s read. Now on with my life.

  41. Bill P

    The very best book ever written about a programming language. This is my second copy

  42. John A. Kontogianis

    By the c language creators.

  43. I remain, Ragman

    An engineer I work with considers This the Bible of C
    Meaning if you want to understand the Roots of C, this is the GoTo

  44. Brian Lawrence

    Great book for me — an adult reader with a technical background who is learning C. I’m already familiar with programming (do they call it “coding” nowadays?) and I’ve done a lot of work in Python. Given that, I found it easy to pick up C from the book.

    You could read this as a beginner as well — I might get it as a gift for a smart high-school kid. But it won’t be easy.

    The book is clearly written with good examples and exercises. Some of those exercises are pretty hard! I skipped most of them, because I have my own projects I want to do instead. But if you’re learning C for the first time, I recommend them.

  45. A

    Great book, this edition had a mediocre cover which folds easily.

  46. Shaun

    This is by far the best C programming book I’ve ever read.
    I’d like to point out that this is not the no-brain book for beginners with no programming experience at all. You probably need to learn some computer architecture, data structure, algorithms, and other programming experience, even just python.
    The book is very concise, less than 200 pages for the body, but to the point. Neither complicated nor redundant. The examples are really great to illustrate the concept and some necessary programming skills.
    If you need to get to the hardware closer or learn algorithms further, I would like to recommend this book.
    If you are just doing data processing and have no need or interest to algorithm, I wouldn’t recommend it. You can start from python or other well encapsulated languages. You can use lots of packages to finish the transaction work.

  47. Toby

    Great intro book to the C language. It’s definitely a bit dated and can be hard to read at times, especially with a few of the examples, but definitely the premier book to learn C.

Add a review
X

New item(s) have been added to your cart.

Quantity: 1
Total $20,00
Mindset Mathematic (9 books) Original price was: $275,99.Current price is: $74,99.
Quantum Computing: A Primer Course and Its Applications in Machine Learning Original price was: $1.119,99.Current price is: $74,99.
The Art of Computer Programming (6 books) Original price was: $499,99.Current price is: $54,99.
Math Illuminated: A Visual Guide to Calculus and Its Applications (4 book series) Original price was: $164,99.Current price is: $40,00.
Advanced Thinking Skills (4 book series) Original price was: $165,95.Current price is: $40,00.
The Great Mental Models (4 book series) Original price was: $135,00.Current price is: $39,95.
Learn Physics with Calculus Step-by-Step (3 book series) Original price was: $159,95.Current price is: $30,00.
The Robert C. Martin Clean Code Collection (Collection) (Robert C. Martin Series) Original price was: $66,79.Current price is: $27,95.
Mastering Mathematical Foundations: A Comprehensive Guide with 510+ Practice Problems Original price was: $129,99.Current price is: $25,00.
Master Mental Math: Unlock Your Mental Calculation Power with Vedic Techniques Original price was: $119,99.Current price is: $25,00.
Geometric Algebra: A Comprehensive and Illuminating Guide Original price was: $129,99.Current price is: $25,00.
College Algebra: A Guided Exploration Original price was: $149,99.Current price is: $25,00.
Python Animation for Engineers: A Visual Toolkit for Data and Systems Original price was: $199,95.Current price is: $25,00.
Comprehensive Discrete Mathematics for Computer Science and Mathematics Students Original price was: $174,99.Current price is: $25,00.
Python for Mathematical Foundations: Linear Algebra, Calculus, Trigonometry, and Beyond Original price was: $174,99.Current price is: $25,00.
GCSE Mathematics: Essential Foundations Original price was: $69,99.Current price is: $25,00.
Calculus of Variations: A Primer on the First Variation Original price was: $129,99.Current price is: $25,00.
Stata Tips, Fourth Edition, Volumes I and II Original price was: $79,99.Current price is: $24,95.
The Long-Form Math Textbook Series (2 books) Original price was: $92,95.Current price is: $24,91.
Code: The Hidden Language of Computer Hardware and Software Original price was: $64,99.Current price is: $20,00.
The Art of Game Design: A Book of Lenses, Third Edition Original price was: $112,00.Current price is: $20,00.
The Colossal Book of Mathematics: Classic Puzzles, Paradoxes, and Problems Original price was: $40,99.Current price is: $20,00.
Integer Programming Original price was: $131,95.Current price is: $19,99.
Choral Counting & Counting Collections Original price was: $42,99.Current price is: $19,99.
Deep Learning: Foundations and Concepts Original price was: $89,99.Current price is: $19,99.
An Introduction to Stata for Health Researchers Original price was: $79,99.Current price is: $19,99.
Calculus: Early Transcendentals, Metric Edition Original price was: $149,00.Current price is: $19,99.
Objective Bayesian Inference Original price was: $143,99.Current price is: $19,99.
The Mathematics of Politics Original price was: $77,99.Current price is: $19,99.
Effective Java Original price was: $59,99.Current price is: $19,99.
Elementary and Middle School Mathematics: Teaching Developmentally Original price was: $199,99.Current price is: $19,99.
Machine Learning for Physics and Astronomy Original price was: $120,49.Current price is: $19,99.
Finite Mathematics and Applied Calculus Original price was: $312,99.Current price is: $19,99.
An Introduction to Systems Biology (Chapman & Hall/CRC Computational Biology Series) Original price was: $160,00.Current price is: $19,99.
Quantum Measurement: Theory and Practice Original price was: $69,99.Current price is: $19,99.
Visual Differential Geometry and Forms: A Mathematical Drama in Five Acts Original price was: $113,51.Current price is: $19,99.
Scalar, Vector, and Matrix Mathematics: Theory, Facts, and Formulas - Revised and Expanded Edition Original price was: $214,00.Current price is: $19,99.
Mathematical Modeling and Applied Calculus Original price was: $130,00.Current price is: $19,99.
Linear Algebra Done Right (Undergraduate Texts in Mathematics) Original price was: $49,99.Current price is: $19,99.
Navidi, W: ISE Elementary Statistics Original price was: $38,99.Current price is: $19,99.
Linear Optimization and Duality: A Modern Exposition Original price was: $77,59.Current price is: $19,99.
Basic Physics: A Self-Teaching Guide, 3rd Edition (Wiley Self-Teaching Guides) Original price was: $38,99.Current price is: $19,99.
Precalculus: Mathematics for Calculus Original price was: $312,95.Current price is: $19,99.
Foundations of Modern Physics Original price was: $47,99.Current price is: $19,99.
Real Analysis: A Long-Form Mathematics Textbook (The Long-Form Math Textbook Series) Original price was: $37,99.Current price is: $19,99.
Numerical Methods for Engineers and Scientists Using MATLAB® Original price was: $191,25.Current price is: $19,99.
Physics for Scientists and Engineers with Modern Physics Original price was: $237,99.Current price is: $19,99.