Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Download
Standard view
Full view
of .
Save to My Library
Look up keyword or section
Like this
8Activity

Table Of Contents

0 of .
Results for:
No results containing your search query
P. 1
PolyC

PolyC

Ratings: (0)|Views: 104 |Likes:
Published by SANGARE SOULEYMANE

More info:

Published by: SANGARE SOULEYMANE on Sep 10, 2008
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

10/15/2011

pdf

text

original

 
Universie de la editerraeeFacult´e des Sciences de Luminy
Le langage C
Licences Maths & Informatique Master Math´ematiques Master C.C.I.
Henri Garretaepartement d’Informatique - LIF
 
TABLE DES MATI `ERES TABLE DES MAT`ERES 
Table des mati`eres
1´El´ements de base 5
1.1 Structure g´en´erale dun programme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.2 Consid´erations lexicales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.2.1 Pr´esentation du texte du programme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.2.2 Mots-cl´es . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.2.3 Identicateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.2.4 Op´erateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.3 Constantes litt´erales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.3.1 Nombres entiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.3.2 Nombres ottants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.3.3 Caract`eres et chaˆınes de caract`eres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.3.4 Expressions constantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.4 Types fondamentaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91.4.1 Nombres entiers et caract`eres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91.4.2 Types ´enum´er´es . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111.4.3 Nombres ottants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111.5 Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111.5.1 Syntaxe des d´eclarations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111.5.2 Visibilit´e des variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121.5.3 Allocation et dur´ee de vie des variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131.5.4 Initialisation des variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131.5.5 Variables locales statiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141.5.6 Variables critiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141.5.7 Variables constantes et volatiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151.6 Variables, fonctions et compilation s´epar´ee . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151.6.1 Identicateurs publics et priv´es . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151.6.2 D´eclaration dobjets externes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2 Op´erateurs et expressions 18
2.1 G´en´eralit´es . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182.1.1 Lvalue et rvalue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182.1.2 Priorit´e des op´erateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192.2 Pr´esentation d´etaill´ee des op´erateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192.2.1 Appel de fonction
()
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192.2.2 Indexation
[]
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202.2.3 election
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.2.4 election dans un objet point´e
->
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.2.5 egation
!
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.2.6 Compl´ement `a 1
~
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.2.7 Les c´el`ebres
++
et
--
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.2.8 Moins unaire
-
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232.2.9 Indirection
*
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232.2.10 Obtention de l’adresse
&
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242.2.11 Op´erateur
sizeof
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242.2.12 Conversion de type (cast” operator) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252.2.13 Op´erateurs arithm´etiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272.2.14 ecalages
<< >>
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282.2.15 Comparaisons
== != < <= > >=
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 282.2.16 Op´erateurs de bits
&
|
^
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292.2.17 Connecteurs logiques
&&
et
||
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302.2.18 Expression conditionnelle
? :
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312.2.19 Affectation
=
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312.2.20 Autres op´erateurs d’affectation
+= *=
etc.
. . . . . . . . . . . . . . . . . . . . . . . . . . 322.2.21 L’op´erateur virgule
,
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332.3 Autres remarques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342.3.1 Les conversions usuelles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342.3.2 L’ordre d’´evaluation des expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342.3.3 Les op´erations non abstraites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
c
H. Garreta, 2004
 
TABLE DES MATI `ERES TABLE DES MAT`ERES 
3 Instructions 36
3.1 Syntaxe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363.2 Pr´esentation d´etaill´ee des instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373.2.1 Blocs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373.2.2 Instruction-expression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373.2.3 Etiquettes et instruction
goto
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383.2.4 Instruction
if...else...
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383.2.5 Instructions
while
et
do...while
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393.2.6 Instruction
for
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403.2.7 Instruction
switch
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413.2.8 Instructions
break
et
continue
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423.2.9 Instruction
return
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4 Fonctions 44
4.1 Syntaxe ANSI ou avec prototype” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444.1.1 D´enition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444.1.2 Type de la fonction et des arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444.1.3 Appel des fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454.1.4 D´eclaration “externed’une fonction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464.2 Syntaxe originale ou sans prototype. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464.2.1 D´eclaration et d´enition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464.2.2 Appel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474.2.3 Coexistence des deux syntaxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484.3 Arguments des fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484.3.1 Passage des arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484.3.2 Arguments de type tableau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484.3.3 Arguments par adresse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494.3.4 Arguments en nombre variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
5 Objets structur´es 52
5.1 Tableaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525.1.1 Cas g´en´eral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525.1.2 Initialisation des tableaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525.1.3 Chaˆınes de caract`eres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 535.2 Structures et unions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545.2.1 Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545.2.2 Unions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565.2.3 Champs de bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565.3 Enum´erations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575.4 D´eclarateurs complexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 585.4.1 Cas des d´eclarations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 585.4.2 Pointeurs et tableaux constants et volatils . . . . . . . . . . . . . . . . . . . . . . . . . . . 605.4.3 La eclaration
typedef
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615.4.4 Cas des types d´esincarn´es . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
6 Pointeurs 64
6.1 G´en´eralit´es . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 646.1.1 D´eclaration et initialisation des pointeurs . . . . . . . . . . . . . . . . . . . . . . . . . . . 646.1.2 Les pointeurs g´en´eriques et le pointeur
NULL
. . . . . . . . . . . . . . . . . . . . . . . . . . 656.2 Les pointeurs et les tableaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 666.2.1 Arithm´etique des adresses, indirection et indexation . . . . . . . . . . . . . . . . . . . . . 666.2.2 Tableaux dynamiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 686.2.3 Tableaux multidimensionnels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 696.2.4 Tableaux multidimensionnels dynamiques . . . . . . . . . . . . . . . . . . . . . . . . . . . 706.2.5 Tableaux de chaˆınes de caract`eres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 726.2.6 Tableaux multidimensionnels formels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 736.2.7 Tableaux non n´ecessairement index´es `a partir de z´ero . . . . . . . . . . . . . . . . . . . . 746.2.8 Matrices non dynamiques de taille inconnue . . . . . . . . . . . . . . . . . . . . . . . . . . 766.3 Les adresses des fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 776.3.1 Les fonctions et leurs adresses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 776.3.2 Fonctions formelles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
c
H. Garreta, 2004
3

Activity (8)

You've already reviewed this. Edit your review.
1 thousand reads
1 hundred reads
webzan2008 liked this
webzan2008 liked this
divexhp liked this
jugurtha_2003 liked this
balagopa liked this

You're Reading a Free Preview

Download
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->