
TABLE DES MATI`
ERES TABLE DES MATI `
ERES
Table des mati`eres
1´
El´ements de base 5
1.1 Structure g´en´erale d’un programme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2 Consid´erations lexicales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.1 Pr´esentation du texte du programme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.2 Mots-cl´es ............................................. 6
1.2.3 Identificateurs .......................................... 6
1.2.4 Op´erateurs ............................................ 6
1.3 Constantes litt´erales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3.1 Nombresentiers ......................................... 7
1.3.2 Nombresflottants ........................................ 7
1.3.3 Caract`eres et chaˆınes de caract`eres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3.4 Expressions constantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.4 Typesfondamentaux........................................... 9
1.4.1 Nombres entiers et caract`eres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.4.2 Types´enum´er´es ......................................... 11
1.4.3 Nombresflottants ........................................ 11
1.5 Variables ................................................. 11
1.5.1 Syntaxe des d´eclarations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.5.2 Visibilit´e des variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.5.3 Allocation et dur´ee de vie des variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.5.4 Initialisation des variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.5.5 Variables locales statiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.5.6 Variables critiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.5.7 Variables constantes et volatiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.6 Variables, fonctions et compilation s´epar´ee . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.6.1 Identificateurs publics et priv´es . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.6.2 D´eclaration d’objets externes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2 Op´erateurs et expressions 18
2.1 G´en´eralit´es ................................................ 18
2.1.1 Lvalueetrvalue ......................................... 18
2.1.2 Priorit´e des op´erateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2 Pr´esentation d´etaill´ee des op´erateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2.1 Appel de fonction () ....................................... 19
2.2.2 Indexation [] ........................................... 20
2.2.3 S´election ............................................. 21
2.2.4 S´election dans un objet point´e -> ................................ 21
2.2.5 N´egation !............................................. 22
2.2.6 Compl´ement `a 1 ~........................................ 22
2.2.7 Les c´el`ebres ++ et -....................................... 22
2.2.8 Moins unaire -.......................................... 23
2.2.9 Indirection *........................................... 23
2.2.10 Obtention de l’adresse &..................................... 24
2.2.11 Op´erateur sizeof ........................................ 24
2.2.12 Conversion de type (“cast” operator) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.2.13 Op´erateurs arithm´etiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.2.14 D´ecalages << >> ......................................... 28
2.2.15 Comparaisons == != < <= > >= ............................ 28
2.2.16 Op´erateurs de bits &|^..................................... 29
2.2.17 Connecteurs logiques && et || ................................. 30
2.2.18 Expression conditionnelle ? : .................................. 31
2.2.19 Affectation =........................................... 31
2.2.20 Autres op´erateurs d’affectation += *= etc. .......................... 32
2.2.21 L’op´erateur virgule ,...................................... 33
2.3 Autresremarques............................................. 34
2.3.1 Les conversions usuelles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.3.2 L’ordre d’´evaluation des expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.3.3 Les op´erations non abstraites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2c
H. Garreta, 1988-2015