Instructions
Nous allons apprendre les bases de la syntaxe en langage C, limités volontairement aux concepts fondamentaux : macros, printf, debug macros (LINE, FILE), variables simples, et tableaux statiques. Chaque exercice doit être rangé dans un dossier séparé suivant la structure :
c-unix-nom-prenom/
└── td2/
├── exo1/
│ └── main.c
└── exo2/
└── main.c
Toutes les compilations se font avec :
gcc -Wall -o main main.c
./main
Tous les éxercices sont a faire sur les VM unix : 172.16.20.1:8006 avec vos identificants 3il. Vous allez voir git cet aprem. Pour travailler a la maison et sur windows, mingwin32 ou wsl peuvent être utile afin de compilé dans un environement similaire.
Exercice 1 : Prise en main du compilateur
- Créez un fichier
/exo1/main.c - Écrivez un programme qui affiche la phrase : Bonjour le monde !
- Compilez et exécutez-le.
Exemple attendu
Bonjour le monde !
Documentation
Exercice 2 : Types simples et affichage formaté
- Créez
/exo2/main.c - Déclarez trois variables :
- un entiera = 42
- un flottantpi = 3.14159f
- un caractèrelettre = 'A' - Affichez leurs valeurs avec
printfen respectant les formats%d,%f,%c.
a = 42
pi = 3.14
lettre = A
Exercice 3 : Lecture avec scanf
- Créez
/exo3/main.c - Lisez un entier saisi au clavier, puis affichez-le avec
printf.
Entrez un nombre : 12
Vous avez saisi : 12
Exercice 4 : Macros de constantes
- Créez
/exo4/main.c - Définissez
PIetGRAVITEcomme macros constantes. - Affichez leurs valeurs.
PI = 3.14159
Gravite = 9.81000
Exercice 5 : Macros fonctionnelles
- Créez
/exo5/main.c - Définissez les macros :
-SQUARE(x)renvoie le carré
-DOUBLE(x)renvoie le double - Testez-les avec différents entiers.
SQUARE(3) = 9
DOUBLE(5) = 10
SQUARE(3+2) = 10
Exercice 6 : Découvrir les macros prédéfinies.
- Créez
/exo7/main.c - Affichez les macros suivantes :
-__FILE__
-__LINE__
-__DATE__
-__TIME__
-__linux__
Fichier : main.c
Ligne : 10
Date : Nov 12 2025
Heure : 08:42:18
Linux : 1
Exercice 7 : Compilation conditionnelle
Objectif : Comprendre #ifdef, #ifndef, et #else.
- Créez
/exo6/main.c - Définissez
DEBUGsi elle n’est pas déjà définie. - Affichez un message différent selon la présence de
DEBUG. - Ne définissez pas
DEBUGmais ajoutez-DDEBUGà la commande gcc
Mode debug activé (ligne 12, fichier main.c)
Exercice 8 : Tableaux statiques et parcours
- Créez
/exo8/main.c - Déclarez
int notes[5] = {12, 14, 9, 15, 10}; - Utilisez une boucle
forpour afficher chaque note.
Note[0] = 12
Note[1] = 14
Note[2] = 9
Note[3] = 15
Note[4] = 10
Exercice 9 : Moyenne avec scanf
- Saisissez 3 notes dans un tableau
float notes[3]; - Calculez la moyenne.
- Affichez le résultat avec
printf("Moyenne = %.2f\n", moyenne);
Entrez 3 notes :
10 14 12
Moyenne = 12.00
Exercice 10 : Macros et debug personnalisé
Créer une macro LOG(msg) active uniquement si DEBUG est défini.
- Créez
/exo10/main.c - Utilisez-la pour afficher différentes étapes de votre programme.
DEBUG (main.c:12): Initialisation
DEBUG (main.c:15): Calcul terminé