Welcome to Learning GNU C. The aim of this book is to teach GNU users how to write software in C. It is written primarily as a tutorial for beginners but should be thorough enough to be used as a reference by experience programmers. The basics are layed down in full in the first few chapters, beginners will read these chapters carefully while those with prior experience can skim through them. All the information is there, no prior knowledge of programming is assumed.
The reader is assumed to have access to a computer with a GNU system installed. Although the target audience is GNU users, the content of the book should also be 98% relevant to users of OpenBSD, FreeBSD, or NetBSD. Some familiarity with using your computer from the shell (the command line) would be helpful although all commands will be shown along side programming examples. The only piece of software you do need experience with is a text editor. Any text editor will do. GNU Emacs is an especially good one for programmers. It has been in development for over twenty years and contains hundreds useful features. GNU Nano is a simple text editor you could use, some programmers like to use vi (pronounced vee eye). If you already have a favorite text editor, you can use that. There are also graphical editors geared towards programmers such as Anjuta and KDevelop but most programmers preferr text based editors.