Si tu es courageux il y à ce cours qui est l'équivalent d'un an d'études en Université, c'est fait par un prof réputé : http://rmdiscala.developpez.com/cours/
Sinon cours d'algo : http://algo.developpez.com/cours/
Puis ensuite choisir un langage.
Si tu veux apprendre à bien programmer tu as Pascal pour commencer, sinon tu peu essayer d'apprendre un langage comme C++ ce qui est pas le plus facile, sinon le mieux pour apprendre un langage moderne et "riche" c'est Java ou C#.
A moins de vouloir faire de la programmation industrielle ça ne sert à rien de continuer à perdre ton temps sur le C.
Tu as de très bon cours pour tous les langages ici : http://general.developpez.com/cours/
Si tu veux réussir programme beaucoup, le plus simple c'est de programmer tout un tas de petits jeux de toute sortes, c'est ludique et c'est en programmant que tu va vraiment te former.
Logiquement quand tu programme tu doit y prendre du plaisir, et ce qui te coute c'est d’arrêter.
Si à l'inverse tu doit te forcer pour programmer c'est que tu fais fausse route, change de hobbie et choisie une autre voie.