🔬 C-Lab — Programmation en Langage C
Travaux Pratiques réalisés en L1 Informatique à l'Université de La Réunion
Auteurs : Anthony TURPIN & Kéryan MERCADIER — Année 2025–2026
Encadrant : M. Noël CONRUYT
Ce dépôt regroupe l'ensemble des exercices pratiques du cours de Programmation en Langage C (L1 Info, S2).
Il couvre 5 chapitres progressifs, de la syntaxe de base jusqu'aux tableaux et chaînes de caractères.
"Regarder où on était, pour mesurer où on va."
— Ce lab est la base. Epitech, bachelor Full Stack, et après : entrepreneur tech local. 🚀
c-lab/
├── Chapitre1/ → Fondements : variables, types, fonctions, I/O
├── Chapitre2/ → Instructions de contrôle : if/else, for, opérateurs
├── Chapitre3/ → Approfondissements : while, do, switch, break, continue
├── Chapitre4/ → Types avancés : modificateurs, cast, portée des variables
├── Chapitre5/ → Tableaux & chaînes : 1D, 2D, 3D, strings, pendu
└── Makefile → Compiler tous les exercices d'un coup
Outil
Version / Info
OS
Linux / macOS
Compilateur
GCC (GNU Compiler Collection)
Standard C
ANSI C
Éditeur
Sublime Text
Compiler un exercice unique
gcc Chapitre1/exo1.1.c -o exo1.1 && ./exo1.1
Compiler un chapitre entier
make ch1 # Chapitre 1
make ch2 # Chapitre 2
# etc.
Chapitre I — Fondements de C
Fichier
Sujet
exo1.1.c
Composants d'un programme C
exo1.2.c
Créer et compiler un programme
exo1.3.c
Déclaration de variables
exo1.4.c
Saisie clavier (scanf)
exo1.5a.c
Calcul volume parallélépipède
exo1.5b.c
Secondes dans une année
exo1.6.c
Commentaires en C
exo1.7.c
Écrire ses propres fonctions
exo1.8a.c
Fonctions avec retour — conversion FF → Euros
exo1.8b.c
Correction programme défectueux
exo1.9a.c
Arguments de fonction — outnum()
exo1.9b.c
Correction programme défectueux
Chapitre II — Instructions de contrôle
Fichier
Sujet
exo2.1a.c
Évaluation d'expressions booléennes
exo2.1b.c
Parité d'un entier
exo2.2.c
if / else — somme ou produit
exo2.3.c
Blocs de code — addition/soustraction
exo2.4a.c
Boucle for — 1 à 100
exo2.4b.c
Multiples de 17
exo2.4c.c
Diviseurs d'un nombre
exo2.5a.c
Opérateurs ++ et --
exo2.5b.c
Remplacement par ++ et --
exo2.6a.c
Table nombre / carré / cube
exo2.6b.c
Décompte avec sonnerie
exo2.7a.c
Boucle for(x=0; x<100; x++)
exo2.7b.c
Opérateur NOT logique
exo2.7c.c
Priorité && vs ||
Chapitre III — Approfondissements
Fichier
Sujet
exo3.1.c
getchar() — lettre min dans l'alphabet
exo3.2.c
if imbriqués — calcul d'aires
exo3.3a.c
Boucle for — temps de conduite
exo3.3b.c
Décompte silencieux
exo3.3c.c
Progression géométrique 1,2,4,8...
exo3.4a.c
Boucle while — temps de conduite
exo3.4b.c
Décodage de message
exo3.5a.c
Boucle do — conversion gallons → litres
exo3.5b.c
Menu carnet d'adresses
exo3.6a.c
Nombres premiers entre 2 et 1000
exo3.6b.c
Points-virgules selon code ASCII
exo3.7.c
break — table de pourboires
exo3.8a.c
continue — nombres impairs
exo3.8b.c
continue — nombres premiers
exo3.9.c
switch — comptage lettres/chiffres/ponctuation
Chapitre IV — Types avancés
Fichier
Sujet
exo4.1a.c
unsigned long — temps de la lumière
exo4.1b.c
Notation abrégée des types
exo4.2a.c
Variable static — correction série
exo4.2b.c
Variables locales vs globales
exo4.2c.c
vitesseson() paramétrée
exo4.3.c
long int et spécificateurs de format
exo4.4.c
Initialisation et décompte
exo4.5.c
Conversions de type automatiques
exo4.7.c
Cast (transtypage)
Chapitre V — Tableaux & chaînes
Fichier
Sujet
exo5.1a.c
Détection des doublons
exo5.1b.c
Comptage des occurrences
exo5.2a.c
Affichage d'une chaîne à l'envers
exo5.2b.c
Analyse programme défectueux (overflow)
exo5.2c.c
Concaténation dans bigstr
exo5.3.c
Tableau 3D — chargement et somme
exo5.4a.c
Initialisation de tableaux
exo5.4b.c
Table nombre/carré/cube avec lookup
exo5.5.c
Table de chiffres en toutes lettres
pendu.c
🎮 Synthèse — Jeu du Pendu complet
Variables, types de base (int, float, char, double)
Fonctions : déclaration, arguments, valeur de retour
Structures de contrôle : if/else, for, while, do, switch
Opérateurs : arithmétiques, relationnels, logiques, ++/--, cast
Modificateurs de type : short, long, unsigned, signed
Portée des variables : locale, globale, static
Tableaux : 1D, 2D, 3D, initialisation
Chaînes de caractères : gets, fgets, strlen, strcpy, strcat, strcmp
L1 Informatique — Université de La Réunion — 2025-2026