Curated collection
C and C++
Free books on C, C++ and low-level programming: memory, pointers, data structures, compilers and the craft of writing fast code.
C and C++ reward programmers who understand what the machine is doing. This collection covers the languages themselves, memory management, data structures, compiler design and the techniques behind efficient systems code.
If you are new to C, start with a book that explains pointers and memory before you attempt a large project. If you come from a higher-level language, a C text will make the cost of abstractions visible. The C++ titles range from language introductions to deeper treatments of templates, the standard library and object-oriented design.
Some books are old enough that their style and tooling feel dated. The core material often remains relevant; use the description and publication year to decide.
-
01
C Programming Tutorial (K&R version 4)
A C programming tutorial for people who have a little experience with an interpreted programming language, such as Emacs Lisp or a GNU shell.
-
02
C++ Essentials
An introduction to the C++ language, with no attempt to teach object-oriented design to any depth.
-
03
Programming in C
An introductory course which covers the key features of the C language and its usage.
-
04
How To Think Like A Computer Scientist: C++ Version
Guidelines to problem-solving as the most important skill for a computer scientist.
-
05
Data Structures & Algorithm Analysis in C++ (Edition 3.2.0.10)
This book provides a thorough and comprehensive treatment of fundamental data structures and the principles of algorithm analysis. Focuses on the principles required to select or design the data structure…
-
06
An Introduction to C++ with Design Patterns in Qt 4
Teaches C++ the Qt way, with an emphasis on design patterns, and re-use of open source libraries and tools.
-
07
An Introduction to GCC
Provides a tutorial introduction to the GNU C and C++ compilers, gcc and g++.
-
08
The C Book, Second Edition
This book highlights where the features of old and Standard C differ significantly. Includes an extra chapter illustrating the use of C and the Standard Library to solve a number…
-
09
An Introduction to the Imperative Part of C++
Lecture notes for an introductory course on programming, using the imperative part of C++. No programming experience is required.
-
10
C Elements of Style
Guidelines to build a good programming style into your code.
-
11
Object-oriented Programming with Ansi-C
Uses ANSI-C to discover how object-oriented programming is done, what its techniques are, why they help us solve bigger problems, and how we harness generality and program to catch mistakes…
-
12
C++ GUI Programming with Qt 3
Straight from Trolltech, this book covers all that is needed to build industrial-strength applications with Qt 3.2.x and C++ applications that run natively on Windows, Linux/Unix, Mac OS X, and…
-
13
C++ In Action: Industrial Strength Programming Techniques
Tutorials on object-oriented programming, language features specific to C++, and the large-scale aspects of software development.