C is a great programing language to start as a beginner programmer. However, it is also an essential language for any professional programmer.
“C programming is a craft that takes years to perfect. A reasonably sharp person can learn the basics of C quite quickly. But it takes much longer to master the nuances of the language and to write enough programs, and enough different programs, to become an expert.” Peter van der Linden (1994)
With that being said, here is a list of ten most recommended C Programming books for expert programmers. Many of them have “Highly Recommended” or “Recommended” reviews by Association of C and C++ Users (ACCU). Some of them are listed in StackOverFlow’s Definitive C Book Guide and List under Expert level books and Best C Books to learn question on Quora and BookAuthority’s 8 most recommended c books.
21st Century C – Ben Klemens (2014)
With this revised edition of 21st Century C, you’ll discover up-to-date techniques missing from other C tutorials, whether you’re new to the language or just getting reacquainted. The book not only covers C, but the tools needed to write good code. This includes Make, Git, GDB, autotools, and valgrind. It also covers a number of useful C libraries.
Advanced Programming in the UNIX Environment – Richard W. Stevens and Stephen A. Rago (2013)
This is a comprehensive description of how to use the Unix APIs from C code. This book is targeted at readers with a working knowledge of UNIX and C. It includes chapter long examples of real-world applications, and manages to simultaneously serve as an enlightening tutorial and a valuable reference book.
Computer Programming: An Introduction for the Scientifically Inclined – Sander Stoks (2008)
Great book about scientific use of programming languages. This book has chapters on scientific simulations and computer graphics and including an overview of available (scientific) libraries. This book is a great book to be used by both programmers and scientific students. This is a highly recommended book as it will take you through a personal journey of discovery and learning which is difficult to find in many computer books these days.
C Programming – A Modern Approach – K. N. King (2008)
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.
Reversing: Secrets of Reverse Engineering – Eldad Eilam (2005)
This book provides readers with practical, in-depth techniques for software reverse engineering for those those who want to test the limits of their ethics. This book shows how to deconstruct software in a way that reveals design and implementation details, sometimes even source code.
Advanced C Programming by Example – John W. Perry (1998)
What sets this book apart from traditional data structures books is it’s “blue collar” approach to the art of programming — how to master the “down in the trenches” C details to implement abstract ideas successfully.
C & C++ Code Capsules – Chuck Allison (1997)
This book includes a wide variety of ideas, tips and techniques for programmers of all skill levels. It presents little-known facts about pointers and the pre-processor that are a must for the professional developer. It offers tips and techniques for more effective use of abstraction, templates, bit manipulation, visibility, control structures and exceptions.
Expert C Programming: Deep C Secrets – Peter van der Linden (1994)
Lots of interesting information and war stories from the Sun compiler team, but a little dated in places. Expert C Programming reveals the coding techniques used by the best C programmers. It relates C to other languages, and includes an introduction to C++ that can be understood by an programmer without weeks of mind-bending study.
Advanced C Struct Programming – John W. L. Ogilvie (1990)
Buy this book, set aside a regular time to work at it, stick to your routine and find yourself becoming far more professional in your programming.
Advanced C: Food for the Educated Palate – Narain Gehani (1985)
Great on pointers, pointers to functions, and a variety of advanced topics, such as how stuff is stored in memory, dynamic memory, stack usage, function calling, parameter passing, etc. Assumes you have a good grasp of C to start with. Warning: pre-dates the ANSI standard and a lot of modern programming design.