This guide attempts to introduce the 'C' Programming Language to the novice programmer, using Linux as the host environment. This means you can learn C on a Raspberry Pi or you can use a distribution such as Ubuntu linux installed on a PC or use VirtualBox. You should find the examples easy to digest and you should be able to complete it with about 40 hours of study and practice. This guide will not teach you everything you need to know about C programming, nor programming in general. Neither will it teach you everything you need to know about Linux or Raspberry Pi’s. It is almost entirely devoted to teaching you the fundamentals of the C language, using Linux and/or Raspberry Pi as a platform for doing this. This guide starts with the simplest “hello world” program and attempts to explain what each part of the program is for, in a clear and concise manner. You will learn about input and output, variables, loops and conditional tests. Later in the guide you will learn more advanced language features.