The 5 best C Books of all time for beginner programmers

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 74 links. Using the title of the pages I was also able to quickly discards:

I ended up with almost 68 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 40 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

5
)

C Programming for the Absolute Beginner

by
Keith Davenport & Michael Vine
4.4
% recommend
🛒   Buy
“
Many students of C will rightly admit that it's not an easy language to learn, but the professional insight, clear explanations, examples, and pictures in the Cengage Learning for the Absolute Beginner series make learning C easy and fun. Programming is not a skill you can acquire by reading; you have to write programs to learn.

That's why each chapter in this book contains programming challenges, a chapter review, and a complete program that uses chapter-based concepts to construct an easily built application. With the guidance in this book, you'll learn how to create algorithms and pseudocode to think through and design programs; translate your designs and plans into working C programs; write, compile, test, and debug your code; use data types, arrays, pointers, strings, file operations and more to create robust programs.
”
Amazon.com
4
)

Learn C Programming: A beginner's guide to learning C programming the easy and disciplined way

by
Jeff Szuhay
4.4
% recommend
🛒   Buy
“
Get started with writing simple programs in C while learning the skills that will help you work with practically any programming language Key Features Learn essential C concepts such as variables, data structures, functions, loops, and pointers Get to grips with the core programming aspects that form the base of many modern programming languages Explore the expressiveness and versatility of the C language with the help of sample programs Book Description C is a powerful general-purpose programming language that is excellent for beginners to learn. This book will introduce you to computer programming and software development using C.

If you're an experienced developer, this book will help you to become familiar with the C programming language. This C programming book takes you through basic programming concepts and shows you how to implement them in C.

Throughout the book, you'll create and run programs that make use of one or more C concepts, such as program structure with functions, data types, and conditional statements. You'll also see how to use looping and iteration, arrays, pointers, and strings.

As you make progress, you'll cover code documentation, testing and validation methods, basic input/output, and how to write complete programs in C. By the end of the book, you'll have developed basic programming skills in C, that you can apply to other programming languages and will develop a solid foundation for you to advance as a programmer.

What you will learn Understand fundamental programming concepts and implement them in C Write working programs with an emphasis on code indentation and readability Break existing programs intentionally and learn how to debug code Adopt good coding practices and develop a clean coding style Explore general programming concepts that are applicable to more advanced projects Discover how you can use building blocks to make more complex and interesting programs Use C Standard Library functions and understand why doing this is desirable Who this book is for This book is written for two very diverse audiences. If you're an absolute beginner who only has basic familiarity with operating a computer, this book will help you learn the most fundamental concepts and practices you need to know to become a successful C programmer.

If you're an experienced programmer, you'll find the full range of C syntax as well as common C idioms. You can skim through the explanations and focus primarily on the source code provided.

Table of Contents Running "Hello, World!" Understanding Program Structure Working with Basic Data Types Using Variables and Assignment Exploring Operators and Expressions Exploring Conditional Program Flow Exploring Loops and Iteration Creating and Using Enumerations Creating and Using Data Structures Creating Custom Data Types With Typedef Working with Arrays Working with Multi-dimensional Arrays Using Pointers Understand Arrays and Pointers Working with Strings Creating and Using More Complex Structures Understanding Memory Allocation and Lifetime. Using Dynamic Memory Allocation Exploring Formatted Output Getting Input From the Command Line Exploring Formatted Input Working with files Using File Input and File Output Working with Multi-File Programs Understanding Scope Appendix
”
Amazon.com
3
)

Absolute Beginner's Guide to C

by
Greg M. Perry
9.0
% recommend
🛒   Buy
“
For beginning programmers, this updated edition answers all C programming questions. This bestseller talks to readers at their level, explaining every aspect of how to get started and learn the C language quickly.

Readers also find out where to learn more about C. This book includes tear-out reference card of C functions and statements, a hierarchy chart, and other valuable information.

It uses special icons, notes, clues, warnings, and rewards to make understanding easier. And the clear and friendly style presumes no programming knowledge.
”
Amazon.com
2
)

C Programming Absolute Beginner's Guide

by
Greg Perry & Dean Miller
17.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
31.2
% 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.