Programmation C

Un livre appartenant à la série Programmation et à l'étagère Informatique de Wikilivres.

Avant-propos

Nous proposons, par ce livre, d'apprendre la programmation en langage C. Dans ce livre, nous supposerons que le lecteur a des notions de base en programmation, algorithmique et structures de données ; si vous n'en avez pas ou si vous voulez réviser des notions pendant l'apprentissage du C, vous pouvez consulter les Wikilivres associés : Programmation, Algorithmique et Structures de données.

Le langage C permet d'appréhender des principes informatiques de bas niveau, liés à l'architecture d'un ordinateur, comme la gestion de la mémoire. Si la connaissance de ces principes peut aider à comprendre certains côtés du langage C, ils ne sont cependant pas nécessaires pour lire ce Wikilivre, les concepts étant expliqués chaque fois que cela est nécessaire.

Ce livre, en constante évolution, est issu d'un projet collaboratif. Si vous trouvez des erreurs, vous pouvez le corriger directement à l'aide des liens « Modifier » sur chaque page. Vous pouvez poser des questions et apporter vos remarques en laissant un nouveau message sur la page de discussion de ce livre. Toute question ou participation est la bienvenue !

Bonne lecture !


Annexes


Autres wikilivres sur le langage C


Une version imprimable du livre « Programmation C » est disponible. (voir/modifier)

Une version PDF de ce livre est disponible.

Une version compilée
de ce livre est disponible.
(ChargerPDFCommanderAide)
Livre de Wikibooks


Consultez également ces pages dans d’autres projets Wikimedia :

Article encyclopédique sur Wikipédia.
Définition sur Wiktionnaire.
Ressources éducatives sur Wikiversité.
Ce livre est un wiki et peut par conséquent être amélioré par tout le monde. N'hésitez pas à  participer !
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.

Conclusion