This article is from the alt.comp.lang.learn.c-c++ Frequently Asked Questions. Compiled by Sunil Rao email@example.com.
Opinions vary widely. Most readers recommend the book(s) they learnt from, regardless of whether or not they might actually be suitable for the learner. The fact that many commonly recommended books are either full of errors or hopelessly out of date (or even both!) makes matters worse.
Beware of books that claim to teach you both C and C++ - they might end up teaching you a horrible hybrid instead. It is also probably better to stick to books that conform to the C and C++ standards, at least while beginning. Many compiler-specific books do not go into sufficient depth regarding important language issues and usually fail to be clear as to whether something is specific to the compiler under consideration or not.
Some texts come bundled with compilers - it's usually worth checking to see how out-of-date the compiler actually is. For C, this is probably less of an issue than it is for C++, simply because compiler writers have had over a decade to catch up with the standard.
It pays to keep more than one good book handy; many books known for their technical accuracy can seem dense and unreadable in places, and you might at times need to back up a primer with a reference.
Do make sure that you get the latest edition of any of these books you decide to purchase. Also please check to see if there is an errata list available online for any book you decide on; this is particularly important for programming language texts. It pays to be suspicious of books for which such lists cannot be located online for whatever reason.
The Association of C and C++ Users maintains a collection of book reviews taken from its journals. Many of the reviews are fair and excellent in their criticism, though there are a few minor inconsistencies and a number of truly awful books have escaped with favourable reviews. It's a useful starting-point, though. http://www.accu.org/bookreviews/public/
Many C and C++ experts recommend against using ANY book written by a certain Herbert Schildt. To see why, read the answer to question 16. The "Dummies" series of books is not particularly well-regarded either in general.