Stay away from anything that says "Learn <insert language here> in 24 hours/21 days" - those books are exactly what they seem. Teaching you the bare bone basics of each concept and never going into detail about any important points of what each feature really adds to the development of an application. Anything by Deitel "<language> how to program" are not bad, but every single edition gets worse in the C department at least. C++ is shoved in your face less than halfway through. It's a C book - they already have C++ books.