Programming in C by Stephen G. Kochan (Sams Publishing, 2005) is my first C textual book that I ever had in the time. I download the PDF version and print it as a book 5 years ago. I read and learned almost each page of that book, solve each chapter's exercises with gcc or pseudo-code (if not at my computer), I can say I slept with the book in every single day, that's the very curious thing that I did for learning a computer programming language. I also have (the famous) The C Programming Language by the creator Dennis Ritchie and co-writer Brian Kernighan (Prantice Hall, 1978), Practical C Programming (O'Relly), but I waste a lot of my time with Kochan's book.
With those books, I had impressive proggress in C programming, I extend that improvement by learning real world's implementation such as Linux system and kernel programming upto GUI toolkit programming, then I start to write some simple program just for hobby. The hobby wouldn't keep me only for this, I also write a few of larger program to be released as free software. Surprisingly, they got some intentions and appreciation by the public.
And here I am, 5 years from the time I was learning. I don't know where I supposed to be if I didn't grab that book then start to write code in that time, I already wrote many simple upto big complex program using C. And what I got now? master of C programming? hell no, I still, even always to make mistake in coding just what I did in my very first codes, forget how to use the core features, code mistype, etc. Then what my improvements? my improvement is concept, a concept to understand how thing get works with this programming language, concept in how to use it's full abilities for solve programming complexity. And 5 years doesn't make enough time to be a master of a programming language, you will need 10 or more years for that, in two conditions, you must keep yourself using it, and you must keep learning it.
Dennis Ritchie (The Father of C, 1941 - 2011)