Programmation C/Sommaire
Voici une description rapide des différents chapitres qui constituent ce livre :
- Introduction
- Le C a une longue histoire... Créé au début des années 70, il a beaucoup évolué depuis. Nous expliquerons ici son histoire, décrirons ses principales caractéristiques et domaines d'utilisation, et fournirons des raisons de l'apprendre (ou de ne pas l'apprendre).
- Bases du langage
- Dans cette partie, nous étudierons les concepts de base du langage C, sa syntaxe ainsi que la manière dont un programme est structuré.
- Types de base
- Ensuite, nous présenterons les différents types de base que fournit le langage C. Ces types étant pour l'essentiel des nombres (entiers, réels et complexes), ce chapitre traitera aussi de l'arithmétique associée à ces types. Les types caractères, qui sont la base de nombreux traitements, et ont un rôle particulier dans ce langage, seront aussi définis.
- Classe de stockage
- Le C permet de construire des constantes, par le biais de classes de stockages. Celles-ci permettent de définir plus généralement des types dérivés des types de base et seront étudiés dans ce chapitre.
- Opérateurs
- Nous étudierons ensuite les opérateurs permettant de travailler sur les types de base, ainsi que les règles générales qui structurent les expressions en C.
- Structures de contrôle - tests
- La notion d'expression définie, nous aborderons les moyens de contrôler le flux d'exécution d'un programme. Tout d'abord, les tests de type Si...Alors...Fin Si seront étudiés.
- Structures de contrôle - itérations
- Dans la suite du chapitre précédent, nous étudierons les structure d'itérations, ou boucles, de type Pour, Tant que ou dérivés.
- Fonctions et procédures
- Comment le C prend en charge les fonctions et procédures.
- Tableaux
- Comment le C gère les tables de données.
- Pointeurs
- Les pointeurs sont une spécificité du C, souvent mal comprise. Ce chapitre définira et montrera comment bien utiliser les pointeurs, ainsi que les erreurs à éviter dans leur manipulation.
- Types avancés - structures, unions, énumérations
- Explications sur les types avancés du C.
- Préprocesseur
- Le préprocesseur est un « langage » au-dessus du C, que l'utilisateur rencontre pour la première fois dans l'utilisation des directives d'inclusion d'en-têtes de la bibliothèque standard. Cependant, il est capable de bien plus, et fournit des outils comme les macros ou l'inclusion conditionnelle, qui sont l'objet de ce chapitre.
- Bibliothèque standard
- Cette partie a pour but de familiariser le lecteur avec la « bibliothèque standard » du C. Celle-ci propose un ensemble de fonctions, mais aussi de types ou de variables permettant d'effectuer des opérations spécifiques, comme les traitements de fichiers, les calculs mathématiques, ou la gestion des chaînes des caractères.
- Chaînes de caractères
- Ce chapitre traite de toutes les fonctions permettant d'effectuer des traitements sur les chaînes de caractères : concaténation, copie, recherche de caractères, etc.
- Entrées/sorties
- Ce chapitre traite des interactions avec l'utilisateur.
- Erreurs
- La bibliothèque standard utilise un mécanisme unique pour la gestion d'erreur, qui permet à un programme de déterminer précisément la cause de l'échec d'une fonction de la bibliothèque standard.
- Mathématiques
- Ce chapitre détaille les fonctions mathématiques fournies par la bibliothèque standard.
- Gestion de la mémoire
- La bibliothèque standard fournit un moyen d'allouer et de libérer dynamiquement de la mémoire au cours de l'exécution du programme. Cette fonctionnalité est surtout utilisée pour résoudre des problèmes dont le volume des données à traiter varie d'une exécution à l'autre.
- Gestion des signaux
- Un signal est une interruption logicielle reçue par un processus. Ces interruptions fournissent un moyen de communication entre le système et un programme, pour informer le programme de situations d'erreur (utilisation d'une zone de mémoire invalide, par exemple), ou informer un processus d'événements asynchrones (fin d'une opération d'entrée/sortie). Le C permet d'envoyer et de traiter la réception de ces signaux.