Rather damn good advice. And free like beer should be. http://c.learncodethehardway.org
C grammar pocket reference. Pure cheating. Actually has the sample code on how to use C. http://www.amazon.co.jp/dp/4774146102
Messing with C programs makes things easier. http://nostarch.com/debugging.htm
I hate it. Mainly because the layout and design gets to me. But I can't deny that it has good info. http://shop.oreilly.com/product/0636920015482.do
The next book to read after your intro to C. Actually explains how to write C programs after you know the grammar. http://www.amazon.co.jp/dp/4774146129
Says object oriented C. But actually it is about using scoping in C to organize your code. http://www.amazon.co.jp/dp/4798121134
Just about every way you can debug your C program. www.amazon.co.jpdp/4774133620
Starting Linux programming. Shows how to use system calls. And make a simple web server. http://www.amazon.co.jp/dp/4797328355
100 Examples of C programs. Brute force yourself into using learning C. http://www.amazon.co.jp/dp/4798017396
How to use various C libraries like BLAS and Cairo in C. http://www.amazon.co.jp/dp/4797361204
I know what you are saying, most of these are in Japanese. But the code is not. And rather easy to look at the code and see what they are doing. Anyhow, live dangerous I say. Not many books in English explain this stuff it seems. However, if anyone has nice C related info in any language, I would be appreciative.
A book I would recommend, particularly if Zed Shaw's Learn the Hard Way does not appeal to you is Head First C.[1] The underlying pedagogy of programmed instruction is similar. The exercises are more diverse, the tone is lighter, and the overall presentation more approachable.
Good luck.
[1]: http://shop.oreilly.com/product/0636920015482.do