C Tutorials – An Introduction.

So what/who are these Tutorials for?

Ok – this tutorial is for those that have some real basic idea of what C is, and have an idea of how “if/then/else” works, and what a variable is, but are hazy on all the rest of it. The idea is to give you a real fast and basic grounding in C, from which you can launch yourself into greater depth. It’s not designed to be all encompassing, or even 100% correctJ It’s for beginners, not those in the business, so I don’t want to see emails from Tim Sweeny correcting me on some comment I make on the uses of the constant declaration, ok? J This is a real early primer. Somewhere in this document should be some links to other tutorials on the web. These are all good resources. The only reasons for doing this myself are a) so my buddy Dan Primm can learn C from me, and b) other tutorials often don’t ground their ideas in real world language very well. And you don’t get much more grounded than meJ I’m so earthy you could build a house on meJ

Now I know that some of what I’m going to say in these tutorials will have C purist’s running and screaming. Well, I don’t careJ I’m handing out the info that I as a developer use. It’s nice to know exactly how exclusive Oring works, but quite frankly I hardly ever use it, so I’m not going to burden the reader with having to know it either. If you come across a situation where you use it, then go look it up. There are enough resources out there. And before I get emails saying “Well, I use XOR all the time”, I’ll head that off by saying Great. I’m glad for you. I don’t, and this is my tutorial, so ner ner ne ner ner.

What you are going to need ; -

·  A PC with a C compiler on it. There are free ones out there, GNU is a good one. I use MicroSoft’s Visual Studio since that’s what Raven gives me to use. Borland produces a good one, and MetroWerks also produces a good C environment. Still, whatever floats your boat, or what ever you can afford.

·  Some idea of something you want to try and write. Don’t make it anything too big, like a screen saver, or anything that involves windows dialogs. Right now we are going to be creating small DOS applications, not re-creating Quake III or re-writing Word for Windows. You’re learning to paint with your fingers right now, not trying to paint the Mona Lisa.

·  A bit of time. There is some understanding required here, and it doesn’t come over night, particularly when pointers get involved. The rules of chess are really simple to learn, but that doesn’t mean we all become instant grand masters once we’ve mastered the rules. C isn’t quite as bad as that, but there are some implications that aren’t instantly obvious.

Here’s the different area’s we will look at.

  1. C – an Overview
  2. Basic Variable and Data types.
  3. Basic Logic.
  4. Procedures and the C environment.
  5. Basic Input/output
  6. Some practical stuff.
  7. More advanced Data structures.
  8. Pointers. Ahhhhhhhhh!
  9. File Manipulation.
  10. String manipulation.

What you will be able to do at the end of this.

Write simple C programs, open and manipulate files, do text string manipulation, do some basic math, and mainly UNDERSTAND OTHER PEOPLES PROGRAMS. The best way to learn is to do. If you have a task to perform, and someone else’s code to take a look at, then once you are done with this tutorial, you are all set. Hopefully. If you’re not, then it’s your fault and your just dumb and it’s nothing to do with meJ Seriously, you should be equipped to at least remain competent in your C endeavors. You’re not going to be John Carmack, but neither are you going to Herman Munster when it comes to looking at C code and understanding what’s going on.

Jake Simpson.

Other Tutorials you might want to check out.

http://www.acm.uiuc.edu/webmonkeys/book/c_guide/

http://members.tripod.com/~johnt/c.html

http://www.hull.ac.uk/Hull/CC_Web/docs/cnotes/contents.html

http://chris.marino.net/programming/tut/c/

http://www.kutztown.edu/~mant2494/Cindex.htm