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).