Algorithmique &
programmation en langage C

Ces pages sont une synthèse de divers enseignements sur le langage C donnés à la Faculté des Sciences en Licence d’Informatique, Master de Mathématiques et Master professionnel Compétence Complémentaire en Informatique.

Il y est question un peu d’algorithmique élémentaire mais surtout de programmation en langage C. Cependant, les rudiments de la programmation sont supposés connus et on ne revient pas sur des notions de base comme celles de variable, expression, affectation, etc.

Les commentaires et suggestions sont les bienvenus. Les questions aussi, mais sans garantie de réponse.

Supports de cours

Exercices

Problèmes

Bonnes adresses

Compilateurs libres ou gratuits

Tous les exercices proposés ici ont été effectivement réalisés et testés sur Linux avec ses outils de développement natifs (gcc et ses amis) et sur Windows avec l’environnement de développement Dev-C++.

À l’heure acutuelle, Dev-C++ est plus ou moins bien maintenu mais semble fonctionner sur Windows XP et 7. Un de ses successeurs s’appelle wxDev-C++. Vous pouvez lire ici quelques explications (peut-être partiellement obsolètes) à propos de l’installation et l’utilisation de Dev-C++.

Notre recommandation pour programmer en C est Code::Blocs, un autre excellent successeur de Dev-C++. Vous pouvez en télécharger des versions pour Windows (assurez-vous de prendre un fichier dont le nom contient « mingw »), Linux et MacOs X. En outre, voici quelques indications sur l’utilisation du débogueur de Code::Blocks.

Sur Windows, Dev-C++ et Code::Blocs sont construits au-dessus de MinGW, un portage de gcc, le compilateur C/C++ du projet GNU. Ainsi, que vous travailliez chez vous avec Windows et Code::Blocs ou bien à la fac avec Linux, vos programmes seront traités exactement de la même manière.

Une autre plate-forme utilisant gcc est eclipse, dont existe des versions Windows, MacOS et Linux. Il vous faudra installer le plugin CDT et, par ailleurs, MinGW ou cygwin. Eclipse est un peu plus lourd que les outils précédents, mais il permet le développement dans beaucoup d’autres langages de programmation, à commencer par Java.

Sur Windows, un autre excellent outil pour faire du C est Microsoft Visual C++, dont la version dite Express Edition est gratuite. Le produit est plutôt lourd, son installation est plus laborieuse que pour les précédents et le compilateur au cœur du dispositif n’est pas à la pointe du langage comme gcc, mais son débogueur intégré est d’une remarquable robustesse. Vous pouvez lire des explications sur l'installation et l'utilisation de Visual C++.

Le Site du Zéro donne de précieuses explications sur la manière de télécharger et installer tous ces divers produits.

Enfin, si vous êtes unixien fondamentaliste et pensez qu’on n’a rien inventé depuis gcc et vi, voyez quand-même ici des indications sur l’utilisation de DDD, le débogueur graphique de Linux.


11/10/2013