Archive-name: c-notes/readme

This series of files contains the start of a complete course for you
to learn the 'C' computer language itself.  All lessons are fully
"illustrated" with supporting programmes, each of which is a stand
alone program, written and tested in the System V Release 3.2 unix
programming environment.

The language used is correct conversational English, I have written the
lessons using the same language constructions which I would use if I were
teaching you directly. ( The vernacular, colloquialisms, avoidable jargon,
and net.patois, but not the occasional joke, have been studiously eschewed ).

An outline of the course is available for you to read below.
The course is intended to demonstrate the language itself and a
selection of the simpler standard library functions.

'C' is not a computer language for rank beginners. Start with
an interpretive language and proceed to a compiled language
which has an extensive error message vocabulary and run-time
checking facilities, but don't let your mind become too contaminated!
In the interests of both compilation and run-time speeds, 'C' does
not provide much in the way of checking.

I have assumed that you have had sufficient exposure to computing
to be able to use the programmer's editor of your choice and are 
confident in the use of the command line interpreter, whether it
be a unix shell, or a DOS ( shudder :-) prompt. Some minimal knowledge,
of computers and the jargon is assumed, but complicated concepts are
fully explained. In other words, the intent is to teach 'C' per se,
not "the fundamentals of how to program a computer using 'C' as
a teaching medium."

Throughout the course the fact that a compiler is a translator
from a high level language to assembler code is kept to the fore,
you are frequently advised to examine the assembler code which is
output by the compiler. Some minimal knowledge of computer architecture
is therefore assumed.

Whilst I have taken considerable care to ensure that this material is
free of errors I am well aware that to err is a common human failing,
( spelling is not my forte ) and in this I don't claim to be different
from anybody else. Therefore your gentle critique is welcome together
with notification of any factual errors.

It is planned to make the lessons available as a printed book,
complete with a programme diskette if there is sufficient interest.

                 Gopher, ftp, and Download Sites

Thanks to Cambridge University Engineering School,
gopher.eng.cam.ac.uk:CUED help/languages/C/Tutorials ( gopher only )

Thanks to STAT Publishing a BBS in Canada,
The number is Canada (604) 531-8818.
The file is in the C/C++ Programmer section and aptly named C-LESSON.ZIP.

Thanks to Jean-Baptiste, An ftp-site in Europe,
The server is paris7.jussieu.fr (134.157.24.1),
the files are in the sub-dir /contributions/docs/

Others will be posted to comp.lang.c as they become available. 
Volunteers: Please pick-up the files from news and archive.
PLEASE let me know the site name, address ( IP number ),
and the directory.

Copyright notice:-

(c) 1993 Christopher Sawtell.

I assert the right to be known as the author, and owner of the
intellectual property rights of all the files in this material,
except for the quoted examples which have their individual
copyright notices. Permission is granted for onward copying,
storage, but not modification, of this course in electronic data
retrieval systems, and its use for personal study only, provided
all the copyright notices are left in the text and are printed
in full on any subsequent paper reproduction.

In other words you may pass it around to your friends and print it
out in full on paper, but you may not steal my text and pretend
you wrote it, change the text in any way, or print it as a bound book.

--

 +-----------------------------------------------------------------------+
 | NAME   Christopher Sawtell                                            |
 | EMAIL  chris@gerty.equinox.gen.nz                                     |
 | SMAIL  215 Ollivier's Road, Linwood, Christchurch, 8001. New Zealand. |
 | PHONE  +64-3-389-3200   ( gmt +13 - your discretion is requested )    |
 +-----------------------------------------------------------------------+
