Jump to ratings and reviews
Rate this book

C Programming: A Modern Approach

Rate this book
The first edition of C Programming: A Modern Approach was popular with students and faculty alike because of its clarity and comprehensiveness as well as its trademark Q&A sections. Professor King's spiral approach made it accessible to a broad range of readers, from beginners to more advanced students. With adoptions at over 225 colleges, the first edition was one of the leading C textbooks of the last ten years. The second edition maintains all the book's popular features and brings it up to date with coverage of the C99 standard. The new edition also adds a significant number of exercises and longer programming projects, and includes extensive revisions and updates.

832 pages, Paperback

First published January 1, 1996

131 people are currently reading
877 people want to read

About the author

Kimberly Nelson King

5 books7 followers

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
237 (56%)
4 stars
117 (27%)
3 stars
41 (9%)
2 stars
19 (4%)
1 star
4 (<1%)
Displaying 1 - 30 of 43 reviews
421 reviews84 followers
December 1, 2016
This is an excellent, thorough tutorial on the C programming language. I loved how simple the explanations were. Nothing was dumbed down or belabored, but a beginner to C will feel right at home here. Examples were straightforward, and only offered when they were helpful. It's packed full of exercises and programming projects.

My favorite thing is the Q&A section at the end of every chapter. All those weirdnesses about C that make people scratch their heads, this book either explains it, or at least admits that it's weird. Just this alone is so helpful to people new to the language, because it reassures them they're not dumb. Every language has its warts, so it's important to know they're just warts, and not just a failure to understand.

This book tries hard to be thorough, and cover the entire language. This is probably too ambitious. There are some dark corners of the standard library, particular in C99, that no one needs to know about except very tiny niches. This is especially true for advanced mathematics. This stuff is so specialized that I almost wonder if it shouldn't have been included in the standard. That's what 3rd-party libraries are for. But it's in the language, so this book includes it.

The title seems a little funny in 2016. It's a "modern approach," and yet the version of C it covers is decades old. Even the latest version is already five years old. Time for a 3rd edition? It's kind of strange for a book to call itself modern when it's no longer modern. I guess C works on a different time scale from the rest of technology, and I guess that's what I love about it. While everything else is constantly changing, C is still basically C.
Profile Image for Moataz.
13 reviews13 followers
December 5, 2014
This book was the first book which I read in Computer science. It was three years before and all of my experience in dealing with this device which called computer is how to restart and shutdown it!

After reading about seven chapters I fall in programming love, and only two chapters ahead and it becomes one of the most interesting things that I did before.

I was reading it in an academic course at the first level of my faculty, and after finishing the course we was studied only twelve chapters from this book, and I completed the book and some of its programming assignments on my own. At this course I got A+ and it still the highest score I got forever. All of this was because the extremely impressive illustration style of this book.

Some programming topics I didn't found it as simple as here anywhere, some of them are introductory such as Multidimensional arrays and functions, and some of them may be more advanced such as pointers.

It's a very powerful book to begin learning programming with, despite it illustrates a very old programming language in the programming world which is C programming
Profile Image for Michael.
815 reviews93 followers
October 25, 2012
I heartily endorse this book, it is one of my favorites and is so well written I almost consider it literature! It is best used as a teaching book, I don't use it for reference there are other books that are better at that. But even if you already know C, this book is a great tool for helping you understand it better.

By the way, I was there as a student at the very beginning when Dr. King was putting this book together, I even got to proofread some of his early drafts, maybe my name is in the acknowledgments, I can't remember. One thing I do remember is that he had the idea to put notes in the margins as references to other sections of the book, for further reading, kind of like web links on paper. This was before any of us really used the Internet as much as we do today, you understand. It was a very creative and fun idea, although I have no idea how much people actually used them when reading the book.
Profile Image for Josh.
153 reviews11 followers
Read
December 4, 2015
A very detailed treatment of C. C is a powerful and at times frustrating language. This book helps simplify the language quite a bit. If you're looking for a more detailed alternative to K&R this isn't a bad choice.
Profile Image for Pasq.
13 reviews2 followers
May 1, 2020
Even better than K&R
Profile Image for Ajam.
164 reviews15 followers
dnf
November 27, 2021
N/A
Pitched as the spiritual (& updated) successor to K&R's The C Programming Language , this one does a good enough job, however it hasn't been updated since '08 and is based on C99. Granted, the language hasn't changed significantly, still the succeeding iterations; C11, > C17 and soon to be revised and released C2x, coupled with the fact that it's 2021 and there are infinitely better (& Interactive) and Updated resources freely available, wouldn't recommend unless one really likes antique weighty textbooks, in such case nvm....
Profile Image for caisah.
27 reviews
July 23, 2013
This is a comprehensive book covering the C programming language. The book tries to cover all the aspects of C, underlining the C99 standards.

Every chapter contains 4 parts. The first part explains the paradigm and sometimes shows code snippets or entire programs. The second part is named Q&A and tries to handle all the special cases or specific problems by answering some very well chosen questions. The third part contains some exercises one can answer by just reading the text or by writing and executing a small program, and the forth proposes some programming exercises one should do in order to gain full understanding of the subject.

The book is a little too thick and one would better use it as a reference book. The writing is OK but some of the explanations are long and a few subjects not very easy to grasp. Also there are some pieces of code that are difficult for a newcomer to easily understand, but I guess that is the author's style.
Also the exercises are most of the time related to the previous chapters which makes it hard to follow and do it all.

The main advantage of this book is clearly the coverage of the "modern" C99 standard. Every chapter has references to this standard and a clear explanation of what was changed or improved.

Overall it is a good book to have but I would not call it exceptionally.
15 reviews7 followers
February 5, 2019
A great book for learning the programming language C as a beginner who knows nothing about programming beforehand. Mind though, this is the only book I have read on C Programming so I have nothing to compare it with. But this book did not disappoint at all.

It consists of several chapters with exercises at the end of each solving which gives you a better grasp on the language. Also, lots of facts related to programming are thrown at the reader which all help in understanding the world of computers better as you delve deeper into the subject. It starts off with basics and with lots of exercises and towards the middle, the exercises tend to get shorter as the topics get more detailed and deeper. Hence, it gives you a good grasp on the basics and introduces you to everything else. To go deeper, you'd have to refer to other sources.

Also, the book follows C99 which did not cause me any problems despite C11 being popular at the time of my reading. Did not feel outdated at all.
Profile Image for Phúc.
10 reviews
October 6, 2020
Before I learnt C, I learnt Python since everyone recommended it for the simplicity. So, Python was my first programming language. However, after reading this book, I would suggest C as the first language for everyone. The book by Mr.King has taught me the beauty and the importance of C. It's not only the language I learnt from this book. It's the way of thinking as a programmer which is truly rewarding.

What takes a few lines in other languages might take much more in C. Don't let that discourage you. It is necessarily hard for your development.
Profile Image for Andrea D'Agostino.
2 reviews
December 23, 2017
L'ideale per avvicinarsi alla programmazione in c e più in generale per chi non ne sa molto di programmazione, chiaro e con esempi facili da capire aiuta molto anche la sezione finale di ogni capitolo in cui fare esercizi o chiarire i casi più ostici del linguaggio
21 reviews2 followers
October 31, 2024
What an incredible and thorough introduction to the C programming language. I have used K&R in the past, but I found Prof King's delivery much more impactful. The exercises and projects I felt were at a good balance of difficulty and time involvement. The ordering of topics built nicely and I especially liked the last few chapters when she discussed program design and the tour of the standard library. Overall, I would highly recommend this book to anyone that wants to learn C.
Profile Image for Takumi Crary.
3 reviews
April 15, 2022
The book does a great job at identifying and presenting C language pitfalls. Might be a little dated now but perfectly good for a beginner trying to learn C99 paired with K&R C (Which is how I started seriously coding after lightly learning C++/Java previously). The level of rigor regarding programming work in the language was crucial for me early in my career.
3 reviews
Read
June 20, 2021
Following some friends advice, I shouldn't be spending that much time with C because of low usability in the industry and none of the classes in uni are going to require it, which is very sad. Still going to finish K&R sometime.
Profile Image for Shahzad.
27 reviews
January 12, 2025
I just wanted a glimpse on c and I think the book is unnecessarily long , most of the parts doesn't contains useful information which you will use daily. therefore I am giving it 3 stars. fairly decent book for those who wants to know about C.
Profile Image for Jonathan.
24 reviews4 followers
August 11, 2025
Read up to and including Ch 24. This builds the language much more slowly than does K&R C but eventually discusses everything much more systematically. The coverage of the standard library was particularly useful.
5 reviews3 followers
March 22, 2020
Not only a fantastic introduction to C, but a model for writing technical textbooks.
2 reviews
May 8, 2021
A very good first book to learn C. It is a little bit vague in some parts, but very good in general.
2 reviews1 follower
September 12, 2022
Changed my life. It is a little bit of a chore to get through, as it's quite verbose. But it's the best, most comprehensive way to learn C.
Profile Image for Xovee Xu.
188 reviews
February 9, 2022
差点忘了标记了。大一的C教材,考研分数院线出来后,赶紧看了一遍,到16章。复试吧,C的题跟去年的一大半雷同,最骚的是,我考前根本不知道去年的题,我考完以后群里面有人把去年的题发出来了。吃大亏,他们好像都知道去年的题。不过笔试也算过了。最惨的是面试的时候,我居然不知道要考计组和操作系统,只准备了一丢丢计网。这次考研真是稀里糊涂,很多重要信息都不知道。亏我是本校本院考生,啧啧。
Profile Image for idle sign.
36 reviews1 follower
June 6, 2015
Хорошая, основательная книга. Особо хочется отметить наличие после глав секций вопрос и ответов, в которых часто раскрываются интересные технические подробности и нюансы. В конце книги разместились главы с описанием стандартной библиотеки языка, что позволяет использовать издание в качестве справочника. Большое внимание уделяется различиям между C89 и C99.
Profile Image for Maximiliano Contreras.
5 reviews1 follower
June 8, 2016
Easy to read, full of real insight and, probably, the best all-in reference I had encounter since I started to learn C.

In general, I have my reservations with big all-in books, but this was a surprise. A delight, well above the classic C book.

Absolutely recommendable.

Also gives some initial hints for serious programming (low level, modularity and error handling).
35 reviews1 follower
April 16, 2016
I'm an absolute beginner and I approached about 4 different books in my pursuit of learning C including the classic K&R (which I found relatively unfriendly to total beginners). This text was by far the most accessible. Really got far with this.
Displaying 1 - 30 of 43 reviews

Can't find what you're looking for?

Get help and learn more about the design.