Programmation C

Présentation

Le but de ce cours est d'obtenir un socle de base en langage C, pré-requis dans plusieurs autres cours de la formation. À l'issue de ce cours, les étudiant·e·s devraient notamment être capable :

  • de faire un programme simple en C (écriture du programme, compilation puis exécution)
  • d'utiliser un certain nombre de fonctions très classiques de la bibliothèque standard C
  • de comprendre la documentation de celle-ci
  • d'utiliser les pointeurs dans le cadre de passage par adresse et de l'allocation dynamique (simple)

Pré-requis nécessaires

Les cours d'informatique de 1ère année sont des pré-requis, notamment il est supposé que chaque étudiant·e :

  • possède des connaissances de base en algorithmique
  • a déjà programmé dans un langage impératif, idéalement proche du C (comme l'approche Java "impératif" du cours d'algorithmique et programmation de L1)
  • connais les commandes de base d'un système Unix (se déplacer dans une arborescence, créer des dossiers/fichiers…)

Descriptif

Le contenu du cours est le suivant :

syntaxe élémentaire d'un programme C:

  • variables, tableaux, types primitifs
  • opérateurs de base
  • structures de contrôle : alternatives, boucles
  • fonctions

introduction aux types utilisateurs :

  • structure
  • de façon beaucoup plus brève : union, énumération

quelques rudiments de la bibliothèque standard C

  • fonctions d’ entrée/sortie de base
  • fonctions sur les caractères et les chaînes de caractères
  • fonctions sur la manipulation de fichiers

introduction aux pointeurs :

  • déclaration des pointeurs, opérateurs * et &
  • passage par adresse des paramètres d'une fonction
  • arithmétique des pointeurs
  • pointeurs sur une structure (opérateur ->)
  • allocation dynamique (malloc, calloc, realloc, free)

Bibliographie

Le langage C - Norme ANSI - 2ème édition de Brian W. Kernighan et Dennis M. Ritchie (Éditions DUNOD).

Le guide complet du langage C de Claude Delannoy (Éditions Eyrolles).