2. Scope of this text
The contents of this book can be divided into two topics: the
core C language, and the standard functionality made available to the
programmer. The standard functionality I mention is provided by
GNU Libc, this is a
library of C functionality that is part of
every GNU system. Neither of these topics is of much use without the
other but there is a focus on the core langauge near the beginning and
more discussion on Libc near the end. The ordering of topics is
designed to teach C programming in an incremental fashion where each
chapter builds on the previous one. Some aspects of the core langauge
are only really of use to experienced programmers and so appear near
the end.
The C language on it's own can make decisions, repeat
commands, store data, and perform mathematics. Equally importantly,
it provides a method to make use of extra functionality such as
Libc.
Libc provides functionality such as reading and writing
files, sorting and searching data, getting input from the user,
displaying data to the user, communicating across networks, creating
easily translatable programs, and many other things.