![](//s1.studylibfr.com/store/data-gzf/a03e25e3b2cf021a3162a7ccd322bfef/1/010044557.htmlex.zip/bg5.jpg)
Table des mati`eres 5
5 Les directives au pr´eprocesseur 77
5.1 La directive #include ............................... 77
5.2 La directive #define ................................ 77
5.2.1 D´efinition de constantes symboliques . . . . . . . . . . . . . . . . . . . 78
5.2.2 D´efinition de macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
5.3 La compilation conditionnelle . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
5.3.1 Condition li´ee `a la valeur d’une expression . . . . . . . . . . . . . . . . 79
5.3.2 Condition li´ee `a l’existence d’un symbole . . . . . . . . . . . . . . . . 80
6 La gestion des fichiers 81
6.1 Ouverture et fermeture d’un fichier . . . . . . . . . . . . . . . . . . . . . . . . 81
6.1.1 La fonction fopen ............................. 81
6.1.2 La fonction fclose ............................. 82
6.2 Les entr´ees-sorties format´ees . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
6.2.1 La fonction d’´ecriture fprintf ...................... 83
6.2.2 La fonction de saisie fscanf ........................ 83
6.3 Impression et lecture de caract`eres . . . . . . . . . . . . . . . . . . . . . . . . 83
6.4 Relecture d’un caract`ere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
6.5 Les entr´ees-sorties binaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
6.6 Positionnement dans un fichier . . . . . . . . . . . . . . . . . . . . . . . . . . 86
7 La programmation modulaire 89
7.1 Principes ´el´ementaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
7.2 Lacompilations´epar´ee............................... 90
7.2.1 Fichier en-tˆete d’un fichier source . . . . . . . . . . . . . . . . . . . . . 91
7.2.2 Variablespartag´ees............................. 93
7.3 L’utilitaire make .................................. 93
7.3.1 Principedebase .............................. 93
7.3.2 Cr´eation d’un Makefile .......................... 94
7.3.3 Macros et abbr´eviations . . . . . . . . . . . . . . . . . . . . . . . . . . 96
7.3.4 R`egles g´en´erales de compilation . . . . . . . . . . . . . . . . . . . . . . 97
A La librairie standard 99
A.1 Entr´ees-sorties <stdio.h>............................ 99
A.1.1 Manipulation de fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . 99
A.1.2 Entr´ees et sorties format´ees . . . . . . . . . . . . . . . . . . . . . . . . 99
A.1.3 Impression et lecture de caract`eres . . . . . . . . . . . . . . . . . . . . 100
A.2 Manipulation de caract`eres <ctype.h>..................... 101
A.3 Manipulation de chaˆınes de caract`eres <string.h>.............. 102
A.4 Fonctions math´ematiques <math.h>....................... 103
A.5 Utilitaires divers <stdlib.h>.......................... 104
A.5.1 Allocation dynamique . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
A.5.2 Conversion de chaˆınes de caract`eres en nombres . . . . . . . . . . . . . 104
A.5.3 G´en´eration de nombres pseudo-al´eatoires . . . . . . . . . . . . . . . . 104
A.5.4 Arithm´etique sur les entiers . . . . . . . . . . . . . . . . . . . . . . . . 104
A.5.5 Rechercheettri............................... 105
A.5.6 Communication avec l’environnement . . . . . . . . . . . . . . . . . . 105