Best Books for Learning C Programming

Presenting the most recommended books on Hacker News, Stack Overflow and Reddit

Best Books for Learning C Programming

Book recommendations for C programming according to the Hacker News community.

1. Expert C Programming: Deep C Secrets

Software -- Programming Languages.

2. The C Programming Language

Introduces the features of the C programming language, discusses data types, variables, operators, control flow, functions, pointers, arrays, and structures, and looks at the UNIX system interface

4. C Traps and Pitfalls

Even C experts come across problems that require days of debugging. This book helps to prevent such problems by showing how C programmers get themselves into trouble. The book offers advice on: avoiding off-by-one errors, understanding and constructing function declarations, understanding the relationship between pointers and arrays.

5. The Standard C Library

First comprehensive treatment of ANSI and ISO standards for the C Library. Includes practical advice on using all 15 headers of the Library and covers the concept design and utilization of libraries. Contains complete codes of C Library and is the companion volume to C Programming Language. An independent consultant, author Plauger is one of the world's leading experts on C and the C Library.

6. Mastering Algorithms with C: Useful Techniques from Sorting to Encryption

A comprehensive guide to understanding the language of C offers solutions for everyday programming tasks and provides all the necessary information to understand and use common programming techniques. Original. (Intermediate).

7. Data Structures Using C

Using the increasingly popular C language, this book teaches data structures from their theoretical conception through to their concrete realizations. It emphasizes structured design and programming techniques, and contains numerous debugged programming samples. For CS2 course in advanced programming or data structures in C.

8. The C Puzzle Book

This text will help readers expand on their basic knowledge of the C programming language. They can work through C program puzzles to challenge their proficiency and compare their answers with a detailed explanation in the book.

9. Understanding and Using C Pointers: Core Techniques for Memory Management

Improve your programming through a solid understanding of C pointers and memory management. With this practical book, you’ll learn how pointers provide the mechanism to dynamically manipulate memory, enhance support for data structures, and enable access to hardware. Author Richard Reese shows you how to use pointers with arrays, strings, structures, and functions, using memory models throughout the book.

Difficult to master, pointers provide C with much flexibility and power—yet few resources are dedicated to this data type. This comprehensive book has the information you need, whether you’re a beginner or an experienced C or C++ programmer or developer.

  • Get an introduction to pointers, including the declaration of different pointer types
  • Learn about dynamic memory allocation, de-allocation, and alternative memory management techniques
  • Use techniques for passing or returning data to and from functions
  • Understand the fundamental aspects of arrays as they relate to pointers
  • Explore the basics of strings and how pointers are used to support them
  • Examine why pointers can be the source of security problems, such as buffer overflow
  • Learn several pointer techniques, such as the use of opaque pointers, bounded pointers and, the restrict keyword

10. C Programming: A Modern Approach, 2nd Edition

You've never seen a C book like this before: packed with useful information and examples, yet highly readable. Everyone from beginner to expert can profit from reading C Programming: A Modern Approach.

11. A Retargetable C Compiler: Design and Implementation

Examining the implementation of lcc, a production-quality, research-oriented retargetable compiler, designed at AT&T Bell Laboratories for the ANSI C programming language, this book is designed for professionals who seek a detailed examination of a real-world compiler. A thorough and accurate picture of the lcc compiler is provided, and a line-by-line explanation of the code demonstrates how the compiler is built. The accompanying disk holds the full source code for the lcc compiler, the three back ends and the code-generator.

12. Pointers on C

Pointers On C brings the power of pointers to your C programs. Designed for professionals and advanced students, Pointers on C provides a comprehensive resource for those needing in-depth coverage of the C programming language. An extensive explanation of pointer basics and a thorough exploration of their advanced features allows programmers to incorporate the power of pointers into their C programs. Complete coverage, detailed explanations of C programming idioms, and thorough discussion of advanced topics makes Pointers on C a valuable tutorial and reference for students and professionals alike.Highlights: Provides complete background information needed for a thorough understanding of C. Covers pointers thoroughly, including syntax, techniques for their effective use and common programming idioms in which they appear. Compares different methods for implementing common abstract data structures. Offers an easy, conversant writing style to clearly explain difficult topics, and contains numerous illustrations and diagrams to help visualize complex concepts. Includes Programming Tips, discussing efficiency, portability, and software engineering issues, and warns of common pitfalls using Caution! Sections. Describes every function on the standard C library. 0673999866B04062001

13. Illustrating C (Ansi/Iso Version)

Using his unique formula--original and readable prose combined with graphics and calligraphy--Donald Alcock revolutionizes the teaching of the C programming language. A special feature of the layout of the book is the double-page spread: each one covers a particular topic making the book useful as a reference manual. This revised edition has benefited from many corrections and updates, and has now been printed in a wide-page format for ease of use. This book is an excellent introduction to standard (ANSI) C, and will provide a reference manual for beginning programmers, computer enthusiasts, and students.

14. Programming in C (3rd Edition)

Updated edition of Stephen Kochan's classic C programming best-seller.

15. Practical C Programming: Why Does 2+2 = 5986? (Nutshell Handbooks)

C programming is more than just getting the syntax right. Style and debugging also play a tremendous part in creating programs that run well and are easy to maintain, as Oualline reveals. This edition covers Windows IDEs and UNIX programming utilities.

16. C Interfaces and Implementations: Techniques for Creating Reusable Software

C Interfaces and Implementations describes how to use interface-based design in the C programming language, and it illustrates this approach by describing 24 interfaces and their implementations in detail. The source code in the book is interleaved with its explanation in an order that best suits understanding the code.

17. The C Programming Language

Introduces the features of the C programming language, discusses data types, variables, operators, control flow, functions, pointers, arrays, and structures, and looks at the UNIX system interface

18. Applied Cryptography: Protocols, Algorithms, and Source Code in C

". . .the best introduction to cryptography I've ever seen. . . . The book the National Security Agency wanted never to be published. . . ." -Wired Magazine ". . .monumental . . . fascinating . . . comprehensive . . . the definitive work on cryptography for computer programmers . . ." -Dr. Dobb's Journal ". . .easily ranks as one of the most authoritative in its field." -PC Magazine ". . .the bible of code hackers." -The Millennium Whole Earth Catalog This new edition of the cryptography classic provides you with a comprehensive survey of modern cryptography. The book details how programmers and electronic communications professionals can use cryptography-the technique of enciphering and deciphering messages-to maintain the privacy of computer data. It describes dozens of cryptography algorithms, gives practical advice on how to implement them into cryptographic software, and shows how they can be used to solve security problems. Covering the latest developments in practical cryptographic techniques, this new edition shows programmers who design computer applications, networks, and storage systems how they can build security into their software and systems. What's new in the Second Edition? * New information on the Clipper Chip, including ways to defeat the key escrow mechanism * New encryption algorithms, including algorithms from the former Soviet Union and South Africa, and the RC4 stream cipher * The latest protocols for digital signatures, authentication, secure elections, digital cash, and more * More detailed information on key management and cryptographic implementations

19. 21st Century C: C Tips from the New School

Throw out your old ideas about C and get to know a programming language that’s substantially outgrown its origins. 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.

C isn’t just the foundation of modern programming languages; it is a modern language, ideal for writing efficient, state-of-the-art applications. Get past idioms that made sense on mainframes and learn the tools you need to work with this evolved and aggressively simple language. No matter what programming language you currently favor, you’ll quickly see that 21st century C rocks.

  • Set up a C programming environment with shell facilities, makefiles, text editors, debuggers, and memory checkers
  • Use Autotools, C’s de facto cross-platform package manager
  • Learn about the problematic C concepts too useful to discard
  • Solve C’s string-building problems with C-standard functions
  • Use modern syntactic features for functions that take structured inputs
  • Build high-level, object-based libraries and programs
  • Perform advanced math, talk to internet servers, and run databases with existing C libraries

This edition also includes new material on concurrent threads, virtual tables, C99 numeric types, and other features.

20. Algorithms in C, Parts 1-4: Fundamentals, Data Structures, Sorting, Searching (3rd Edition) (Pts. 1-4)

Defines and explores the implementation and figures of the algorithms required for various applications, offering commentary, descriptions, and exercises for developers, researchers, and students.