Vous êtes sur la page 1sur 9

07/03/13

1
LAnCACL uL 8CC8AMMA1lCn
LL LAnCACL C
1
ere
parue
l- u1lLlSA1lCn u'un LAnCACL
Cu'esL ce qu'un langage de programmauon :
c'esL une sulLe d'lnsLrucuons a desunauon de
la machlne, exemple le langage C
ue l'lnLerpreLeur au compllaLeur : de l'ecrlLure
a l'execuuon
Langage humaln
Langage de programmauon hauL nlveau
Langage machlne
l- AvAn1ACLS uu LAnCACL C
laclle a ecrlre, a llre eL a comprendre
MalnLenance alsee
orLage sur dlerenLes plaLes-formes
8euullsauon posslble en les enreglsLranL dans
des blblloLheques ou en les assoclanL aussl
avec d'auLres langages de programmauon.
07/03/13
2
l- SCPLMA uL lCnC1lCn L1 CCMlLA1lCn
llchler en .c
#lnclude <.h>
Compllauon (.ob[)
Llnk (.exe)
l- LxLMLL uL 8CC8AMML
rogramme 8Cn!Cu8
uebuL
Lcrlre ("8on[our")
lln


#lnclude<sLdlo.h>
#lnclude<conlo.h>
maln()
[
prlnu("8on[our"),
geLch(),
}
l- uLllnl1lCn uL LA lCnC1lCn
Ln C, le programme prlnclpal eL les sous-
programmes sonL denls comme foncuons. ll
n'exlsLe pas de sLrucLures speclales pour le
programme prlnclpal nl les procedures
(comme en langage algorlLhmlque ou auLre).
Le programme prlnclpal eLanL aussl une
'foncuon', nous l'appellerons maln() .
07/03/13
3
l- uLllnl1lCn uL LA lCnC1lCn
loncuon <nom> (var1, var2,.) <Lype resulLaL>
ueclarauon parameLres, declarauon varlables
uebuL
1ralLemenL
lln


<Lype resulLaL> <nom> (Lype var1, Lype var2,.)
[
ueclarauon parameLres, declarauon varlables
1ralLemenL
}


ll- luLn1lllCA1Lu8S
Les noms des foncuons eL des varlables en C sonL
composes d'une sulLe de leures eL de chlres. Le
premler caracLere dolL Lre une leure. Le
symbole '!' esL aussl consldere comme une leure.
L'ensemble des symboles uullsables esL donc:
[0,1,2,...,9,A,8,...,Z,_,a,b,...,z}
Le premler caracLere dolL Lre une leure (ou le
symbole '_') .
C dlsungue les ma[uscules eL les mlnuscules, alnsl:
"nom_de_varlable" esL dlerenL de "nom_de_varlable$
La longueur des ldenucaLeurs n'esL pas llmlLee, mals
C dlsungue 'seulemenL' les 31 premlers caracLeres.
ll- luLn1lllCA1Lu8S
ldenucaLeurs correcLs

nom1
n_2
_x1
nom_varlable
x123
ldenucaLeurs lncorrecLs

1nom
n-2
-x1
nom varlable
123x
07/03/13
4
ll- CCMMLn1Al8LS
Ln C les commenLalres s'ecrlvenL:
/* CommenLalre correcL*/
// CommenLalre correcL
/* commenLalre sur plusleurs llgnes
seconde llgne */
ll- 1?LS uL vA8lA8LLS
Sign Non sign
1 octet (char)
-128
+127
2
7
-1 0!255 2
8

2 octets (int)
-32768
+32767
2
15
-1 0!65535 2
16

4 octets (long)
-2147843648
+2147843647
2
31
-1 0!4294967295 2
32

Les Lypes enuer
ll- 1?LS uL vA8lA8LLS
Les Lypes rauonnel
dfinition

prcision mantisse domaine min domaine
max
nombre
d'octets
float simple 6 3.4 * 10
-38
3.4 * 10
38
4
double

Double 15 1.7 * 10
-308
1.7 * 10
308
8
Long
double
suppl. 19 3.4 * 10
-4932
1.1 * 10
4932
10
07/03/13
3
ll- uLCLA8A1lCnS L1 AllLC1A1lCnS
lorme generale de declarauon :
<Lype> var1, var2,... ,
Lxemple :
char x, x ,
lnL var, v1, v2 ,
oaL pl ,
long L1, L2 ,

ll- uLCLA8A1lCnS L1 AllLC1A1lCnS
une aecLauon uullsera le slgne = :
<var> = <expresslon> ,
Lxemple :
x = 2*y ,
v1 = 3 ,
pl = 3.14 ,
L1 = 'a' ,

ll- uLCLA8A1lCnS L1 AllLC1A1lCnS
ueclarauon-aecLauon :
<Lype> var = <valeur> ,
Lxemple :
lnL x = 0 ,
long double v1 = 3.3324334 ,
oaL pl = 3.14 ,
char L1 = 'a', n = '\n', Labul = '\L' ,

07/03/13
6
ll- CL8A1Lu8S L1 Lx8LSSlCnS
CperaLeurs arlLhmeuques
+ addition
- soustraction
* multiplication
/ division (entire et rationnelle!)
% modulo (reste d'une division entire)
ll- CL8A1Lu8S L1 Lx8LSSlCnS
CperaLeurs loglques
&& et logique (and)
|| ou logique (or)
! ngation logique (not)
CperaLeurs de comparalson
== gal
!= diffrent de
<, <=, >, >= plus petit que, ...
ll- CL8A1Lu8S L1 Lx8LSSlCnS
CperaLeurs parucullers de C
+= ajouter
-= diminuer de
*= multiplier par
/= diviser par
%= modulo
I++ ou ++I incrmentation (d'une unit)
I-- ou --I dcrmentation (d'une unit)
07/03/13
7
ll- CL8A1Lu8S L1 Lx8LSSlCnS
CperaLeurs parucullers de C
X = I++ passe d'abord la valeur de I X et
incrmente aprs
X = I-- passe d'abord la valeur de I X et
dcrmente aprs
X = ++I incrmente d'abord et passe la valeur
incrmente X
X = --I dcrmente d'abord et passe la valeur
dcrmente X
ll- CL8A1Lu8S L1 Lx8LSSlCnS
%&'()**+,-*
La formauon des expresslons esL denle par
recurrence
Les consLanLes eL les varlables sonL des expresslons.
Les expresslons peuvenL Lre comblnees enLre elles
par des operaLeurs eL former alnsl des expresslons
plus complexes.
Les expresslons peuvenL conLenlr des appels de
foncuons eL elles peuvenL apparaLre comme
parameLres dans des appels de foncuons.
ll- CL8A1Lu8S L1 Lx8LSSlCnS
%&).'/)*
" #$
"%%
&#'()*+,-.
'/"01*2 3(04(5/ 6702.
8#*9:;%<$:=.:>
*8%?.@#<$$
'(A"B(06#C"D"EF
07/03/13

ll- CL8A1Lu8S L1 Lx8LSSlCnS
0$)&'()**+,- 1)2+)-3 +-*3(456,- 7
" #$ G
"%% G
&#'()*+,-. G
'/"01*2 3(04(5/ 6702. G
8#*9:;%<$:=.:> G
*8%?.@#<$$ G
'(A"B(06#C"D"EF G
ll- CL8A1Lu8S L1 Lx8LSSlCnS
8(+,(+39 1)* ,'9(:3)4(* 7
Priorit 1 (la plus forte): ()
Priorit 2: ! ++ --
Priorit 3: * / %
Priorit 4: + -
Priorit 5: < <= > >=
Priorit 6: == !=
Priorit 7: &&
Priorit 8: ||
Priorit 9 (la plus faible): = += -= *= /= %=
lll- lCnC1lCnS A8l1PML1lCuLS S1AnuA8u
Les foncuons sulvanLes sonL predenles dans
la blblloLheque sLandard <maLh>. our
pouvolr les uullser, le programme dolL
conLenlr la llgne : #lnclude <maLh.h>
1ype des donnees
Les argumenLs eL les resulLaLs des foncuons
arlLhmeuques sonL du Lype 1,4;/).
07/03/13
9
lll- lCnC1lCnS A8l1PML1lCuLS S1AnuA8u
COMMANDE C EXPLICATION LANG.
ALGORITHMIQUE
exp(X) fonction exponentielle e
X

log(X) logarithme naturel ln(X), X>0
log10(X) logarithme base 10 log
10
(X), X>0
pow(X,Y) X exposant Y X
Y

sqrt(X) racine carre de X pour X>0
fabs(X) valeur absolue de X |X|
floor(X) arrondir en moins int(X)
ceil(X) arrondir en plus
fmod(X,Y)

reste rationnel de X/Y
(mme signe que X)
pour X diffrent de 0

sin(X) cos(X) tan(X) sinus, cosinus, tangente de X
asin(X) acos(X) atan(X) arcsin(X), arccos(X), arctan(X)
sinh(X) cosh(X) tanh(X) sinus, cosinus, tangente hyperboliques de X
lll- CCnvL8SlCn uL 1?L
<=>/)* 1) 5,-2)(*+,- :43,.:6?4) : lors d'une operauon
avec,
@AB 1)4& )-6)(*7 u'abord, les Lypes 5C:( eL *C,(3 sonL converus
en +-3. LnsulLe, l'ordlnaLeur cholslL le plus large des deux Lypes
dans l'echelle sulvanLe: +-3D 4-*+>-)1 +-3D /,->D 4-*+>-)1 /,->
@EB 4- )-6)( )3 4- (:6,--)/7 Le Lype enuer esL converu dans le
Lype du rauonnel.
@FB 1)4& (:6,--)/*7 L'ordlnaLeur cholslL le plus large des deux
Lypes selon l'echelle sulvanLe: G,:3D 1,4;/)D /,-> 1,4;/)
@HB :I)53:6,-* )3 ,'9(:3)4(* 1":I)53:6,-7 Lors d'une
aecLauon, le resulLaL esL Lou[ours converu dans le Lype de la
desunauon. Sl ce Lype esL plus falble, ll peuL y avolr une perLe
de preclslon
lll- CCnvL8SlCn uL 1?L
J,-2)(*+,- 1) 3K') @,4 5:*6->B
H;FD'CF
IJ8/ +#KG
"0E 3#-G
L(8E MG
M # *L(8E.+N3G
La valeur de A esL expllclLemenL converue en oaL. La valeur de
8 esL auLomauquemenL converue en oaL (regle 2). Le resulLaL
de la dlvlslon (Lype rauonnel) esL aecLe a C.
8esulLaL: C=0.73

Vous aimerez peut-être aussi