Die beiden genannten Bücher kann ich ebenfalls sehr empfehlen, haben den Dozenten bei mir im Studium auch als Grundlage für Vorlesungen und Aufgaben gedient. Sie sind auch und gerade für Einsteiger absolut empfehlenswert.

Immer wieder eine gute Anlaufstelle sind auch die Galileo Open Books, die sind aber sehr, sehr umfangreich und im Umkehrschluss oftmals zu knapp gehalten.
Wenn du vorwiegend C gemacht hast, wäre für dich am wichtigsten, dich mit objektorientierter Programmierung auseinanderzusetzen. Je nach dem wie viel du bereits mit VB gearbeitet hast, dürfte das aber nicht allzu schwierig sein, vielleicht auch bereits selbstverständlich. VB ist ja auch objektorientiert.
Das wichtigste ist: einfach machen, machen, machen. Dazu muss ich mich selbst zwingen, wenn was neues ansteht (aktuell PHP...). Aber wenn ich erstmal richtig drinstecke, bin ich voll dabei.

Der Einstieg mit C ist meiner Meinung nach sehr gut, viele (grundlegende!) Prinzipien wirst du wiedererkennen, selbst die Syntax ist recht ähnlich. Das gute ist: du konntest sie dir (hoffe ich doch ^^) auf sehr pragmatischer Ebene aneignen, Java wäre als Einstieg sicher etwas schwieriger, da durch die Objektorientiertheit viel Beiwerk beachtet werden muss, das sich für Programmiereinsteiger ohnehin noch nicht erschließt.
Also: lets do this!
