An Introduction to Programming by the Inventor of C++ Preparation for Programming in the Real World The book assumes that you aim eventually to write non-trivial programs, whether for work in software development or in some other technical field.
Available here: blubbu.com/download?i=0321992784
Programming: Principles and Practice Using C++ (2nd Edition) PDF by Bjarne Stroustrup
Stroustrup, il creatore del C++, ha scritto un ottimo libro adatto a chi è interessato ad imparare la programmazione ed il linguaggio stesso ad un livello intermedio.
Non si tratta infatti di un libro che spiega solo un linguaggio di programmazione in astratto oppure che spiega i concetti della programmazione dei computer (mi piacerebbe dire delle "macchine calcolatrici" per usare solo l'italiano) senza fare esempi concreti: si tratta invece di un libro che armonizza molto bene questi due aspetti.
Stroustrup ha scritto anche un libro, "The C++ Programming Language" solo sul linguaggio C++ ma si tratta di un libro più conciso (ma non più corto!) che dà per scontato che si sappia già programmare.
Consiglio di leggere per primo "Programming" e solo dopo passare a "The C++ Programming Language"... se poi non si è ancora sazi allora si può passare direttamente a leggersi lo standard ISO (è un po' costoso: lo standard ad oggi fresco di stampa e relativo al nuovo C++0x costa più di 300 franchi svizzeri http://www.iso.org/iso/iso_catalogue/... ) ma a quel punto si è veramente soli con il proprio compilatore e nient'altro.