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

Dernière modification : 13 octobre 2019