Learn to think like the computer hates you, because it does.
Learn C The Hard Way (LCTHW) is a practical book teaching real world useful C using the same proven Learn The Hard Way method. LCTHW teaches real robust C coding and defensive programming tactics on real hardware rather than abstract machines and pedantic theory. The book emphasizes breaking your code on purpose, and in the process teaches a plethora of important topics like data structures, algorithms, and automated testing. If you've wanted to become a better programmer then you need this book.