I wrote SiIntroProgPerl,
and found that i needed ability to create nice graphical user interfaces.
Mainly as a preparation for teaching how to make these,
but also because it is generally usefull,
and because Perl is not very suitable for
programs that are large or very complex, or must be fast,
i took time to write a C tutorial.
I have been using C for many years,
and found it surprisingly easy to write a tutorial about it.
This document describes C,
how to program, from "hello, world !" to writing an improved make,
how to use it, from writing, through compiling, to organizing a big program,
how close it is to hardware, from bit to state-machine,
and some of most frequently used functions from libC.
It is fairly systematic, with relatively much attention to hardware,
and does not describe C's formal syntax.
here is latest version of textfile (ca. 400 kB)
here is same file compressed with gzip (ca. 125 kB)