Learn C Programming With 9 Excellent Free Open Source Books
C Books
Books are very personal things. And programming books are no exception. We all form bonds with programming books that help master the rudiments of a language, and then be able to move on to fully exploit the language’s flexibility.
I have carefully considered the open source C books that are closest to my heart. I have identified 9 books that mean the most to me.
C is a general-purpose, procedural, portable, high-level programming language that is one of the most popular and influential languages. It was designed to be compiled using a straightforward compiler, to provide low-level access to memory, to provide language constructs that map efficiently to machine instructions, and to require minimal run-time support. Many programming languages owe a considerable debt to C. It has become something of the lingua franca in the programming world.
C is fairly simple to understand. It allows the programmer to organize programs in a clear, easy, logical way. It is a very flexible, practical and compact language combined with an easy to read syntax. Code written in C runs quickly, with easy access to the low level facilities in the computer. Compiler directives make it possible to produce a single version of a program compiled for different architectures.
C is about freedom. It therefore makes sense to learn C with books that also embody freedom. Take a look at my open source picks and see if any of them grab your fancy. Put the kettle on and enjoy.
We have published a series covering the best open source programming books for other popular languages. Read them here.
The C BookBy Mike Banahan, Declan Brady and Mark Doran (350 pages) The C Book is designed for programmers who already have some experience of using a modern high-level procedural programming language. The book concentrates on the things that are special to C. In particular, it is the way that C is used which is focused on. Chapters include:
The authors give the reader permission to do anything they want with the book provided there is an acknowledgement of the authors and their copyright. From what Mike Banahan has confirmed, the book is effectively under the Creative Commons License. |
|
C Elements of StyleBy Steve Oualline (265 pages) C Elements of Style is a useful guide which covers the principals of good programming style, teaching C and C++ programmers how to write code that can be easily read, understood, and maintained by others. Whether you are a student or professional programmer, you will benefit from the many tips and techniques for constructing elegant, reliable code. The book attempts to show readers how to build a good programming style into your code. Since computer reads only the code and the human concentrates on the comments, a good programming style pertains to both parts of a program. The ultimate goal is to build a well-designed, well-written code which not only make an effective use of the computer and but also contains careful constructed comments to help humans understand it. This condition will ease the debugging, maintenance and enhancement process, which will eventually improve the readability, portability, reliability and maintainability of your code. Inside, you will find guidelines on writing comments, program heading, determining variable names, statement formatting, statement details, writing preprocessor, organizing directories and creating makefile. This book is published under the Creative Commons License. |
|
Build Your Own LispBy Daniel Holden (212 pages) Learn the C programming language and at the same time learn how to build your very own programming language, a minimal Lisp, in under 1000 lines of code. This book is for anyone wanting to learn C, or who has once wondered how to build their own programming language. It is not designed as a first programming language book, as you need some programming experience to make your way through the content. Build Your Own Lisp is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0. A paperback is available to purchase from Amazon. |
|
The GNU C Reference ManualBy Trevis Rothwell, James Youngman (91 pages) The GNU C Reference Manual is a reference for the C programming language and aims to document the 1989 ANSI C standard, the 1999 ISO C standard, and the current state of GNU extensions to standard C. It is not designed for new programmers. Chapters cover:
The book is available under the terms of the GNU Free Documentation License, Version 1.3 or later. |
|
The GNU C Programming TutorialBy Mark Burgess, Ron Hale-Evans (290 pages) The GNU C Programming Tutorial introduces the reader to the basic ideas in a logical order. It offers detailed coverage of each of the main elements of the C language and how to program in C, with special emphasis on the GNU/Linux compiler and associated software. There are chapters devoted to functions, variables and declarations, scope, expressions and operators, parameters, pointers, decisions, loops, arrays, strings, input and output, and much more. The GNU C Programming Tutorial is released under the GNU Free Documentation License, Version 1.1. |
|
Essential C
|
|
Beej’s Guide to C ProgrammingBy Brian “Beej” Hall (130 pages) Beej’s Guide to C Programming tries to lead the reader from complete and utter sheer lost confusion on to the sort of enlightened bliss that can only be obtained though pure C programming. Chapters:
This book is licensed under the Creative Commons Attribution-Noncommercial- No Derivative Works 3.0 License. |
|
Modern CBy Jens Gustedt (310 pages) Modern C seeks to motivate the reader to climb to higher levels of knowledge. The book is divided into five levels:
This book is licensed under the Creative Commons Attribution-Noncommercial- No Derivative Works 3.0 License. |
|
An Introduction to GCCBy Brian Gough (144 pages) An Introduction to GCC provides an introduction to the GNU C and C++ Compilers, gcc and g++, which are part of the GNU Compiler Collection (GCC). This book explains how to use the compiler itself. Based on years of observation of questions posted on mailing lists, it guides the reader straight to the important options of GCC. Chapters:
This book is published under the GNU Free Documentation License |
Here are some informative C Books to download without charge, but which regrettably are not released under an open source license, or where license information is unclear. In no particular order:
Introduction to C Programming – by Rob Miles
The New Standard C: An Economic and Cultural Commentary – by Derek M. Jones
Object-Oriented Programming with ANSI-C – by Axel-Tobias Schreiner
Writing Bug-Free C Code – by Jerry Jongenius
And finally, my recommendation if you want to buy a canonical reference book is this title: The C Programming Language. Terse, not for beginners, but widely regarded as the classic C programming book.
PROGRAMMING LANGUAGE PROFILES |
If you”re fond with the German language, you might be interested in the book “C von A bis Z”
I’m not fluent in German, and the book doesn’t appear to be open source, but thanks for your input.
[…] Learn C Programming With 9 Excellent Open Source Books […]
I think for learning the C language the best book is Balaguruswami is the best 🙂
Thanks for the sharing 🙂
C language training at CETPA
Learn C Programming Language Online
Hello Steve am Bhanu form Andhra Pradesh can you tell me how to write an article on computer languages like c,c++,java,android, python ect to publish can you help me from this..
Reply
Hi Bhanu
Sorry, I’ve literally no time to offer this type of support. All my time is focused on migrating LinuxLinks.com to a new system.
Thanks for the sharing
C language has been one of the toughest language to learn in my schooling days. After schooling I have migrated in networking industry and working with uninets.com.
thank you so much for the information,