cursus.
Licence 1 · 6 cours · 10 leçons · 55 h

Programmation en C

Écrire, compiler et déboguer en C : du premier programme aux pointeurs et à l'allocation dynamique, en implémentant les structures conçues en algorithmique.

Commencer : De la source à l'exécutable
0 % · 0 / 10 leçons
  1. C1

    Prendre en main le langage

    2 leçons · 12 h
    Non commencé

    Objectif. Faire tourner un premier programme, comprendre ce que fabrique la chaîne de compilation, et savoir lire ce que le compilateur reproche.

    1. De la source à l'exécutableVous êtes iciPréprocesseur, compilation, édition de liens ; structure d'un programme et rôle de main ; lire un message d'erreur du compilateur.5 h · en cours
    2. Types, variables, opérateursTypes de base et taille mémoire, déclaration et initialisation, priorités des opérateurs, conversions implicites et explicites, printf et scanf et leurs pièges.7 h · non commencée
  2. C2

    Structures de contrôle et fonctions

    2 leçons · 12 h
    Non commencé

    Objectif. Traduire en C le pseudocode d'Algorithmique 1, puis découper un programme en fonctions et en fichiers qui se compilent séparément.

    1. Contrôle du fluxif et switch, while, do…while et for, break et continue ; traduire en C le pseudocode d'Algorithmique 1.5 h · non commencée
    2. Fonctions et modularitéPrototype, définition, valeur de retour ; portée des variables ; passage par valeur ; fonctions récursives ; compilation séparée, en-têtes et Makefile.7 h · non commencée
  3. C3

    Tableaux et chaînes

    2 leçons · 8 h
    Non commencé

    Objectif. Manipuler des données groupées dans un langage qui ne vérifie jamais les bornes, et savoir ce que cela implique.

    1. TableauxDéclaration, indices et parcours, tableaux à deux dimensions, tableau passé en paramètre, et l'absence totale de vérification des bornes en C.4 h · non commencée
    2. Chaînes de caractèresLe caractère nul terminal, les fonctions de string.h, les pièges de strcpy et le dépassement de tampon, la manipulation caractère par caractère.4 h · non commencée
  4. C4

    Pointeurs et mémoire

    2 leçons · 13 h
    Non commencé

    Objectif. Le cœur du cours : manipuler des adresses, décider de la durée de vie des données, et rendre ce qu'on a emprunté.

    1. PointeursAdresse et déréférencement, pointeur et type pointé, passage par adresse, relation entre pointeur et tableau, arithmétique des pointeurs, pointeur nul.7 h · non commencée
    2. Allocation dynamiquePile et tas, malloc, calloc, realloc et free, durée de vie des données, fuites et pointeurs pendants, tableaux dynamiques et liste chaînée.6 h · non commencée
  5. C5

    Données structurées et fichiers

    1 leçon · 6 h
    Non commencé

    Objectif. Se donner ses propres types, et faire survivre les données à la fin du programme.

    1. Structures et fichiersstruct et typedef, tableaux de structures, structures imbriquées et pointeurs de structure ; fichiers texte et binaires, lecture, écriture, fin de fichier.6 h · non commencée
  6. C6

    Qualité du code

    1 leçon · 4 h
    Non commencé

    Objectif. Diagnostiquer plutôt que deviner : lire une erreur, dérouler au débogueur, traquer une fuite, écrire des tests.

    1. Déboguer et fiabiliserLire méthodiquement une erreur de compilation, gdb pas à pas, détection de fuites avec valgrind, assertions et jeux de tests, conventions d'écriture.4 h · non commencée