If you are deciding to learn C, you might instead want to Learn C++. C++ is a backwards-compatible superset of C, but it is multi-paradigm language, offering (at least) object-oriented programming, generic programming, and original C-style procedural programming. This makes C++ a much more powerful language, which is why I suggest thinking about whether you would like to learn C++ first. However, C is much simpler than C++, and does not overlap so much with Python/Perl/Lisp, so learning C++ might be overkill, depending on your needs.

If you only want to learn C, and NOT C++, then C: How to Program, by Deitel & Deitel, is a decent book. It has a lot of exercises, and includes an introduction to C++, and I had to use it for a C class and then a C++ class, and for C it was all right, but, as you might expect from the name, not for C++. (Hm, also, if you happen to be teaching a C++ course, I HIGHLY recommend not using a C book "with an introduction to C++" to do so because your students may remain bitter for a long time ;p)

Once you start using C seriously, you will probably want to learn how to write a MakeFile so that make can automate your use of the compiler.

Examples of C code on jones:

See also:

LearnC (last edited 2008-09-11 18:27:44 by NathanSanders)