http://www.cprogramming.com/tutorial.html
There's a pretty good C tutorial on that site.
That said, I would suggest starting with C++ instead for a couple reasons.
- C++ is built on top of C, i.e. a bug free C program will compile in C++ no problem.
- The basics of C++ happen to be the basics of C, and C++ can use the C Standard Library.
- C++ is an object oriented language like Java, Objective C, C#, etc. At the same time you can still program in the same procedural methodology that C is generally programed with (this is true of the other languages mentioned as well). At the same time, your new OOP skills will transfer right into Java, OC, C#, VB.net, etc.
Those three reasons lead me to recommend it over C. That said, it's not without it's own frustrations and there probably isn't any one task you can solve with C++ that C is unable to do. C++ is designed to make complex problems in C much more manageable through better use of code and doing better compile time checking.
If you wan't to take a look at C++, try Bruce Eckel's
Thinking in C++ series. He has the current edition available as a free download and the print versions aren't particularly expensive. If you do learn C first, try his First Edition - which happens to be geared to C programers transitioning to C++. I purchased a copy off Amazon for about $5 shipped. The Second Edition is a little more wordy and is designed for new programers as well as seasoned programers with experience in another language (or a basic knowledge of C++). The second edition comes in two volumes and runs for about $30 each or, as I mentioned, is free care of his website:
http://www.mindviewinc.com/Books/