These are a series of pages to introduce C Language. The target audience is a person that has introductory programming, and needs to now program in C.
The level is fairly advanced, even though the audience can be beginner programmers. Many topics are covered carefully, at the depth found in the C Reference Manual by Harbison and Steele. It is my belief that this is the right thing to do.
The machine model that this cloudbook uses to explain the programming language semantics is heavily specific to C. C is known to be a close to the bare metal (better: bare silicon?) language. If I were presenting a different language I would like use a different machine model. However, I have not been very creative, and mostly the language concepts are conventional.
The approach is idiosyncratic at places: the discusion of loop invariants coupled with iteration constructs, the emphasis on transformational equivalences of statements, the extension of the presentation to make. The goal is not so much that the reader learn C, but that the reader can produce good programs in C. I included these topics in pursuit of this wider aim.
Besides Harbison and Steele, the original C Programming Language by Kernighan and Ritchie is recommended. Between this book and H&S you need no other. I feel further study is best done by solving each new crises as it appears while at the keyboard.