Tutorial-TP de langage C
Quoi, encore un cours de C?
Eh bien non! Des centaines de sites en proposent de très bons et très
complets, et il est inutile de réinventer la roue.
Ces fichiers proposent surtout un entraînement pratique: chaque code
source à compléter vous confrontera à un certain nombre de difficultés
courantes du C.
Bénéfice escompté: s'être cassé les dents une fois sur un problème
aide à assimiler efficacement sa solution
Le fichier zip contient les énoncés dans le
répertoire TP/, et les corrections dans TP_Solution/
Environnement: Linux avec gcc.
Pour chaque fichier de TP/, lisez les consignes 'TODO' en
commentaires, modifiez les parties de code indiquées par /todo/,
jusqu'à ce que la commande 'gcc <fichier.c>' réussisse, et que
l'exécution ne fournisse que des "OK".
En cas de blocage, une simple comparaison avec le fichier de même nom
dans TP_Solution/ devrait vous mettre sur la piste.
Sommaire
Enoncé | Solution | Contenu | Niveau |
TP1_pointeurs.c | (solution) | Utilisation et arithmétique des pointeurs. Exemple de pointeurs de fonction | Débutant |
TP2_erreurs.c | (solution) | Un tas d'erreurs, principalement de syntaxe, qui m'ont fait longuement enrager lors de l'apprentissage du langage | Débutant |
TP3_preprocesseur.c | (solution) | Utilisations du préprocesseur: définition de macros, de constantes, de #ifdef et de #include | Moyen |
TP4_huffman.c | (solution) | Construction, affichage et manipulation d'arbres binaires de Huffman, à la base de gzip. C'est le royaume des fonctions récursives. |
Moyen à bon |
TP5_tableaux.c | (solution) | Les incontournables de la manipulation et du tri de tableaux. | Moyen à bon |
TP6_listes.c | (solution) | Encore une structure classique: les listes. Elles préfèrent les itérations. | Moyen à bon |
Références
- "The C Programming Language" (Kernigham&Richie): référence papier, complète et plutôt pédagogique. On n'en attendait pas moins des inventeurs du langage.
- The C Library Reference Guide: rappels très complets sur le langage, explication et exemples pour toutes les fonctions de la librairie standard. Ma page préférée sur le sujet.
- Reading C type declarations: pour comprendre les définitions de type les plus tordues en C
- The GNU C Library: c'est le contenu de la page 'info libc' sous Linux. Elle contient pas mal d'exemples et doit être consultée impérativement si vous développez quoi que ce soit sur cet OS
- The C Preprocessor: c'est le contenu de la page 'info cpp' sous Linux. La version GNU contient quelques fonctions en plus du standard.
Pour aller plus loin
- Les standards du C évoluent: voir C99, C11, ....
- Commentaires approximatifs et rectifications d’idées fausses
Dernière modification : 13 octobre 2019