Table des mati`
eres
Table des mati`eres v
1 Concepts fondamentaux 1
1 Introduction............................................ 2
1.1 Concepts fondamentaux en informatique . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.1 Syst`eme d’exploitation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.2 Logiciels applicatifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.3 Niveaux de langages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.4 Environnement de d´eveloppement . . . . . . . . . . . . . . . . . . . . . . 3
1.1.5 Ex´ecution d’un programme . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Historique des langages de programmation . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Historique du langage C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4 Le d´eveloppement de logiciel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 Premier contact avec le langage C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1 Un exemple de programme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2 Directives du pr´eprocesseur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.3 La fonction main ..................................... 6
2.4 Identificateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.5 Exercices ......................................... 7
3 Structure d’un programme C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.1 D´eclaration de variables et types de donn´ees . . . . . . . . . . . . . . . . . . . . . 7
3.1.1 D´eclaration de variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.1.2 Initialisation des variables . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.1.3 Initialisation des variables comme constantes . . . . . . . . . . . . . . . . 8
3.2 Les types pr´ed´efinis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.2.1 Le type caract`ere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.2.2 Les types entiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.2.3 Les types flottants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.3 Les constantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.3.1 Les constantes enti`eres . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.3.2 Les constantes r´eelles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.3.3 Les constantes caract`eres . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.3.4 Les constantes chaˆınes de caract`eres . . . . . . . . . . . . . . . . . . . . . 10
3.4 Les op´erateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.4.1 L’affectation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.4.2 Les op´erateurs arithm´etiques . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.4.3 Les op´erateurs logiques bool´eens . . . . . . . . . . . . . . . . . . . . . . . 13
3.4.4 Les op´erateurs logiques bit `a bit . . . . . . . . . . . . . . . . . . . . . . . 13
3.4.5 Les op´erateurs de comparaison . . . . . . . . . . . . . . . . . . . . . . . . 13
3.4.6 Les op´erateurs d’affectation compos´ee . . . . . . . . . . . . . . . . . . . . 13
3.4.7 Les op´erateurs d’incr´ementation et de d´ecr´ementation . . . . . . . . . . . 13
3.4.8 L’op´erateur virgule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.4.9 L’op´erateur conditionnel ternaire . . . . . . . . . . . . . . . . . . . . . . . 13