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

Best C & C++ Books


Spread the Knowledge

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 its 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 will find a book that will suit your requirements.

5 Best C Books (Recommended by the Programming Community)

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 swift 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 will learn 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 continues 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 later 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 was 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 has been crafted 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 are sought for 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 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 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 is accompanied by 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. Released in 2012, the book 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 detailed 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.

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 which 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 a number of books for C, Java and Modula-2 programming

The first edition of the book was published in 1996, and the 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 preserves 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 majority of C concepts in one textbook. It’s one of the best c books for beginners.

You can buy the book here.

5 Best C++ Books (Recommended by the Programming Community)

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 has been restructured for quicker and effective learning by providing the reader ample examples to put their skills to test. The book has been co-authored by Stanley B. Lippman, 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 was updated to the newly released C++11 standard. The book introduces the C++ library from the beginning and brings out its common 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 practice approach, and the new edition does the same. Many old examples have been updated while at the same time a number of new examples have been added to the book as well. The book (and its previous editions) has been selected by thousands around the globe and trusted as a valuable resource for both beginner and experienced programmers. It is recommended as 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 has been followed in the earlier books published by the author. This books 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 a number of 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 which 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 key design techniques. Beginning with the basics of C++, the book moves on to basic 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 a preliminary 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 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, you will be introduced to core concepts such as objects, types, statements, functions, errors, vector, classes, and I/O among many others. 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

Related Posts

Your email address will not be published. Required fields are marked *


26 Comments, RSS

  1. Avatar

    Tabitha Ross December 19, 2018 @ 11:30 am

    Which book should I purchase to study C language?

    • Avatar

      Marcus Mullins January 3, 2019 @ 9:40 pm

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

  2. Avatar

    Mamie Bryan December 19, 2018 @ 11:32 am

    How and where do I start learning C programming?

    • Avatar

      Rudolph Black January 3, 2019 @ 9:42 pm

      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.

  3. Avatar

    Rogelio Hampton December 19, 2018 @ 11:32 am

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

    • Avatar

      Dean Murray January 3, 2019 @ 9:42 pm

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

  4. Avatar

    Jimmy Doyle December 19, 2018 @ 11:33 am

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

    • Avatar

      Phil Bell January 3, 2019 @ 9:45 pm

      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.

  5. Avatar

    Johnnie Moody December 19, 2018 @ 11:34 am

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

    • Avatar

      Wendell Norris January 3, 2019 @ 9:46 pm

      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.

  6. Avatar

    Clifford Mathis December 19, 2018 @ 11:34 am

    Which is best book start to learn embedded C programming?

    • Avatar

      Wilbur Alexander January 3, 2019 @ 9:47 pm

      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

  7. Avatar

    Yvette Saunders December 19, 2018 @ 11:35 am

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

    • Avatar

      Gilberto Wade January 3, 2019 @ 9:49 pm

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

  8. Avatar

    Dianna Little December 19, 2018 @ 11:37 am

    Where can I get PDF version of book “Let Us C” by Yashwant Kanetkar’s?

  9. Avatar

    Marvin Steele December 19, 2018 @ 11:38 am

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

    • Avatar

      Courtney Watkins January 3, 2019 @ 9:52 pm

      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.

  10. Avatar

    Marilyn Burns December 19, 2018 @ 11:39 am

    What is the best book for C++ beginners?

    • Avatar

      Nathan Greer January 3, 2019 @ 9:54 pm

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

  11. Avatar

    Brittany Mccoy December 19, 2018 @ 11:40 am

    Which programming language is the hardest to learn?

    • Avatar

      Kerry Gray January 3, 2019 @ 9:55 pm

      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

  12. Avatar

    Matthew Howell December 19, 2018 @ 11:41 am

    Should You Learn C Or C++ First?

    • Avatar

      Garrett Wolfe January 3, 2019 @ 9:56 pm

      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++.

  13. Avatar

    Kvrp March 9, 2019 @ 3:11 am

    Book Name- “Let Us C”
    Author Name -Yashavant Kanetkar.

    What you think?

  14. Avatar

    Bernard Perrenoud March 13, 2019 @ 12:13 am

    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 Khatri

      Vijay Khatri March 14, 2019 @ 10:50 am

      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