Beginning C: From Novice to Professional - Horton, Ivor (Apress, 2011)
C is the programming language of choice when speed and reliability are required. It is used for many low-level tasks, such as device drivers and operating-system programming. For example, much of Windows and Linux is based on C programming.