Join Hackr.io to get personalized course recommendations for you.

C and C++

10 Best C and C++ Books (Recommended by the Programming Community)

Posted in C, C++
10 Best C and C++ Books (Recommended by the Programming Community)

C and C++ are two of the most popular programming languages used around the world. While C is a core language, C++ is an extension of the C language. The possibilities are endless with these languages, which is why ventures of all shapes and sizes employ them due to their scalability and viability. As the languages stay on top, the number of people learning it is increasing by the minute. If you wish to learn C and C++, then starting it all with a book is a great idea. We have curated a list of the 5 best C books & 5 best C++ books recommended by the programming community. Irrespective of your programming proficiency, you find a book that suits your requirements.

C Programming Absolute Beginner's Guide

‘C Programming Absolute Beginner's Guide (3rd Edition)’ by Greg Perry and Dean Miller aims to help beginners write powerful and beautiful C programs without becoming an expert in the language. The book is a fast way to get into the comfort zone with C language, with step by step instructions. The book consists of 32 chapters, each discussing the core concepts of C programming along with clear and concise examples to help you understand better. Each chapter discusses a concept(s) in brief and then straightaway moves to code, following a practical over theory approach. The reader learns concepts such as organizing programs, storing and displaying data, variables, operators, I.O, functions, strings, and much more.

The book has been curated by renowned authors and editors of various notable programming books over the years. Greg Perry has over 75 books to his name, all related to computers and programming. Meanwhile, Dean Miller has over 20 years of experience in publishing and has shaped bestselling books such as ‘Teach yourself in 21 days’ and the ‘Unleashed’ book series.

You can buy the book here.

The C Programming Language (2nd Edition)

Even though the book was initially published four decades ago in 1978, ‘The C Programming Language’ by Brian W. Kernighan and Dennis M. Ritchie continued to be considered the holy book for C programmers of all skill levels and accepted as one of the best books to learn C programming. The book comprises of challenging exercises which cover all significant concepts of C, helping you become a proficient C programmer.

The book is a collaborative work of Kernighan and Ritchie, the latter being the creator of C and both considered to be pioneers in computer programming. This book acted as a specification of the language for many years after its release as it introduced several features of the language, and covers the following ANSI C standard. It clearly and briefly explains C concepts such as types, operators, expressions, control flow, and functions. While it covers the concepts, it merely explains their uses rather than what they are. Therefore, fundamental programming knowledge is necessary before you begin with this book. The second edition of the book released in 1988, where the authors stated they had improved the descriptions of critical concepts and features. The new edition also has new examples, while the old ones have been refined to augment the learning mechanism.

You can buy the book here.

Learn C the Hard Way

‘Learn C the Hard Way’ by Zed A. Shaw is a clear and direct introduction to modern C programming. The book crafts in such a way that it is the perfect choice for all programmers who wish to learn C programming and are eager to advance their skills. The book will not only help you learn C programming but also introduce you to many new skills which sought in the programming world.

The book has carved a name for itself in the C programming world due to the code exposure it provides to its readers, not just the necessary code for small programs, the book includes real code, something which you might see in projects on Github. The reader will have to work through all the code one by one to understand C programming, all with little or no handholding. The book includes 52 brilliantly designed exercises created to help you master rigorous defensive programming techniques, a skill that will help you in any programming language you take up in the future.

Apart from programming concepts such as files, linkers, arrays, strings, functions, memory allocation, libraries, data structures, stacks, and queues, the book also discusses skills such as defensive coding, debugging, automated testing, illegal memory access and breaking and hacking one’s code. The book accompanies a DVD containing over 5 hours of video lectures and tutorials which complement the book perfectly.

You can buy the book here.

Head First C

‘Head First C’ by David Griffiths and Dawn Griffiths provides a comprehensive learning experience for C programming. The book, released in 2012, is not just about how to learn C programming but also about how to become a great programmer. Moving over how-to and beyond syntax, this book features labs, which test your abilities with specific projects to help you put your new skills to use and build your confidence.

The book discusses basic and advanced vital areas and concepts, including C language basics, pointers, dynamic memory management, multi-threading, and network programming. The book imitates the style and contents of a college-level course, making it a model textbook for students who wish to learn C programming.

Interested in C? Enquire for the best course suited for you.

You can buy the book here.

C Programming: A Modern Approach

‘C Programming: A Modern Approach (2nd Edition)’ by K. N. King is an approachable and well-written book that covers the basic and advanced concepts of the C language to help beginners and intermediate programmers alike. The author is an associate professor at Georgia State University and has published several books for C, Java and Modula-2 programming

The first edition of the book, published in 1996, has a comprehensive and detailed approach of the author made the book accessible to a broad range of readers, including novice programmers to advanced students. The book was adopted by many educational institutions around the world as their primary C programming text, making the first edition one of the leading C programming textbooks for over ten years. The second edition was released in 2008 and carefully preserved the book’s popular features while bringing it up to date with the new standards. It also adds many new exercises and projects, along with extensive revisions and updates to summarise the majority of C concepts in one textbook. It's one of the best c books for beginners.

You can buy the book here.

C++ Primer (5th Edition)

‘C++ Primer’ by Stanley B. Lippman, Josée Lajoie, and Barbara E. Moo is considered one of the best books to learn C++ programming and is ideal for programmers of all skill levels. This nearly 1,000-page long book has everything you need to become an expert C++ programmer, right from scratch. The book, restructured for quicker and active learning, also provides ample reader examples to readers to put their skills to test. Stanley B. Lippman is a co-author of this book, a computer scientist who worked in the initial stages of C++ development.

The fifth edition continues the legacy of the previous four editions of keeping the material up to date with the latest classifications. The book also updated to its newly released C++11 standard. The book introduces the C++ library from the beginning and brings out its standard functions and facilities to kick-start your journey to becoming a successful C++ programmer. The previous editions were filled with examples to help maintain a theory with a practice approach, and the new edition does the same. Many old examples have been updated, while at the same time, several new examples have been added to the book as well. Thousands around the globe prefer this book(and its previous editions). It considered a valuable resource for beginners as well as experienced programmers. The book is one of the best book for c++ programming.

You can buy the book here.

Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14

The ‘Effective Modern C++’ book by Scott Meyers follows the example-based format, which is also there in the earlier books published by the author. This book introduces the C++ programmers to C++11 and C++14 and helps them familiarise themselves with these versions and their features. Features including auto type declarations, move semantics, concurrency support, and much more. The book discusses the use of those features and how you can make your software efficient, manageable, and portable.

With over 300 pages, the book discusses several topics catering to the latest versions of C++. Some of these topics include the pros and cons of braced initialization, smart pointer make functions, the difference between std:: atomic and volatile along with their use in C++ and the relationship among std:: move and std:: forward. Apart from discussing the language, the book also sheds light on the techniques which can be followed to write clear and correct code, and how the old programming practices require some revision for software development in current times.

You can buy the book here

The C++ Programming Language (4th Edition)

‘The C++ Programming Language’ by Bjarne Stroustrup is a densely-packed resourceful book for aspiring C++ programmers. But it is important to note that the book is not aimed at complete beginners but at someone who has some programming knowledge. The contents of this book discuss specific concepts of C++ versions that require a programming background. The author is the designer and the original implementer of the C++ programming language.

The fourth edition of the books is updated to include C++11 and its features, standard library, and fundamental design techniques. Beginning with the basics of C++, the book moves on to the necessary facilities of C++, such as structures, statements, functions, unions, and enumerations. It then discusses abstract mechanisms such as classes, templates, and metaprogramming; and finally concludes with the discussion of C++11 and the standard library.

You can buy the book here

Accelerated C++: Practical Programming by Example

‘Accelerated C++: Practical Programming by Example’ by Andrew Koenig and Barbara E. Moo is an introductory book for C++ programming that takes a practical approach. The authors are well-known computer scientists, and they present a clear and robust introduction to C++ programming. The book not only discusses the features of the C++ language but also understand how to use these features.

Accelerated C++ takes an innovative approach to teach C++ programming, as it suggests that you do not require C programming skills to learn C++. Some of the topics covered in the book are string handling, arrays, iterators, class design, pointers, operator overloading, and inheritance.

You can buy the book here.

Programming: Principles and Practice Using C++

‘Programming Principles and Practice Using C++’ opts for a fundamental approach to help its reader sharpen their programming skills. This massive book (over 1200 pages) will introduce you to the best practices for structuring your code and help you emerge as an expert programmer. For beginners, this book is an introduction to programming, as it discusses both object-oriented programming and generic programming. It acts as a robust foundation for the C++ programming language, a prominent language used worldwide for real-world software.

The book begins with a description of how to perceive and understand the contents of this book, as it has many exercises and discussions that may confuse a complete beginner. It then briefly discusses programming and computer science and how software connects people and computers. Moving along to C++ programming, introduction to core concepts such as objects, types, statements, functions, errors, vector, classes, and I/O, among many others, are given to the reader. The book is packed with problem exercises and examples to help you grasp the concepts quickly and effectively.

The author of the book is the distinguished Bjarne Stroustrup, the designer and the original implementer of the C++ programming language released in 1985. Stroustrup is currently the College of Engineering Chair in Computer Science Professor at Texas A&M University and has worked at Bell Labs and AT&T Labs-Research previously. It is known as one of the best books to learn C++ programming.

You can buy the book here.

If you are looking to online C/C++ tutorials or courses, then Hackr.io has a great list of community-curated and recommended top tutorials: C tutorials and courses C++ tutorials and courses

People are also Reading:

Sagar Bhatia

Sagar Bhatia

Sagar is an engineering graduate and a technology lover and has been writing across various disciplines for over 5 years now. An avid gamer himself, he wishes to create a venture revolving around the e-sports domain in India. View all posts by the Author

Leave a comment

Your email will not be published
Cancel
Bernard Perrenoud
Bernard Perrenoud

I had learned C language 30 to 40 years ago and now I want to relearn programming with C and C++. I need your help to find the softwares to write and compile my programs. Let me know the enterprises delivering CD’s for the writing of software and for compiling my programs.
Best Regards.

Vijay Singh
Vijay Singh 262 Points

Hi Bernard,
It depends on what operating system you are using. You can use a text editor like vim on Linux based systems and Notepad++ on Windows for writing your programs. For compilation, you can use https://gcc.gnu.org/
You can also use an IDE like Code Blocks or Eclipse that will do both of these things

Kvrp
Kvrp

Book Name- "Let Us C"
Author Name -Yashavant Kanetkar.

What you think?

Matthew Howell
Matthew Howell

Should You Learn C Or C++ First?

Garrett Wolfe
Garrett Wolfe

C++ is different than C. C is the most ubiquitous and popular programming language in C family. C is a universal, portable and efficient programming language, while C++ is popular object-oriented programming. A programmer can learn both C and C++.

Brittany Mccoy
Brittany Mccoy

Which programming language is the hardest to learn?

Kerry Gray
Kerry Gray

If you are asking about to compare between C and C++, then I must say C++ is harder but overall there is nothing easy or tough about programming languages. It all depends on your interest and desire to learn that. All languages are easy if you willing to learn it. There are so many programming languages and their different uses and approaches. You have to decide according to your interest that which one suits your skills. Here is a Hackr blog post on the best programming languages for jobs and future: https://hackr.io/blog/best-programming-languages-to-learn-2019-jobs-future

Marilyn Burns
Marilyn Burns

What is the best book for C++ beginners?

Nathan Greer
Nathan Greer

You can refer "Best C++ Books" section of this article.

Marvin Steele
Marvin Steele

Is it better to learn c++ through books or videos?

Courtney Watkins
Courtney Watkins

This question can’t be answered directly Yes or No. In programming, you are required to do practice coding as much as you can. For concepts and basics of the language, you can take help from either books and videos. Also, this depends on the time you have for learning. If you have enough time then you may go for the books otherwise video tutorials are very good to learn any language.

Dianna Little
Dianna Little

Where can I get PDF version of book "Let Us C" by Yashwant Kanetkar's?

Yvette Saunders
Yvette Saunders

What are the best free C++ e-books?

Gilberto Wade
Gilberto Wade

Many of the Best C++ books covered in this blog posts are also available as eBooks.

Clifford Mathis
Clifford Mathis

Which is best book start to learn embedded C programming?

Wilbur Alexander
Wilbur Alexander

The best book for embedded C programming is by Kernighan & Dennis Ritchie and you must have strong command on the concepts of basic C. This book has exercise so I recommend you to attempt every exercise. Programming is all about practice after all. Some other best books are-
• Embedded systems design by Arnold S. Berger
• The art of designing embedded systems
• Embedded systems know it all bundle

Johnnie Moody
Johnnie Moody

What are the best C programming books for an ECE student to excel in embedded systems?

Wendell Norris
Wendell Norris

The best C programming book is the C programming language by Kernighan & Ritchie. This may be tough in the starting but this is best book. Before starting this book, you must require to clear the basic concepts of C. For that you may prefer Balaguruswami or Yashwant Kanetkar’s books.

Jimmy Doyle
Jimmy Doyle

What's the best C programming book to develop advanced projects?

Phil Bell
Phil Bell

There are various books and online courses available for the advanced programmers.
The C Programming Language by Ritchie & Kernighan- This is the book which is for all skill levels. This will not just explains the concept of C but also help you to become a proficient C programmer.
Head First C- This book starts with basics and covers the advance level topics, vital areas, and concepts which include pointers, multi-threading and network programming.
Learn C the Hard Way- One of the best books of C programming. This book includes real codes.
Other books are C programming: A modern approach, Advanced C programming etc.

Rogelio Hampton
Rogelio Hampton

Which book is best for learning C programming by a beginner?

Dean Murray
Dean Murray

You can refer best C books section in this blog post.

Mamie Bryan
Mamie Bryan

How and where do I start learning C programming?

Rudolph Black
Rudolph Black

The best way to learn the programming is to start reading with the concepts and focus more on practical knowledge. You may prefer eBooks, video tutorials and books available in the market also. Head First C, Learn C the Hard Way, Let us C, Programming in ANSI C by E Balagurusamy etc. are the best books to start with. When you will be confident enough, you must start programming practically also so that you will come to know that what exactly you learned.

Tabitha Ross
Tabitha Ross

Which book should I purchase to study C language?

Marcus Mullins
Marcus Mullins

Many great books for C programming language are covered in this blog post. You can choose the one you like.