!
" #
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%
!
" #
$
%
&
%
&
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$'
'
(
)
" *
+
,
&
( )*
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$"(
" - $ .
$
!
/
"
" !
"
" " !
&
" &
'
(
" 0
)
" % 1
$
2
+ #
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&"
& - $ .
$
& 0
%
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&,
- $ .
$
/
2
3
2
"
+
!
"
-
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$('
% - $ .
$
4
"(
% * 4
$
4
"(
% " 5
$
4
")
% &
"2
' )
.
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+"
(
6
4
scanf
&
(
6
4
printf
&
/
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+%
) 3
$ 4 7
&
)
+
+
4
&%
) "
&%
&
) &
&(
) !
&(
, 0
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+,
2 - $ .
/
&2
2 *
$
&2
2 "
$
,
2 & 0
+
!
2 0
7 8
9
2 % 0
"
2 ( 0
$
"
"1
2
!
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%'
, #
$
7 8
9
(
, *
)
, "
7 8
9
)
, & 544 7
$
7 8
9
)
,
$
7 8
9
)
"" 3
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$-%
1+: 4
%
+
%
" #
$
$
%(
& 0
: $
+
%(
"&
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$'%
;
(
$
4
(%
" #
((
& * 4
$
4
((
$<
=
()
"
#
"$"
+
(,
7 7
+
>
! 35 ?
@ A $
B
' 9
$!
;?C
9
44
'
DD
+:
E +
"$& )*
?
A
$
!
+
!
+
$44 7
F G
#include <stdio.h>F G
/*F"G
* Maximum de deux nombres entiersF&G
*/F G
main()F%G
{F(G
int x, y, max;F)G
printf("x ? ");F2G
scanf("%d", &x);F ,G
printf("y ? ");F G
scanf("%d", &y);F G
if (x >= y)F "G
max = x;F &G
elseF G
max = y;F %G
printf("max = %d", max);F (G
}4@
H
I 5
4
printf scanf) 2 ,
%
'
4 7
J
stdio.hK
4
$44 7
I
A &
%
I
( A (
4
4
main$
4
4
0
4
main:
B
!
9
4
+
A
%
A
(
I
(
+
x y max'
intF
+
G
5
x y max7
+
I
)
$!
F
+
6 J
KG 44 7
44
A
x$
2
,
B
+
yI
$
ifA
A
!
3
44
A
F
+
6 J
KG
xA
yF
"G
xF
+
6 J
44
A KG
max
3
F
&G $
y44
A
maxF
G
"$(
$
6
3
!
*
!
4 7
3
4 7
A
7
*
3
;?C
B
cc4 7
!
+
a.out" 0
!
;?C
a.out"$+ 4
;
9
!
6
I > L
7
* # 7
*
H
I < M
6
?
4
+
$
A
$
&
5
B
$
4 +
7
$!
$
$
1
4 +
+ A
3
$
$
79
'
$
+ N
'
$
79
4 +
1
$ '
'
79
B
79
4
$
B 6
I
I
6
I
F
G
5
'
? $!
'
4
+
9
7 8
9
+
J 4 !K
+ ,
+
J
K
9
+
F
53 ??
G
7 8
9
+
9
F .A.
+
+
G
*
7
$
'
+
!
7
7
2
&$"
5
+
'
)
6
5
F
G
)
char) +
. ) A
(
unsigned char) +
, A
short% +
." (%) A " (%(
unsigned short% +
, A %
"
long
" +
.
&( &)" %&) A
&( &)" %&(
unsigned long" +
, A & 2& 2%( 2%
)
int'
+
B
4@
44
7
!
?
'
long float" +
. ( ,
")A ., 2 ,
."), 2 ,
.")A ( ,
")( 744
!
4
double%& +
., 2 ,
",)A ., % ,
.",), % ,
.",)A , 2 ,
",)744
!
4
long double'
+
4
* !
6
I
A
'
+
.
I
$
+
4 '
B A
'
unsigned4
+
B
&$&
+
4
9
7 8
9
!
+
4 $
A
?
+
$
. A
+
F
.
O" " G
&$&$" 6
9
0744
44
00
!
6
0 15159
$
'
int long unsigned long
0
!
141946'
* 2
44!
u U unsigned l L long0
!
1515L'
long1515UL
'
unsigned long&$&$& 6
4
4
6
I
$
!
6
744
I
$
I
$
6
744
I
$
*
6
e E + –$
744
1
6
I
9
4
!
I
$!
!
0
!
4
6
2731.5e-1 .15 2e3+ 6
("
,
,,,
4
$
'
double1
7
'
:
44!
f F float l L long double0
!
.15F'
float 2731.5e-1L'
long double&$&$(
!
9
$
!4
9
+
7 0
!
6
'A' '1'9
9
\FJ
.
7KG
J
9 $ 7
K 6
\n \t+
\b9
\r7
\f \a \9
F P
44
n t b r f aG
0
!
9 J
K
\"9
$
'
char0
!
9
53 ??
53 ??
5
%
'A'+
65'
char&$&$+
2
!
7 8
9
4
9
0
!
6
,
"Bonjour !" "Je vous dis : \"Bonjour !\""
;
$
9
$ 7
\A
7 8
9
!
A
7 8
9
$
'
J
9 K
&$(
4 +
4
6
'
$
4
9
7
B
744
9 Q
9
0
!
6
x y1 ma_variable+
B
!
;
+
+
'
+
7
+
4
6
= , …, = ;P6
I
$
'
4
O
I
R
4
I
R
!
4
+
'
R
!
R
$!
+
+
!
+
+
+
7
) *
9
$!
$
*
F .A.
!
+ G
$
+
0
!
6
int i, j, k;float longueur = 10.5, largeur = 6.3; char une_lettre;
4
6
I
+
i j k'
intH
I
!
+
longueur largeur'
float,
" H
*
1
J 4! K
$
+
4!
.
const+
6
+
4
B
4
$!
0
!
6
const float pi = 3.14;' 4
" &
&$+ )
0
6
I
$
+
+
$
H
I
$
+
A
$!
$
?
$
$
'
$
!
B
!
0
$
$
$7
!
!
O
$
+
(
4
+
x y max3
+
A
x yF
2
G
"
$
9 $!
$
xS
"
yS
maxS
*
7
4@
6
I
'
6
(T) n vI
4 +
'
6
v (T) nI $
$
+
7
+
:
$A
0
!
$
$!
O
6
(int) max (int) y (int) x
I
7
$
$
A
+
A 7
4 +
A
$
O
9 $!
$
6
55 (int) max 55 (int) y 32 (int) x;
B
+
B
B
9
9
7
$
+
7 7
9
0
!
$
6
158 x 3 y 155 x+
x)
(
)*
($" 7
.
*
8
!
7
4
A $
+
$
0
!
P
+
x+
7
6
12 x (x + 12) - 3 (x > 4) && (x > 10)!
!
9
!
!
9
!
!
+
6
I
'
I
6
I
!
I
7
$
1
!
$!
6
I
4 +
7
A
I
!
A
$
$
7
B
3
!
6
I
F G
'
I
F G
!
B
79
3
!
( )!
B
'
B
($& )*
I 3
!
6
&
.
F G S '
.
F G S
I 3
+
!
6
.
F G S '
.
F G S
$
+
7
$
$
4 +
($( )*
!
A $
$
*
7
6
I
7
I
+
I $44
I
7
'
F
+
!G
7
!
7
2
($($" 3
$
T
$
$
+
3
!
'
6
-!
6
I
F
-G S
F
G
I
F
-G S.
F
G
($($& 9
+ - * /44
!
+
$
%!
+
3
!
'
+ -* / %!
6
I
F
G S
P
'
intF
G
F
G F
.
O" & G
I
F
G S
P
F
G
F
G
0
!
6
!
F
((4.0 + 2.25) * 2.0)G
= 12.5F
15 / 2G
= 7F
15 % 2G
= 1($($(
== != < <= > >=$
44
$ 4
$ 4
$
$
!
+
3
!
'
6
== != < <= > >=!
6
I
F
G S
intF
$
G
I
F
G S
P
F
G
F
G
'
intF
G
F
G F
.
O" &
G
0
!
6
F
1 == 9G S
0($($+ 6
$
!$ +
3
!
6
!!
6
I
F
G S
intI
F
!G S,
F
G S,
,($($%
:
:
$
|| &&:
:
!
+
3
!
6
|| &&!
6
I
F
G S
int%
I
F
||G S
F
G U
0F
G U
0,
4 .
4 .
I
F
&&G S
F
G S,
,
F
G U
0,
4 .
4 .
I
!9
$
$
.A.
$
||,
$
&&0
!
6
F
!((1 || 0) && (0 || 1))G S
0($($- ;
$
=44
A
4 + 0
!
7 A
3
!
$
4 + F
7 G
!
!
6
=!
6
I
F
=G S
F
G
I
F
=G S
F
G
F
G F
.
O" &
G
I ?'
44
+
6
F
G
V
0
!
x y+
F
xG S
F
yG S
intF
yG S
$!
6
(x = y) > 244
+
$44
A
x;
<
4
4
$
$44
=$
$
==! (
3
4
! +
3
+
6
ident++ ≡ ident = ident + 1
ident-- ≡ ident = ident - 1
($+
5
1
6
I
*
$
W X
I
$
$
'
($+$"
*
=
>
?
3
'
!
+
6
( ) exp!
6
I
F
( )G S
I
F
( )G S
F
G
($+$"$"
.'
4@
6
char < unsigned char < short < unsigned short < long < unsigned long
3
! '
'
'
6
I
Y
Z
4
A
+
I
Z
A
+
($+$"$&
..
I
$
'
' 4
4
7
I
$
' 4
'
9
($+$&
($+$&$" 9
3
7
$!
6
4@
6
)
3 $
!
'
char unsigned char short unsigned short$+
int$
+
unsigned int$
!
"
'
4@
6
int < unsigned int < long < unsigned long < float < double
3 $
'
$
'
[
$
'
$
4
'
($+$&$& ;
$!
6
=P
!
'
!
'
4@
6
$!
U
44
A
0
!
$
$!
6
y = 5.0 + 3 * x$
6
2.5 (float) x 0 (int) y 12'
int6
2.5 (float) x 12 (int) y($% 0
$
$!
$
$
!
79
+
$
! 2
9
0
;
() [] .
! -unaire &unaire *unaire( ) / % + -binaire < <= > >= == != && || =
&
"
,
2
&
A
A
7
A
7
A
7
A
7
A
7
A
7
A
7
A
3
4!
6
I
!
≡F
G
!
A
A
4A
7
I
!
≡F
!
G
3
4!
4!
6
I
≡F
G
A
+
A
4A
7
I
≡F
G
0
!
6
I
6 + 3 * 4≡6 + (3 * 4) *A
+I
6 * 3 + 4≡(6 * 3) + 4B
I
!a && b || x > 3≡(!a) && b || x > 3 !
A
&&≡((!a) && b) || x > 3 &&
A
||≡(((!a) && b) || (x > 3)) >
A
||I
3 + 4 - 5≡(3 + 4) - 5 + -B
+4A
7
I
x = y = 5≡x = (y = 5) =4A
($- 9
$
$
$
4
5;3? !
|| &&F
.
O" " G ? 4
A 44
+
$
44
+
#
+$" 7
.
A $
$
7
44
4
44
6
I
I
J !
K
I +
I
I
I
7 !
I
$
\
I
4
+$& 0
7
4
' !
$
7
!
+$&$" #
$
6
;+$&$& #
> *
?
3
!
;$44
+
$!
$
44
+
$
0
!
6
12 + 4;
7
A
0
$
6
x = 12 + 4;7
6 44
% A
x+$&$( @
3
R
+
R
6
{ … … }+
$
$
$
. B
B
+
$
+
+
A
+
+
+
+
+
4
$
+
$!
$ +
$
4@
6
+
$
$
!
:
$A
+
7 6
.
4
+
.
$!
$
break returnF
.
O& (
O& )G
" 5
+
+
A
+
+
4
main$ B
!
+
6
{ int x = 5, d = 1; float y; { float d = 0.5; y = x + d; } … } x y+
!
+
+
d+
+
!
6
d+
!
4
+
;
y$
$
$!
+
6
? " (float) y 1 (int) d 5 (int) x 0.5 (float) d 5.5 (float) y 1 (int) d 5 (int) x 5.5 (float) y 1 (int) d 5 (int) x
?
$!
+
?
+
?
+
9
+$&$+ #
7
$
A !
!
+
4
$
!
+
7 !
3
!
if ( ) if ( ) else9
$
6
F
G U
0!
$
4 .
$
6
F
G U
0!
$
!
$
4 .
0
!
6
if (mois >= 4 && mois < 10) saison = "chaude" else saison = "froide"
+
9
$
6
7
else if'
$!
9
$
6
&
if ( ) if ( )
else
else if
9
$
ifelse
+
then$
if elseB
+
+
*
$
6
if ( ) { if ( ) } else else+
if!
9
$ +
1
:
if else6
if ( ) if ( ) else ; else+$&$% #
$
$!
$
$
4
0
!
:
A
$
+
4
A ,,
$
+ 6
while do…while for+$&$%$" A
3
!
6
while ( )$
F
G
+
A
$
6
+
6
F
G U,
!
.A +
4 .
+
!
?
:
B
!
? while
B
$
+
A 7
!
+
0
!
$
sA 2
{ int s, i; s = 0; i = 1; while (i <= 9) { s = s + i; i = i + 1; } }+$&$%$&
B A
3
!
6
do while ( );$
$
while+
$
6
+
6
!
F
G U,
.A +
4 .
+
!
:
$A
4 ! ?
!
4
*
B
$
while do…whileB
$
+
A
7
!
+
0
!
$
A
A ,
{ int s, n; s = 0; n = 0; do { n = n + 1; s = s + n; } while(s <= 50); }+$&$%$(
3
"!
% for ( ; ; ")
$
4
A 6
; while ( ) { "; }9
$
F
G
$
F
G
+
F
"G
0
!
$
,
{ int s, n; s = 0; for (n = 1; n <= 10; n = n + 1) s = s + n; }!
"B
+
F
G
.
B
+
9
$
:
0
!
$
6
for (;;)+
4
+$&$-
*
*
7
A
+ $
+
4
$
!
7 !
7 !
4
6
switch ("
) {" #
…" #
}P6
I
"
!
I
+
$
I
7
" #
$
4
6
case"
:" #
default:" #
P
case"
: default:"
!
$
switch6
? (
!
case"
:F
"
G S
F
"
G
+
7 A $
!
default:+
7 A $
4
4 .
4 .
4
$ +
7
44
!
:
$A
9
0
$ 7 8
$!
!
!
4
4
4
breakF
.
O& (G
44 $+
$!
$
0
!
$
: F
jourG
A
: F
num_jourG
6
switch(num_jour) { case 1: jour = "lundi"; break; case 2: jour = "mardi"; break; … case 7: jour = "dimanche"; break; default:printf("Il n’y a que 7 jours dans la semaine !"); }
?
+
4
A
0
!
$
:
:
$
6
switch(num_jour) { case 6: case 7: activite = "repos"; break; default: activite = "travail"; }+$&$'
$
6
break;$+
$
8
$
while do for switch
+$&$/
)
return ;
7
% $+
$!
+
$
4
F
G
%
%$" 7
.
8
B
F
+ G
6
I
44
'
I
*
B
'
%$&
]
44
'
%$&$"
3
4
R
+
struct { ;R
; }$
+
R
0
!
6
struct point { char nom; float x, y; };6
I
pointI
7
nom x y'
4
char float float3
$
R
+
R
", struct = { ,
R
, $},R
, = { ,R
, $};+
'
struct7
F
F
G R
F
$GG R F
F
G R
F
$GG
0
!
6
struct point p1 = {'P', 1.5, 2.5}, p2 = {'Q', -1.5, -2.5};!
+
p1 p2'
struct point%
&
F
H
G
F.
H .
G
$
4
B
9 *
7
1
$
+
'
' 0
!
6
struct point { char nom; float x, y; } p1, p2;1
0
!
6
struct { float x, y; } p1, p2;B
+
0
!
B
!
6
struct date {int jour, mois, annee; }
struct vacances {
char periode; char zone;
struct date debut; struct date fin; } v;
6
; ] "
$7
&
$
+
+
vB
6
F
3 'A'F
3 2 2001G F
18 2 2001GG
$7
$
,,,. ,,
^
5
3
$
7
7
.0
!
v.date.jour jour date v$
:
$
7
R
$
6
" s.cn champ cn … s.c1 champ c1 s … …
%$&$&
$!
$
7
$
$
.F
G
3
!
$
F
7 G
7
6
.!
6
I
F
G S '
7
F
G
I
F
G S
7
F
G
$!
7
$
4 +
!
6
struct vacances v = {2, 'A', {3, 2, 2001}, {18, 2, 2001}}
A 7
7
9
" 2001 v.fin.annee 2 v.fin.mois 18 v.fin.jour v.fin 2001 v.debut.annee 2 v.debut.mois 3 v.debut.jour v.debut 'A' v.zone 3 v.periode v … …
1
6
F
v.zoneG S
'A'F
v.debut.moisG S
2%$&$( ;
C
$44
$
A
7
$
=F
.
O" " %G
0
!
6
struct vacances v; v.periode = 3; v.zone = 'A'; v.debut.jour = 3; v.debut.mois = 2; v.debut.annee = 2001; v.fin.jour = 18; v.fin.mois = 2; v.fin.annee = 2001;%$(
*
+
]
B
'
+
""
%$($"
3
'
4
,R
.!
'
6
[ ] = { ,,R
, . };$
+
'
, A . F
A
<
G ?
F
,G R
F
.G
$
4
$
+
$
$
F
,G
+
$!
$
7 1
44
+
A
+
!
A
9
+
$
4
B
9 *
0
!
7
'
+
9
+
7
B
+
6
int pluie[12];3
+
$
7
+
[ ]$
:
$
+
A
$
6
t[n-1] élément n-1 … t[0] élément 0 t pointeur … …%$($&
$!
$
$
+
$
[]3
!
'
+
'
!
'
[ ]!
6
I
F
[ ]G S
I
F
[ ]G S
$
F
G
+
F
G
$!
[ ]7
$
4 +
!
+
6
int pluie[12] = {50, 35, , 80}A 7
9
$
:
"& 80 pluie[11] … … 35 pluie[1] 50 pluie[0] pluie … …
1
6
F
pluie[1]G S
35%$($( ;
C
$44
$
A
$
+
$
=F
.
O" " %G 0
!
6
int pluie[12] pluie[0] = 50; pluie[1] = 35;R
pluie[11] = 80;%$($+
*
$
+
B
!. B
+
!
$
+
$
+
.
3
'
4
R
$!
[ ][ ]R
[ $]$
+
+
!
[ ]R
[ $]$
F R
$G
$!
6
[ ]R
[$]0
$
9
4
$+
$
4
0
!
+
$
6
0 1 2 3 4 5 6 7 8 9B
6
" int t[5][2] = {{0, 1}, {2, 3}, {4, 5}, {6, 7}, {8, 9}}
$
6
3 t[1][1] 2 t[1][0] t[1] 1 t[0][0] 0 t[0][1] t[0] t1
6
F
t[1]G S
. +
tF
tG
F
t[1][0]G S
2--$" 7
.
44
'
$
#
$
7
4
+
+ $
4
'
R
'
4
6
F G _R _ F G `
F G
P_
'
F G
$
+
'
-$&
4
$
4
' !
6
( , …, n)P6
I
9
. D
4
I
F
A G
4
$
A
+
!
44
4
I
'
$
4
I
+
$
4
$!
4
44
+
*
4
6
return ;$!
44
' A
4
F
G
0
!
4
'
!
B
4
4@
6
")
float moyenne(int x1, int x2) { float m; m = (x1 + x2) / 2.0; return m };
5
!
4
!
F
$
! $
!G
B
4
4@
6
int max(int x, int y) { if (x >= y) return x; then return y; }
-$( ;
$
$
4
!
'
4
6
( ,…, )P $
4
4
4
R
!
4
3 '
$
4
4
+
R
'
R
+
$!
F
R
G
4@
6
44 4
6
S
F
G R
S
F
G
+ 6
{ … = ; … = ; }!
"
9
return ;!
1
6
F'
( ,R
, )G S
F
G
$
4
6
'
( , …, )6
a "2
Env
xn val(expn) dans Env
…
x1 val(exp1) dans Env Env Env
$
4
'
$!
4
'
$!
4
'
0
!
$
4
moyenne4
.
O% 6
{ int x; float m; x = 7; m = moyenne(x, 2 * x); }$
$
6
m 7 x 10.5 m 14 x2 7 x1 m 7 x 10.5 m 7 x$
moyenne(x, 2 * x)$!
4
moyenne$!
m = moyenne(x, 2 * x);1
44 4 F
(
&G
!
4
6
-$+
4
6
void ( , …, n)P
void'
0
!
6
&, void ecrire_entier(int n) { printf("%d\n", n); }
4
$
6
void (v)P
void'
0
!
4
$
$
6
int lire_entier(void) { int n; scanf("%d", n); return n; }!4
B
+
44 7 $
$
$
6
ecrire_entier(lire_entier());4
$
scanf printf7
4
main'
$
int4
$
$
$
.
B 6
main()$
4
'
)
.
$
.
F
44 7
A $
4 7
G
4
4
4
$
$
9
*
4 7
*
0
!
!
$
4 7
!
4 7 +
4 7
!
$
.
B
? !
$
.
6 $
7 +
$
7 +
$
$
7 +
. B
$
*
$
!
4
$
.
6
4
scanf printf$
!
4
$
7
4
scanf printf++ 79
$
+
4
4
+
$
.
7
4 7
!
+
7
$
7
0
4
4
. B
8
'
7
4
4
4
'
++ 79
7
. D
4
$ A
. B
0
4
$
.
4 7
$ . B
J
7K
4 7
B
4 7
4
4
$
.
@
+
6
#include <stdio.h>.
b
$
A
!
4 7
$ . B J
7K
'$" 4
=
scanf
4
scanf$
$
4
4
4
+
'
!
^ 44
A
&
;
$
4
4
4
4
$
6
scanf('
"
"'
, &"
"
"
'
)$!
&"
"
"
'
0
!
7
2
$
4
4
'
A
9
%$
'
A
6
d'
int ld'
longF
P
'
'
shortG
u'
unsigned int lu'
unsigned longF
P
'
'
shortG
c9 F
'
charG
s7 8
9
9
$
F+
+
4
G
$ 4
H
c
d,c
:
A
4
7 8 F
.
7
,G
f4
'
float lf4
'
double Lf4
'
long double0
!
$!
+
!
+
longueur largeur
'
float {float longueur, largeur; scanf(%f, &longueur); scanf(%f, &largeur); }
'$& )
=
printf
4
printf$
$
4
4
$44 7
4
printf$
4
6
printf('
, , …, )4
7 8
9
4
4
$ '
$!
4
4
4!
9
%$
.
A 44 7
!
R
$44 7
4@
6
9
4
$!
9
!
F
R
G
3
9
44
%44 7 3
4
4
$
9
4
$
3 $ &"
" 3
9
%$!
44 7
4
A
4
4
3
4
4
4
!
$
9
4
4
A $!
0
$
*
4
4
4
6
I 1+
9
%I a
$
F
.G
$
+
+
744
9
$44 7
$ 4
F%
4 G
I 1+
9
6
d44 7
'
intld
44 7
'
long ou unsigned longP
'
int'
short c44 7
9
s44 7
7 8
9
f44 7
4
4!
!
'
double Lf44 7
4
4!
!
'
long double e44 7
4
4!
!
'
double Le44 7
4
4
!
'
long double0
!
$!
+
6
{ int x, y;printf("Entrez le premier nombre ?\n"); scanf("%d", &x);
printf("Entrez le second nombre ?\n"); scanf("%d", &y);
printf("La moyenne de %d et de %d est %f.", x, y, (x + y) / 2.0); }
7
6
Entrez le premier nombre ? 12↵
Entrez le second nombre ? 3↵ La moyenne de 12 et de 3 est 7.500000.
$
^
7.5000004
4
+
744
9
%
+
B
7
$
4
4
0
4
^
6
!
$
!
/
4 7
$
B 6
I
6
#include <stdio.h>7
4 7
$ . B
4
$
.
printf scanf$
!
.
7
(
I
'
I
+
!
$ A
+
4
$
4 7
I
4
+
I
4
4
*
$
4 7
!
'
/$"
;
4
&%
e
R
f
*
$
4 7
. B
g
e
R
f
*
+
+
6
R
h
+
R
+
4
g
'
e
R
f
* 4
4
6
R
h
4
'
R '
+
4
'
R '
'
h
g
$!
$
$
4
main6
+
R
4
'
R '
+
/$&
9
+
$
A
+
4
8
!
+
*
4
44
0
'
+
44
B
+
4 7
7
+
+
4 7
4
4 7
4
+
4
+
+
A
+
+
+
+
P
+
4
+
B
+
+
+
+
B
+
+
*$P
9
.
O &
A
$
+
A
4
+
4 7
. B
4
4 7
4
$
4
+
+
4
+
4
4
+
B
/$(
?
+
!
$
/* */$
B
+
0
!
!
6
3 $ &(
/* Ceci est un commentaire. */ /*
* Ceci est un commentaire * un peu plus long.
*/
!
$
+ * +
+
A
B
A
P
4
?
4
+
$
$
0
'
$
!
?4
7
$'
$
B A
4
4
?
!
4
$
6
/* Ceci est une boucle */
/$+ 3
$
.
F 4
elseRG
' F
int floatRG
/$% )*
? $
$
$
+
+
4
4@
6
I
+
+
+
tabI
4
somme_ligne$
I
4
main6
&)
/*
* Somme des éléments d’un tableau d’entiers * tab : tableau
* nbl : nombre de lignes * nbc : nombre de colonnes
* somme_ligne(i) : somme des éléments de la ligne i */ #include <stdio.h> float tab[2][5] = {{0.9, 1.8, 2.7, 3.6, 5.5}, {5.4, 6.3, 7.2, 8.1, 9.0}}; int nbl = 2, nbc = 5; float somme_ligne(int i) { float s; int j; s = 0; for (j = 0; j <= nbc – 1; j = j + 1) s = s + tab[i][j]; return s; } void main(void) { float s ; int i ; s = 0 ; for (i = 0; i <= nbl – 1; i = i + 1) s = s + somme_ligne(i); printf("somme = %f\n", s); }
,
0
,$" 7
.
8
$
$
B
+
? !
+
'
!
' J
'
K
$
+
J
K ? !
4
$ 9
!
$
+
,$&
$
4
6
*0
!
6
int *p char *p struct personne { char[20] nom ; int age ; } *p6
I
+
p' J
'
intK
I
+
p' J
'
charK
I
+
p' J
'
struct personneK
1
+
'
+
'
'
0
!
6
int n, *p;+
n'
int p'
int.,
,$( 3
,$($" ;
$
$
+
$
&3
$
4 + F
7 G
6
&!
6
I
F
&G S
F
G
I
F
&G S
;
<
&exp$
7 0
!
x+
'
int6
&x = 1244
12A
x? 44
$
6
x = 120
!
$
6
{ int *p, v; p = &v; }44
$
+
vA
+
p#
'
6
v'
int p int,$($& #
$
*$!
$
A
$
$ A
1
$
3
!
' J
'
K
6
*!
6
I
F
*G S
I
F
*G S
$!
*7 6
4 +
F
G
$
!
$
6
{ int *p, v;F G
v = 0;F G
p = &v;F"G
*p = 15;F&G
}$
$
$!
6
0
I
9 $!
$
F"G 6
0 v pI
9 $!
$
F&G 6
15 v p,$($( ; !
$
->$!
7
$
3
!
$
7
$!
6
->A 6
(* )->0
!
p pp+
6
struct personne { char nom[20] ; int age ; } p = {"Dupont", 36}, *pp;$
!
$
6
pp = &p;6
F
p.ageG
=F
pp->ageG
= 36,$+ 0
*
0
4
(
^
B
'
!
(
!
9
)
6
I
F
+G S
$
D)
(
I
F
-G S
$
. )
(
1
6
[ ] ≡ *( + )
4
6
(
159 p p + 3 Fp[3]G S F*(p + 3)G S 2B
! +
!
$
F
O " .
G
+
] $
B
'
$
+
F
,G 1
6
≡ & [0] [ ] ≡ *( + )0
!
tab$
+
6
int tab[3] = {15, 8, 23};6
F
tab[1]G S
F
*(tab + 1)G S)
,$% 0
2
!
7 8
9
+
'
char7 8
9
+
J 7 8
9 K
+
$
7 8
9
,
4
7 8
$
F
,G
+
0
!
6
B o n j o u r \0 "Bonjour";
<
'
44
+
0
!
p char6
char *p;6
p = "Bonjour"; p+
7 1
+
"Bonjour" p0
t+
9
6
0 " char t[8]
6
t = "Bonjour"; t$
7
,$- 0
$!
1
9
"9
"1
J
K
J i
K
"J
K
+
p1 p2 p3'
A
! 7
6
nom pereP
nom7 8
9 F
char
G
pere+
9 0
9
NULL$!
$
44
9 A 7
9
" { struct personne { char *nom;struct personne *pere; } p1, p2, p3 p1.nom = "Jean"; p1.pere = NULL; p2.nom = "Yves"; p2.pere = &p1; p3.nom = "Marie"; p3.pere = &p1; printf("%s\n", p2->nom); printf("%s\n", p3->nom); }
,$' 0
#
$
$
4
4
$
$
4
!
6
&
int somme (int x, int y) { return (x + y); } main() { int a, b, c; a = 5; b = 6; c = somme(a, b); }
$
9 $
4
somme4
main6
6 y 5 x c 6 b 5 a1
+
a bA
x y$
44
! 4
6
I
4
4
$
$
9
$A
I
$
+
!
B
j
$
F .A.
G
$
. B
1
$
1
$
$!
4
init44
A
+
xint init(int *p, int v) { *p = v; } main() { int x; init(&x, 5); }
4
$
$
4
initF G
9 F G
4
9
F"G
0 x
F G
5 v p xF G
5 xF"G
'
!
7
7
7
B
6
struct horloge { int heures; int minutes; int secondes; }0
4
7
4
4
avancer_horloge$
$7
A 4
6
void avancer_horloge(struct horloge *h) { if (h->secondes < 59) h->secondes = h->secondes + 1; else { h->secondes = 0; if (h->minutes < 59) h->minutes = h->minutes + 1; else { h->minutes = 0; h->heures = h->heures + 1; } } }
3
$
+
+
mon_horloge6
struct horloge mon_horloge
0
4
7
44
$
4
avancer_horloge$
6
avancer_horloge(&mon_horloge)1
$
44 4
+
$
+
4
$
+
F
O "
.
G
+
!
*
$
4
'
+
9
B
!
$
+
%
#include <stdio.h>
int mon_tableau[12] = {1, 2, 3, 4, 5, 6, 6, 5, 4, 3, 2, 1}; int somme(int tab[], int n)
{ int i, s; s = 0; for (i = 0; i <= n - 1; i = i + 1) { s = s + tab[i]; } return s; } main() { printf("Somme = %d\n", somme(mon_tableau, 12)); getchar(); }
$!
$44 7
6
somme = 42"1
2
!
"1$"
2
!
7 8
9
9
1
6
""7 8
9
" ,R
" "7 8
9
,R
"#
F
.
"G
9
!
+
A
4
4!
\F
.
7G 0
!
\t+
\nA
\"$
7 8
9
+
9
7 8
9
7 8
9
9
;
<
A
44
9
7 8
9 6
'A'9
"A"7 8
9
7 8
9
+
9
9
A
,
9
\0F
,G
9
9
7 8
4
+
7 8
9
!
.
0
!
6
I
7 8
9
"Le langage C"+
6
L e l a n g a g e C \0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14I
$
7 8
9
B
+
6
) \0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
"1$&
3
4
4 $
,
≤
$
≤
.
6
char t[ ] = { ,, , …, $, \0}4
+
'
+
9
7 8
9
!
T
A
" ,R
$"0
4
$
$
+
6
char t[ ] = "R
$"0
!
6
char titre[15] = "Le langage C"
"1$(
2
!
7 8
9
+
V
^
$ A
$
9
+
0
!
6
… B o n j o u r \0 … "Bonjour"3
t+
9
$44
6
t = "Bonjour"44
+
A
+
"1$+ ;
2
!
3
7 8
9
$
6
printf("%s", );$44 7
"1$% 3
2
!
0
7 8
9
6
I
$
7 8
9
I
! 7 8
9
7 8 9 2
I
! 7 8
9
I
!
$
. 7 8
9
;
<
\
4
7 8
!
+
7 8
9
? 4
$
\
7 8
9
"1$%$" 4
2
!
$
7 8
9
+
4
longueur4
6
int longueur(char s[]) { /** La longueur d'une chaîne est égale à la position * de la marque de fin.
* En effet si la longueur d'une chaîne est l elle se terminera
* au rang l - 1 puisque les caractères sont numérotés à partir de 0. * La marque de fin se trouve donc bien à la position l.
*/ int i; i = 0; while (s[i] != 0) i = i + 1; return i; }
"1$%$& )
*
2
!
$
! 7 8
9
4
egal4
6
%,
unsigned char egal(char s1[], char s2[]) {
/*
* Deux chaînes sont égales * si elles ont la même longueur
* et si leurs caractères de même rang sont égaux.
* On cherche à partir de 0 le premier rang i pour lequel : * - soit s1[i] != s2[i] ce qui se produit :
* 1) si on a atteint la fin de s1 et pas celle de s2, * 2) si on a atteint la fin de s2 et pas celle de s1, * 3) si le i-ème caractère de s1 n'est pas égal
* au i-ème caractère de s2
* Dans ces trois cas les chaînes s1 et s2 ne sont pas égales. * - soit s1[i] == '\0', en ce cas les chaînes s1 et s2
* sont égales si s2[i] == '\0' (chaînes de même longueur). */
int i; i = 0;
while ((s1[i] == s2[i]) && (s1[i] != '\0')) i = i + 1;
return (s1[i] == s2[i]); }
"1$%$(
*
2
!
! 7 8
9
s1 s24
concatener
4
void concatener(char s1[], char s2[]) {
/*
* On lit la chaîne s1 jusqu'à la marque de fin (rang i) * puis on recopie la chaîne s2, marque de fin comprise, * dans s1 à partir du rang i.
*/ int i, j; i = 0; while (s1[i] != 0) i = i + 1; j = 0; do { s1[i] = s2[j]; i = i + 1; j = j + 1; } while (s2[j] != 0); s1[i] = 0; return; }
$
s14
B
7 8
9
"1$%$+ )*
.
2
!
$!
7 8
9
s1. 7 8
9
s2+
i n4
extraire4
A
0$
$
+
$ .A.
i n4
+
iD
nT
A
s17 8 9 %
int extraire(char s[], int i, int n, char ss[]) {
int k;
if ((i < 0) || (n < 0)) /*
* Paramètres négatifs :
* on retourne 1 (extraction non réalisable). */
return 1; /*
* On avance jusqu'au rang i pour tester si la chaîne * ne se termine pas avant.
*/ k = 0;
while ((s[k] != 0) && (k < i)) {
k = k + 1; }
if (k < i) /*
* s se termine avant le rang i : * on retourne 1.
*/
return 1; /*
* On écrit dans ss les caractères de rang * i, i + 1, ..., i + n - 1 de s.
*/ k = 0;
while ((s[i + k] != 0) && (k <= n - 1)) { ss[k] = s[i + k]; k = k + 1; } if (k == n) /* * Extraction réussie :
* on écrit la marque de fin de chaîne dans ss. */ { ss[k] = '\0'; return 0; } else /*
* Il n’y a pas n caractères à extraire : * on retourne 1. */ return 1; }
$
s24
B
7 8
9
"1$%$% )*
$
4
%
#include <stdio.h> int longueur(char s[]) …
unsigned char egal(char s1[], char s2[]) …
void concatener(char s1[], char s2[]) …
void extraire(char s[], int i, int n, char ss[]) … main() { char ma_chaine[50] = ""; /* * Longueur */ printf("%d\n", longueur("")); printf("%d\n", longueur("Bonjour")); /* Egalite */
printf("%d\n", egal("jour", "journal")); printf("%d\n", egal("jour", "nuit")); printf("%d\n", egal("jour", "jour")); /*
* Concatenation */
concatener(ma_chaine, "Le langage C et "); concatener(ma_chaine, "le langage C++"); printf("%s\n", ma_chaine);
/*
* Extraction. */
err = extraire("Le langage C", 14, 7, ma_chaine); if (err == 0)
printf("%s\n", ma_chaine); else
printf("Extraction impossible !\n");
err = extraire("Le langage C", 3, 7, ma_chaine); if (err == 0)
printf("%s\n", ma_chaine); else
printf("Extraction impossible !\n");
err = extraire("Le langage C", 3, 12, ma_chaine); if (err == 0) printf("%s\n", ma_chaine); else printf("Extraction impossible !\n"); }
6
I
7 8
9
""H
I
7 8
9
"Bonjour"H
I
$
7 8
9
"jour" "journal" "jour" "nuit" "jour" "jour"F
!
9
G H
I
7 8
9
"" "Le langage C et " "le langage C++"H
7 8 9 %"
I $!
7 8
9
"Le langage C". 7 8
9
@
&
" F
+ G
. 7 8
9
@
"
(
. 7 8
9
@
"
F
+ G
c!
4
c44 7
6
0 4 0 0 1 Le langage C et le langage C++ Extraction impossible ! langage Extraction impossible !""
3
""$" 9 :
$+: 4
7
$
0
$
0
!
6
:
7
'
:
9
" :
,, A
$ 4
7 +
7
6
+
$
.A.
$
$
4
7 ! $
$
" 0
$ : $
+
7
B
A
+
1
7
+
$
7
+
A
4
$
+
F
G
'
F
+
7 8
9
G 0
F
"G A
A
+
""$& )
""$&$" 7
.
8
$
B
'
;
^
+
$
1
6
%%
kl
k l
k
,R
l
D
,R
0
!
6
k
)
l
kl
""$&$& 3
B
!
$
0
!
6
kl
$
k% &l
$
%
,
$
&
k% ) " &l
$
)
$
"
k% ) " l
$
"
$
k% ) "l
$
"
*
!
0
!
$
k% ) " &l
"
B
.
'
44
$
$
B
A $
$
6
F
G
9
A
$
.
.B
A $
$
6
F
$G
9
A
.
$
!
4
6
6 k
l ` k
l
*
4
B
$ 7 8
!
6
Fk
l
G
Fk
l
G
.
B
$
6
Fk
l
k
lG
*
7
A $
:
$
+
6
%(
F G
A ^
F G
F G
$
6 , Y [
F G
F
G
9
$
6 , Y Y
F G
F
G
$
$
6 , Y [
F G
F G
$
6 , Y [
F G
""$(
+9
+
$
'
+9
+
$
'
B
+
$
'
A
;
+
6
?4
4
'
;
9
$
F S
intG
A
7
6
struct sequence {int support[LONMAX], lon; }
P
+
support LONMAX!
$
$
lon LONMAX4
.
sequence #define LONMAX.
.
*
.
7
LONMAX!
""$+ 0
:
7
+
4
B
$
.A.
54
$
$
B
$!
$
+
+
erreur'
intA ,
$
%)
B
A F Z ,G
$
$
B
4
""$+$"
0
4
A ^
4
4
vider6
/** Vidage d’une séquence s */
void vider(struct sequence *s) { s->lon = 0; return; }
""$+$& 4
4
4
longueur6
/** Longueur d’une séquence s */
int longueur(struct sequence *s) { return s->lon; }
""$+$( )*
0
!
$
$
4 6
4
+
$
.A.
,
≤
≤
F G F
erreurS
G H
4
4
element6
%2
/*
* Extraction dans une séquence s de l’élément de rang i */
int element(struct sequence *s, int i) { /* * On teste la validité de i */ if ((i < 0) || (i >= s->lon)) { erreur = 1; return 0; } /*
* On retourne l’élément de rang i */ erreur = 0; return s->support[i]; }
""$+$+ #
0
$
4 6
4
4
A
F
erreurS
G
+
$
.A.
,
≤ ≤
F G F
erreurS
G H
$
A
@
4
A 7
4
$
H
"
H
&
4
4
insertion6
(,
/*
* Insertion d'un élément x au rang i d’une séquence s */
void inserer(struct sequence *s, int i, int x) {
int j; /*
* On teste si la séquence a sa longueur maximum. */ if (s->lon == LONMAX) { erreur = 2; return; } /* * On teste la validité de i. */ if (i < 0 || i > s->lon) { erreur = 1; return; } /*
* Si l'insertion ne se fait pas en fin de séquence
* on décale les éléments de i à ls d'un rang vers la droite * en partant de la fin de la séquence.
*/
if (i <= s->lon)
for (j = s->lon - 1; j >= i; j--) s->support[j + 1] = s->support[j]; /*
* On insère l'élément x au rang i. */ s->support[i] = x; /* * On incrémente la longueur. */ s->lon = s->lon + 1; erreur = 0; return; }
""$+$%
0
$
4 6
4
+
$
.A.
,
≤
≤
F G F
erreurS
G H
4
4
remplacer6
(
/*
* Remplacement dans une séquence s, de l’élément de rang i, par x */
int remplacer(struct sequence *s, int i, int x) { /* * On teste la validité de i */ if ((i < 0) || (i >= s->lon)) { erreur = 1; return; } /*
* On remplace l’élément de rang i par x. */ s->support[i] = x; erreur = 0; return; }
""$+$-0
$
4 6
4
+
$
.A.
,
≤
≤
F G F
erreurS
G H
$
7
A
@
4
A 7
4
$
"
4
4
supprimer6
(
/*
* Suppression dans une séquence s, de l’élément de rang i */
void supprimer(struct sequence *s, int i) { int j; /* * On teste la validité de i */ if ((i < 0) || (i >= s->lon)) { erreur = 1; return; } /*
* Si la suppression n’est pas celle du dernier élément de s on * décale les éléments de rang > i d'un rang vers la gauche. */ if (i < s->lon) for (j = i; j <= s->lon; j = j + 1) s->support[j] = s->support[j + 1]; /* * On décrémente de 1 la longueur de s. */ s->lon = s->lon - 1; erreur = 0; return; }