La théorie c´est bien mais la pratique c´est mieux. Pour la pratique, rien de mieux que de s´exercer sur
http://www.france-ioi.org
Sinon pour apprendre le C, je peux te proposer cette démarche progressive :
1°) Bases du langage C / Vue d´ensemble de la programmation : Théorie + Pratique
-
http://www.siteduzero.com/tuto-3-8-0-apprenez-a-programmer-en-c-c.html
2°) Approfondissement du langage C : Théorie + Exemples d´application
-
http://www.linux-kheops.com/doc/ansi-c/Introduction_ANSI_C.htm
3°) Application des acquis : Pratique + Algorithmique
- http://www.france-ioi.org
4°) Programmation réseau (Socket) : Théorie
- http://vidalcharles.free.fr/lf/socket.html
5°) Programmation GUI (librairie GTK+) : Théorie
-
http://www.gtk-fr.org/wakka.php?wiki=LeTutorial
6°) Approfondissement de la librairie SDL : Théorie + Exemples
- http://loka.developpez.com/tutoriel/sdl/
7°) Synthèse des acquis du langage C :
- http://fr.wikibooks.org/wiki/Programmation_C
C´est une démarche que n´importe quel novice en programmation peut prendre. Cela peut paraître long et fastidieux mais si tu t´appliques correctement en prenant le temps qu´il faut, tu seras bien rôdé en C. Tu pourras ensuite t´attaquer au C++ pour la programmation orientée objet mais je pense qu´avec tout ça t´as de quoi faire et pas besoin de livre
Lire un livre bourré de théorie c´est bien beau... mais si la pratique ne suit pas ça sert strictement à rien. Personnellement je ne te conseille pas les livres, on trouve ce qu´il faut sur Internet et en plus consistant.