Books not listed here
Before buying any book that is not listed here we recommend that you read the ACCU review of the book in question.
Stuff that should be avoided
- Books written by Herb Schildt.
- Books by Yashwant Kanetkar.
- Learn C The Hard Way by Zed A. Shaw.
- List of free books
- Online, book-like, resources
- The C Programming Language, 2nd edition, by Kernighan and Ritchie, aka K&R or K&R2, ISBN: 0131103628, web site and errata (local mirror)
- C How to Program, 3rd edition, by Deitel and Deitel, ISBN: 0130895725
- C Programming: A Modern Approach, by King, ISBN: 0393969452
- A Book on C: Programming in C (4th Edition), by Al Kelley and Ira Pohl, ISBN: 0201183994
- The Standard C Library, by P. J. Plauger, ISBN: 0131315099
- Learning to Program in C, 2nd edition, by Thomas Plum, ISBN: 0911537082
- Programming in ANSI C, by Stephen Kochan, ISBN: 0672484080
- The C Standard: Incorporating Technical Corrigendum 1, by British Standards Institute, ISBN: 0470845732
- C Programming FAQs by Summit, ISBN: 0201845199
- C: A Reference Manual, by Harbison and Steele, ISBN: 013089592X
- GCC: Reference Documentation (SURPRISINGLY GOOD!) http://www.gnu.org/software/gcc/onlinedocs
Extending your knowledge
- Algorithms in C, by Robert Sedgewick, ISBN 0201756080
- Expert C Programming: Deep C Secrets, by van der Linden, ISBN: 0131774298
- C Traps and Pitfalls, by Koenig, ISBN: 0201179288
- C Interfaces and Implementations : Techniques for Creating Reusable Software, by Hanson, ISBN: 0201498413
- C Unleashed, by Heathfield, Kirby, Lee, Watson, Pfaff, Corbit, Seebach, Fishburne, Fluhrer, Woods, Hobbs, Kelly, Wright, Dixon, Wilms, Klein, ISBN: 0672318962, web site and errata
The C Puzzle Book, by Feuer, ISBN: 0201604612
- Mastering Algorithms with C, by Loudon, ISBN: 1565924533
- Programming Pearls, by Bentley, ISBN: 0201657880. Teaches problem-solving, and how to get past mental blocks and the seemingly impossible.
- The UNIX Programming Environment, by Kernighan and Pike, ISBN: 013937681X
- Advanced UNIX Programming, 2nd edition, by Rochkind, ISBN: 0131411543
- C Programming in the Berkeley UNIX Environment, by Horspool, ISBN: 0131097601
- Programming with POSIX(R) Threads, by Butenhof, ISBN: 0201633922
- Practical Unix Programming, by Robbins and Robbins, ISBN: 0134437063
- Unix Systems Programming, by Robbins and Robbins, ISBN: 0130424110
- Linux Application Development, by Troan/Johnson, ISBN: 0201308215
- Linux Kernel Internals, ISBN: 0201877414
W. Richard Stevens
- TCP/IP Illustrated, Volume 3: TCP for Transactions, HTTP, NNTP, and the UNIX Domain Protocols, ISBN 0201634953, web site
- UNIX Network Programming, Volume 1, 2nd edition: Networking APIs: Sockets and XTI, aka UNP1 or UNP, ISBN: 013490012X, web site
- UNIX Network Programming, Volume 2, 2nd edition: Interprocess Communications, aka UNP2, ISBN: 0130810819, web site
- UNIX Network Programming, Volume 1, 3rd edition: The Sockets Networking API, ISBN: 0131411551, web site
- Programming Windows, 5th edition, by Charles Petzold ISBN: 157231995X
- Windows via C/C++, by Jeffrey Richter, ISBN: 0735624240
- Programming Applications for Microsoft Windows, by Jeffrey Richter. ISBN: 1572319968. Note: This is the previous edition of Windows via C/C++, but it contains several useful chapters that were omitted in the newer edition. Both books are recommended if possible to attain.
- Programming Server-Side Applications for Microsoft Windows 2000, ISBN: 0735607532
- Network Programming for Microsoft Windows, Second Edition. ISBN: 0735615799
- Microsoft Windows Internals, by Mark E. Russinovich, David A. Solomon, ISBN: 0735619174
- Advanced Windows Debugging, by Mario Hewardt, Daniel Pravat, ISBN: 0321374460 - see the errata as well.
- Windows NT/2000 Native API Reference, by Gary Nebbett, ISBN: 1578701996
- Writing Secure Code, Second Edition, by Michael Howard, David C. LeBlanc, ISBN: 0735617228
- Lex & Yacc (O'Reilly) Levinc, Mason & Brown, ISBN: 1565920007 Brandon Niemczyk has found this book very useful, lex and yacc are tools for writing complex parsers (although there are a few "gotchas" with yacc because it is context-free)
- Compilers Principles, Techniques, and Tools Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman ISBN: 0201100886 aka "The Dragon Book", this is a must for anybody seriously into compilers. A decent understanding of Computer Science is recommended first though.
- The Art of Computer Programming, by Knuth, aka TAOCP, ISBN: 0201485419, also the web site which contains errata, updates and future volumes.
- The Practice of Programming, by Kernighan and Pike, ISBN: 020161586X
- Introduction to Algorithms, by Cormen, Leiserson, Rivest, Stein, aka CLRS, ISBN: 0262032937
- Structure and Interpretation of Computer Programs, by Abelson, Sussman, and Sussman, aka Wizard Book, ISBN: 0262011530, also the MIT web site which contains companion materials and full text
- Introduction to Computing and Algorithms, by Shackelford, ISBN: 0201314517
- The Pragmatic Programmer, by Hunt and Thomas, ISBN: 020161622X