The 13 best C books of all time

A data-backed answer

🤓

Methodology

There are countless lists on the internet claiming to be the list of must-read C books and it seemed that all those lists always recommended that same books minus two or three odd choices.

Finding good resources for learning programming is always tricky. Every-one has its own opinion about what book is the best to learn, and as we say in french, “Color and tastes should not be argued about”.

However I though it would be interesting to trust the wisdom of the crown and to find the books that appeared the most in those “Best C Book” lists.

If you want to jump right on the results go take a look below at the full results. If you want to learn about the methodology, bear with me.

I’ve simply asked Google for a few queries like “Best C Books” and its variations of. I have then scrapped all those pages (using ScrapingBee, a web scraping API I’m working on).

I’ve deduplicated the links and ended up with nearly 107 links. Using the title of the pages I was also able to quickly discards:

I ended up with almost 98 HTML files. I went on opening all the files on my browser, open my chrome inspector, found and wrote the CSS selector matching book titles in the article. This took me around 1hours, almost 30 seconds per page.

This also allowed me to discard even more nonrelevant pages, and I discarded a lot. In the end I compiled around 58 lists into this one.

Book titles were then extracted with manuel extraction and some web scraping.

I ended up with a huge list of books, not usable without some post-processing.

To find the most quoted C books I needed to normalize my results.

I had to play with all the different variation like “{title} by {author}” or “{title} - {author}”.

Or “{title}:{subtitle}” and “{title}”, or even all the one containing edition number.

And afterquite a bit of manual cleaning.

My list now looked like this:

From there it was easy to compute the most recommended books. You can find all the data used to process this list on this repo. Now let’s take a look at the list:

I've also recently used some data from different book sellers in order to not forget important books and try to give more weight to books with incredible reviews.

Results

13
)

Effective C: An Introduction to Professional C Programming

by
Robert C. Seacord
4.1
% recommend
🛒   Buy
A detailed introduction to the C programming language for experienced programmers. The world runs on code written in the C programming language, yet most schools begin the curriculum with Python or Java.

Effective C bridges this gap and brings C into the modern era--covering the modern C17 Standard as well as potential C2x features. With the aid of this instant classic, you'll soon be writing professional, portable, and secure C programs to power robust systems and solve real-world problems.

Robert C. Seacord introduces C and the C Standard Library while addressing best practices, common errors, and open debates in the C community.

Developed together with other C Standards committee experts, Effective C will teach you how to debug, test, and analyze C programs. You'll benefit from Seacord's concise explanations of C language constructs and behaviors, and from his 40 years of coding experience
Amazon.com
12
)

Computer Science: A Structured Programming Approach Using C (3rd Edition)

by
Behrouz A. Forouzan & Richard F. Gilberg
4.4
% recommend
🛒   Buy
The third edition of Computer Science: A Structured Programming Approach Using C continues to present both computer science theory and C-language syntax with a principle-before-implementation approach. Forouzan and Gilberg employ a clear organizational structure, supplemented by easy-to-follow figures, charts, and tables
Amazon.com
11
)

C# 9 and .NET 5 – Modern Cross-Platform Development: Build intelligent apps, websites, and services with Blazor, ASP.NET Core, and Entity Framework Core using Visual Studio Code, 5th Edition

by
Mark J. Price
4.7
% recommend
🛒   Buy
A comprehensive guide for beginners to learn the key concepts, real-world applications, and latest features of C# 9 and .NET 5 with hands-on exercises using VS Code Key Features Explore the newest additions to C# 9, the .NET 5 class library, Entity Framework Core and Blazor Strengthen your command of ASP.NET Core 5.0 and create professional websites and services Build cross-platform apps for Windows, macOS, Linux, iOS, and Android Book Description In C# 9 and .NET 5 – Modern Cross-Platform Development, Fifth Edition, expert teacher Mark J. Price gives you everything you need to start programming C# applications.

This latest edition uses the popular Visual Studio Code editor to work across all major operating systems. It is fully updated and expanded with a new chapter on the Microsoft Blazor framework.

The book's first part teaches the fundamentals of C#, including object-oriented programming and new C# 9 features such as top-level programs, target-typed new object instantiation, and immutable types using the record keyword. Part 2 covers the .NET APIs, for performing tasks like managing and querying data, monitoring and improving performance, and working with the file system, async streams, serialization, and encryption.

Part 3 provides examples of cross-platform apps you can build and deploy, such as websites and services using ASP.NET Core or mobile apps using Xamarin.Forms. By the end of the book, you will have acquired the understanding and skills you need to use C# 9 and .NET 5 to create websites, services, and mobile apps.

What you will learn Build your own types with object-oriented programming Query and manipulate data using LINQ Build websites and services using ASP.NET Core 5 Create intelligent apps using machine learning Use Entity Framework Core and work with relational databases Discover Windows app development using the Universal Windows Platform and XAML Build rich web experiences using the Blazor framework Build mobile applications for iOS and Android using Xamarin.Forms Who this book is for This book is best for C# and .NET beginners, or programmers who have worked with C# in the past but feel left behind by the changes in the past few years. This book doesn't expect you to have any C# or .NET experience; however, you should have a general understanding of programming.

Students and professionals with a science, technology, engineering, or mathematics (STEM) background can certainly benefit from this book. Table of Contents Hello, C#! Welcome, .NET Core! Speaking C# Controlling Flow and Converting Types Writing, Debugging, and Testing Functions Building Your Own Types with Object-Oriented Programming Implementing Interfaces and Inheriting Classes Understanding and Packaging .NET Types Working with Common .NET Types Working with Files, Streams, and Serialization Protecting Your Data and Applications Working with Databases Using Entity Framework Core Querying and Manipulating Data with LINQ Improving Performance and Scalability with Multitasking Introducing Practical Applications of C# and .NET Building Websites Using ASP.NET Core Razor Pages Building Websites Using the Model-View-Controller Pattern Building Websites Using a Content Management System Building and Consuming Web Services Building Intelligent Apps Using Machine Learning Building Web User Interfaces Using Blazor Building Cross-Platform Mobile Apps Using Xamarin.Forms Appendix A (Bonus Chapter) Appendix B (Bonus Chapter)
Amazon.com
10
)

Embedded Systems with ARM Cortex-M Microcontrollers in Assembly Language and C: Third Edition

by
Yifeng Zhu
5.0
% recommend
🛒   Buy
Significant changes in the third edition include updated serial communication description (UART, SPI, and I2C), new serial communication examples, incorporation of GNU gcc compiler, low power modes, modification of example programs from STM32L1 (Cortex-M3) to STM32L4 (Cortex-M4). The book introduces basic programming of ARM Cortex-M cores in assembly and C at the register level, and the fundamentals of embedded system design.

It presents basic concepts such as data representations (integer, fixed-point, floating-point), assembly instructions, stack, and implementing basic controls and functions of C language at the assembly level. It covers advanced topics such as interrupts, mixing C and assembly, direct memory access (DMA), system timers (SysTick), multi-tasking, SIMD instructions for digital signal processing (DSP), and instruction encoding/decoding
Amazon.com
9
)

Test Driven Development for Embedded C (Pragmatic Programmers)

by
James W. Grenning
5.5
% recommend
🛒   Buy
Another day without Test-Driven Development means more time wasted chasing bugs and watching your code deteriorate. You thought TDD was for someone else, but it's not! It's for you, the embedded C programmer.

TDD helps you prevent defects and build software with a long useful life. This is the first book to teach the hows and whys of TDD for C programmers.

TDD is a modern programming practice C developers need to know. It's a different way to program---unit tests are written in a tight feedback loop with the production code, assuring your code does what you think.

You get valuable feedback every few minutes. You find mistakes before they become bugs.

You get early warning of design problems. You get immediate notification of side effect defects.

You get to spend more time adding valuable features to your product. James is one of the few experts in applying TDD to embedded C.

With his 1.5 decades of training,coaching, and practicing TDD in C, C++, Java, and C# he will lead you from being a novice in TDD to using the techniques that few have mastered. This book is full of code written for embedded C programmers.

You don't just see the end product, you see code and tests evolve. James leads you through the thought process and decisions made each step of the way.

You'll learn techniques for test-driving code right nextto the hardware, and you'll learn design principles and how to apply them to C to keep your code clean and flexible. To run the examples in this book, you will need a C/C++ development environment on your machine, and the GNU GCC tool chain or Microsoft Visual Studio for C++ (some project conversion may be needed).
Amazon.com
8
)

Head First C: A Brain-Friendly Guide

by
David Griffiths & Dawn Griffiths
5.6
% recommend
🛒   Buy
Ever wished there was an easier way to learn C from a book? Head First C is a complete learning experience that will show you how to create programs in the C language. This book helps you learn the C language with a unique method that goes beyond syntax and how-to manuals and helps you understand how to be a great programmer.

You'll learn key areas such as language basics, pointers and pointer arithmetic, and dynamic memory management, and with advanced topics such as multi-threading and network programming, Head First C can be used as an accessible text book for a college-level course. Also, like a college course, the book features labs: projects intended to stretch your abilities, test your new skills, and build confidence.

You'll go beyond the basics of the language and learn how to use the compiler, the make tool and the archiver to tackle real-world problems. We think your time is too valuable to waste struggling with new concepts
Amazon.com
7
)

C Primer Plus (Developer's Library)

by
Stephen Prata
6.1
% recommend
🛒   Buy
C Primer Plus is a carefully tested, well-crafted, and complete tutorial on a subject core to programmers and developers. This computer science classic teaches principles of programming, including structured code and top-down design.

Author and educator Stephen Prata has created an introduction to C that is instructive, clear, and insightful. Fundamental programming concepts are explained along with details of the C language.

Many short, practical examples illustrate just one or two concepts at a time, encouraging readers to master new topics by immediately putting them to use. Review questions and programming exercises at the end of each chapter bring out the most critical pieces of information and help readers understand and digest the most difficult concepts.

A friendly and easy-to-use self-study guide, this book is appropriate for serious students of programming, as well as developers proficient in other languages with a desire to better understand the fundamentals of this core language. The sixth edition of this book has been updated and expanded to cover the latest developments in C as well as to take a detailed look at the new C11 standard
Amazon.com
6
)

C How to Program

by
Paul Deitel & Harvey Deitel
6.6
% recommend
🛒   Buy
Key benefit: C How to Program is a comprehensive introduction to programming in C. Like other texts of the Deitels’ How to Program series, the book serves as a detailed beginner source of information for college students looking to embark on a career in coding, or instructors and software-development professionals seeking to learn how to program with C.

The Eighth Edition continues the tradition of the signature Deitel “Live Code” approach--presenting concepts in the context of full-working programs rather than incomplete snips of code. This gives readers a chance to run each program as they study it and see how their learning applies to real world programming scenarios
Amazon.com
5
)

Programming in C (Developer's Library)

by
Stephen Kochan
6.8
% recommend
🛒   Buy
Programming in C will teach you how to write programs in the C programming language. Whether you’re a novice or experienced programmer, this book will provide you with a clear understanding of this language, which is the foundation for many object-oriented programming languages such as C++, Objective-C, C#, and Java.

This book teaches C by example, with complete C programs used to illustrate each new concept along the way. Stephen Kochan provides step-by-step explanations for all C functions.

You will learn both the language fundamentals and good programming practices. Exercises at the end of each chapter make the book ideally suited for classroom use or for self-instruction.

All the features of the C language are covered in this book, including the latest additions added with the C11 standard. Appendixes provide a detailed summary of the language and the standard C library, both organized for quick reference.

“Absolutely the best book for anyone starting out programming in C. This is an excellent introductory text with frequent examples and good text.…This is the book I used to learn C–it’s a great book.” – Vinit S
Amazon.com
4
)

Expert C Programming: Deep C Secrets

by
Peter van der Linden
8.1
% recommend
🛒   Buy
This book is for the knowledgeable C programmer, this is a second book that gives the C programmers advanced tips and tricks. This book will help the C programmer reach new heights as a professional
Amazon.com
3
)

C Programming: A Modern Approach, 2nd Edition

by
K. N. King
8.2
% recommend
🛒   Buy
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
Amazon.com
2
)

C Programming Absolute Beginner's Guide

by
Greg Perry & Dean Miller
13.4
% recommend
🛒   Buy
Updated for C11 Write powerful C programs… without becoming a technical expert! This book is the fastest way to get comfortable with C, one incredibly clear and easy step at a time. You’ll learn all the basics: how to organize programs, store and display data, work with variables, operators, I/O, pointers, arrays, functions, and much more.

C programming has neverbeen this simple! Who knew how simple C programming could be? This is today’s best beginner’s guide to writing C programs– and to learning skills you can use with practically any language. Its simple, practical instructions will help you start creating useful, reliable C code, from games to mobile apps
Amazon.com
1
)

C Programming Language, 2nd Edition

by
Brian W. Kernighan & Dennis M. Ritchie
24.1
% recommend
🛒   Buy
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.
Amazon.com

Conclusion

I hope that you liked this list. Please do not hesitate to check out the other ones I've published.

Keep me updated!

Receive weekly update about best programming books!
Just that, no spam, no bs.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.