You are on page 1of 47

Universit

Moulay Ismal

Ecole suprieure de Technologie


Dpartement de Gnie Electrique
23/02/2012

Langage C

KHALID SBAI
Enseignant Chercheur
Ecole Suprieure de Technologie
Dpartement de Gnie Electrique

Universit Moulay Ismal


Khalid SBAI Cours dinformatique

Universit
Moulay Ismal

Ecole suprieure de Technologie


Dpartement de Gnie Electrique
23/02/2012

I. Introduction au langage C

Le langage C est un langage de programmation conu pour


des multiples utilisations. Il a t invent par Dennis
RITCHIE. Il est souvent associ au systme UNIX, sur
lequel il a t dvelopp, car ce systme est crit en C, ainsi
que la majorit des logiciels qui tournent sous UNIX.

Khalid SBAI Cours dinformatique

Universit
Moulay Ismal

Ecole suprieure de Technologie


Dpartement de Gnie Electrique
23/02/2012

II. FORMAT DU PROGRAMME C

Chaque langage de programmation est caractris par un


alphabet qui comprend tous les caractres utilisables dans la
construction des mots .
Alphabet du langage C

caractres
alpha- numriques
 lettres de A Z
 chiffres dcimaux de 0 9

Symboles spciaux
 Oprateurs : arithmtiques
et relationnels
 Sparateurs

La construction des mots se fait en respectant les rgles lexicales.


Khalid SBAI Cours dinformatique

Universit
Moulay Ismal

Ecole suprieure de Technologie


Dpartement de Gnie Electrique
23/02/2012

II. FORMAT DU PROGRAMME C (suite)

En C lensemble de ces mots peut tre divis en quatre catgories

Identificateurs

Nombres

Caractres

Mots cls

Assemblage des mots


En respectant les
rgles de syntaxe
Une instruction
un langage de programmation est caractris par un
alphabet, des rgles lexicales et des rgles syntaxiques
Khalid SBAI Cours dinformatique

Universit
Moulay Ismal

Ecole suprieure de Technologie


Dpartement de Gnie Electrique
23/02/2012

III. Quest ce quun programme C?

Cest un texte crit avec un diteur de texte, respectant une


certaine syntaxe et stock sous forme d'un ou plusieurs
fichiers (gnralement avec l'extension .c).
Exemple:
..
main()
{
bloc dinstructions
}

Fichier texte contenant


les instructions du
langage C .

Source.c
Compilation

Objet.o Edition des liens

Excutable

Khalid SBAI Cours dinformatique

Universit
Moulay Ismal

Ecole suprieure de Technologie


Dpartement de Gnie Electrique

IV. STRUCTURE GENERALE DUN PROGRAMME C

23/02/2012

EN-TETE
/* nom du programme */
/* Date*/
// Description //
PARTIE DINCLUSIONS
Les Dfinitions #include <fichier1.h>
PARTIE DECLARATIONS
Les dfinitions de types,
Les Constantes et Les variables,
Les prototypes des fonctions

main()
{
Bloc dInstructions
}
Khalid SBAI Cours dinformatique

Universit
Moulay Ismal

Ecole suprieure de Technologie


Dpartement de Gnie Electrique

IV. STRUCTURE GENERALE DUN PROGRAMME C

23/02/2012

Programme typique en C
include
main()

main() toujours la
1re fonction appele

fonction a()

instructions

fonction b()

instructions
instructions
Khalid SBAI Cours dinformatique

Universit
Moulay Ismal

Ecole suprieure de Technologie


Dpartement de Gnie Electrique
23/02/2012

IV.1 Les fichiers include


#include <stdio.h>

Inclusion de la bibliothque
contenant la fonction printf
Dbut du programme

void main()
{
printf ("Bonjour!\n");
}

Premire instruction
Fin du programme

La directive #include inclue le fichier stdio.h au programme avant la


compilation pour pouvoir utiliser la fonction prdfinie printf.

Khalid SBAI Cours dinformatique

Universit
Moulay Ismal

Ecole suprieure de Technologie


Dpartement de Gnie Electrique
23/02/2012

IV.2 Les Commentaires


Exemple:
#include <stdio.h>
//pour pouvoir utiliser la fonction printf

main()
{ /*Ce programme imprime la chaine de caractre
Bonjour! lcran*/

printf(Bonjour!);
}
Khalid SBAI Cours dinformatique

Universit
Moulay Ismal

Ecole suprieure de Technologie


Dpartement de Gnie Electrique
23/02/2012

IV.3 Les identificateurs


Les identificateurs servent dsigner les diffrents objets
manipuls par le programme: Variables, fonctions,
Commence ncessairement par une lettre
Au plus 31 caractre
Le caractre _ (appel : blanc soulign ) est considr
comme une lettre ; il peut donc figurer n'importe quelle
place dans un identificateur: _Total2, Prix_unit

Khalid SBAI Cours dinformatique

Universit
Moulay Ismal

Ecole suprieure de Technologie


Dpartement de Gnie Electrique
23/02/2012

IV. 4 Les Types dans C

Les types de base du langage C se rpartissent en 3 grande


catgories en fonction de la nature des informations quils
permettent de reprsenter:
 Nombres entiers (int)
 Nombres rels flottants (float ou double)
 Caractre (char)
apparat en C comme un cas particulier de int.
Ils peuvent tre signs ou non signs :
signed ou unsigned (unsigned int x;)
Khalid SBAI Cours dinformatique

Universit
Moulay Ismal

Ecole suprieure de Technologie


Dpartement de Gnie Electrique
23/02/2012

IV. 4 Les Types dans C (suite)


a. Types Entiers
short int ou short (entier sur 16 bits : - 32 768 32 767)
int (entier sur 32 bits : - 2 147 483 648 2 147 483 647)

long int ou long (entier sur 32 bits ou 64 bits, selon les


machines)

Chacun des 3 peut tre nuanc par lutilisation du qualificatif


unsigned pour ne reprsenter que des nombres positifs:
Exemple:

unsigned short x;

x peut aller de 0 65 535


pas de bit rserv pour le signe

C accepte les constantes entire en notation:


dcimale, hexadcimale ou octale
Khalid SBAI Cours dinformatique

Universit
Moulay Ismal

Ecole suprieure de Technologie


Dpartement de Gnie Electrique
23/02/2012

IV. 4 Les Types dans C (suite)


b. Types rels

Float : cod sur 4 octets avec 1 bit de signe, 23 bits de mantisse


et 8 bits d'exposant
Double : cod sur 8 octets avec 1 bit de signe, 52 bits de
mantisse et 11 bits d'exposant
Long : cod sur 10 octets avec 1 bit de signe, 64 bits de
mantisse et 15 bits d'exposant
C accepte les constantes flottantes en notation dcimale ou
scientifique:

3.5e+3

3500 2.43

-0.38

-.38

4.

.27

Khalid SBAI Cours dinformatique

Universit
Moulay Ismal

Ecole suprieure de Technologie


Dpartement de Gnie Electrique
23/02/2012

IV. 4 Les Types dans C (suite)


c. Type Char

En C une variable de type char occupe 1 octet en mmoire et elle


ne peut contenir quun seul caractre

Notation des constantes caractres :


Important:

'a' , '$' ..

'a' a

Ce 'caractre' n'est autre chose qu'un nombre correspondant un


code : ici cest le code ASCII.
Dans les calculs, les constantes de type caractre sont traites
exactement comme des entiers
Une variable de type caractre peut tre utilise pour mmoriser
des valeurs entires non signs (intervalle compris entre 0 et 255).
Khalid SBAI Cours dinformatique

Universit
Moulay Ismal

Ecole suprieure de Technologie


Dpartement de Gnie Electrique

IV. 4 Les Types dans C (suite)


c. Type Char NOTATION
Il existe des
caractres
non
imprimables,
tel que:

23/02/2012

RESULTAT

\a

cloche ou bip (alert ou audible bell)

\b

Retour arrire (Backspace)

\f

Saut de page (Form Feed)

\n

Saut de Ligne (Line Feed)

\r

Retour chariot (Carriage Return)

\t

Tabulation horizontale (Horizontal Tab)

\v

Tabulation verticale (Vertical Tab)

\\

\'

\ ''

\?

?
Khalid SBAI Cours dinformatique

Universit
Moulay Ismal

Ecole suprieure de Technologie


Dpartement de Gnie Electrique
23/02/2012

IV. 4 Les Types dans C (suite)


c. Type boolen :
Pas de type boolen en C.

Le langage C considre vraie toute variable, constante ou


expression diffrente de 0 et fausse le cas contraire.
Valeur logique faux

valeur numrique zro

Valeur logique vrai

toute valeur diffrente de zro

Dans un contexte qui exige une valeur boolenne (comme les


tests, par exemple), un entier non nul quivaut vrai et la
valeur zero quivaut faux
Khalid SBAI Cours dinformatique

Universit
Moulay Ismal

Ecole suprieure de Technologie


Dpartement de Gnie Electrique
23/02/2012

IV. 5 Les Mots rservs


Les mots suivants sont rservs. Leur fonction est
prvue par la syntaxe de C et ils ne peuvent pas tre
utiliss dans un autre but :
auto

break

case

char

const

continue default

do

double else

enum

extern

float

for

goto

if

int

long

register return short

signed

sizeof

static

struct

switch typedef union

unsigned void

volatile while

Khalid SBAI Cours dinformatique

Universit
Moulay Ismal

Ecole suprieure de Technologie


Dpartement de Gnie Electrique
23/02/2012

V. LES VARIABLES
V.1. Dclaration
Type nom_de_la_variable [= valeur];

Unsigned
Signed
Float
Double
Long double

Char
Short
Int
long

identificateur

= expression

Exemple:
int nb;
float pi = 3.14;

char c = 'a';
double r = 6.2879821365;
Khalid SBAI Cours dinformatique

Universit
Moulay Ismal

Ecole suprieure de Technologie


Dpartement de Gnie Electrique
23/02/2012

VI. Oprateur et expression


C dispose d'un important ventail d'oprateurs
originaux d'affectation et d'incrmentation.
VI.1 Oprateurs arithmtiques en C
OPERATEUR
+
*
/
%

OPERATION
addition
soustraction
multiplication
Division (entire et
rationnelle!)
modulo (reste d'une division.
entire)
Khalid SBAI Cours dinformatique

Universit
Moulay Ismal

Ecole suprieure de Technologie


Dpartement de Gnie Electrique
23/02/2012

VI.2 Oprateurs Relationnels


Comme tout langage, C permet de "comparer" des expressions
l'aide d'oprateurs classiques de comparaison et de logique.

Oprateurs de comparaison:
==
!=
<, <=, >, >=

gal
diffrent de
plus petit que, ...

Remarque:

= = : dsigne loprateur de comparaison


= : dsigne loprateur daffectation

Khalid SBAI Cours dinformatique

Universit
Moulay Ismal

Ecole suprieure de Technologie


Dpartement de Gnie Electrique
23/02/2012

VI.2 Oprateurs Relationnels (suite)


C dispose de trois oprateurs logiques classiques:
et (not &&),
ou (not | |),
non (not ! ).
Oprateurs logiques:
&&
||
!

et logique (and)
ou logique (or)
ngation logique (not)

Ces oprateurs acceptent n'importe quel oprande


numrique, y compris les types flottants, condition de
considrer que:
toute valeur diffrente de zro comme vrai
et zro comme faux
Khalid SBAI Cours dinformatique

Universit
Moulay Ismal

Ecole suprieure de Technologie


Dpartement de Gnie Electrique
23/02/2012

VI.2 Oprateurs Relationnels (suite)


Exemple:

Expression:

Rsultat

32 && 2.3

!65.34

0||!(32 > 12)

Remarque:
les oprateurs relationnels sont moins prioritaires que
les oprateurs arithmtiques

Khalid SBAI Cours dinformatique

Universit
Moulay Ismal

Ecole suprieure de Technologie


Dpartement de Gnie Electrique
23/02/2012

VI.2 Oprateurs Relationnels (suite)


Rmarque:
Les oprateurs && et || impliquent lvaluation de
loprande gauche avant lvaluation de loprande
droit. De plus, ce dernier peut ne pas tre valu si la
valeur obtenue partir de loprande gauche suffit de
dterminer le rsultat:
0 pour loprande gauche de loprateur && Faux;
1

pour loprande gauche de loprateur ||

Vrai

Khalid SBAI Cours dinformatique

Universit
Moulay Ismal

Ecole suprieure de Technologie


Dpartement de Gnie Electrique
23/02/2012

VI.2 Oprateurs Relationnels (suite)

Exemple
n et p sont des entiers, le compilateur accepte des expression
telles que:

n && p

n||p

if ( !n ) if (n == 0)

Remarque1: loprateur ! a une priorit suprieure celle de


tous les oprateurs arithmtiques et relationnels. La ngation
de a==b serait !(a==b) et non !a==b
Remarque2: loprateur | | est moins prioritaire que &&. Tous
deux sont de priorit infrieure aux oprateurs arithmtique et
relationnels
a<b && c<d quivaut (a<b) && (c<d)
Ne sera value que si a<b est vrai
Khalid SBAI Cours dinformatique

Universit
Moulay Ismal

Ecole suprieure de Technologie


Dpartement de Gnie Electrique
23/02/2012

VI.3 Oprateur daffectation ordinaire


En C, pour la plupart des expressions de la forme:
expr1 = (expr1) op (expr2).

expr1 op= (expr2).

formulation quivalente
qui utilise un seul
oprateur d'affectation

Remarque:
Loprateur daffectation = possde une
associativit de droite gauche : i = j = 5
i=i+k  i+=k

a=a*b  a*=b i=i-k  i-=k

a=a/b  a/=b
Khalid SBAI Cours dinformatique

Universit
Moulay Ismal

Ecole suprieure de Technologie


Dpartement de Gnie Electrique
23/02/2012

VI.4 Oprateurs dincrmentation et de dcrmentation ( ++ - - )

++ i : expression qui incrmente de 1 la valeur de i, et sa


valeur est celle de i aprs incrmentation.
si la valeur de i est 5, l'expression : n = ++i - 5 affectera i
la valeur 6 et n la valeur 1.
On dit que ++ (respectivement --) est:
- un oprateur de pr incrmentation (respectivement
de pr dcrmentation) lorsqu'il est plac gauche.
- un oprateur de post incrmentation (respectivement
de post dcrmentation) lorsqu'il est plac droite.
Khalid SBAI Cours dinformatique

Universit
Moulay Ismal

Ecole suprieure de Technologie


Dpartement de Gnie Electrique
23/02/2012

VI.4 Oprateurs dincrmentation et de dcrmentation ( ++ - - )


Priorit:

3 * i++ * j-- + k++


Exemple

3 * (i++) * (j--) + (k++)

Supposons que la valeur de N est gal 5:

X = N++;
X = ++N;

Rsultat: N=6 et X=5


Rsultat: N=6 et X=6

instruction

Instruction quivalente

I = J++ +4;

I = J+4; J = J+1;

I = ++J 7;

J = J+1; I = J 7;

K = (--J) +(M++);

J = J 1; K = J + M; M = M + 1;

K = (++I) -(--M);

I = I + 1; M = M 1; K = I M;
Khalid SBAI Cours dinformatique

Universit
Moulay Ismal

Ecole suprieure de Technologie


Dpartement de Gnie Electrique
23/02/2012

Priorit des oprateurs :


Les rgles sont "naturelles" et rejoignent
celles de l'algbre traditionnelle
PRIORITE
1 (la plus forte):
2:
3:
4:
5:
6:
7:
8:
9.
10 (la plus faible):

OPERATEUR
[ ]() ->
! ++ -* / %
+ < > <= >=
== !=
&&
||
?:
= += -= *= /= %=
Khalid SBAI Cours dinformatique

Universit
Moulay Ismal

Ecole suprieure de Technologie


Dpartement de Gnie Electrique
23/02/2012

Conversions implicites :
On peut crire des expressions mixtes dans lesquelles
interviennent des oprandes de types diffrents:
int n, p;

float x;

Conversion implicite:
Mme mcanisme :

n * x
+ p;
(int * float) + int
int  float
float

( float*float) +
float
+
+

int
int

float  float

On parle de conversion dajustement de type:


int  long  float  double l ong double
Khalid SBAI Cours dinformatique

Universit
Moulay Ismal

Ecole suprieure de Technologie


Dpartement de Gnie Electrique
23/02/2012

VI.7 Les conversions de type forces (casting)


Il est possible de convertir explicitement une valeur en un
type quelconque en forant la transformation l'aide de la
syntaxe:
(Type) Expression;
Exemple:
char A=3;
int B=4;
float C;
C = (float)A/B;
La valeur de A est explicitement convertie en float
La valeur de B est automatiquement convertie en float

Le rsultat de la division (type rationnel, valeur 0.75) est affect


C
Rsultat: C=0.75
Khalid SBAI Cours dinformatique

Universit
Moulay Ismal

Ecole suprieure de Technologie


Dpartement de Gnie Electrique
23/02/2012

VI.8 Loprateur conditionnel : (seul oprateur ternaire en C)


Syntaxe :
condition ? (expression1) : (expression2);
Evaluation de la condition

Rsultat de lEvaluation = 1

Cest le Rsultat de lexpression 1


Qui va tre retourn.

Rsultat de lEvaluation = 0

Cest le Rsultat de lexpression 2


Qui va tre retourn.

Khalid SBAI Cours dinformatique

Universit
Moulay Ismal

Ecole suprieure de Technologie


Dpartement de Gnie Electrique
23/02/2012

VI.8 Loprateur conditionnel : (seul oprateur ternaire en C)


Utilisation la valeur de lexpression
z = (x==y) ? a : b ;
La valeur de lexpression nest pas utilise
a>b ? i++ : i-- ;
Recherche du maximum de deux entiers:
Max= a>b ? a : b ;

Khalid SBAI Cours dinformatique

Universit
Moulay Ismal

Ecole suprieure de Technologie


Dpartement de Gnie Electrique
23/02/2012

VII. Les Entes-Sorties Conversationnelles


Pour assurer la communication entre la machine et le monde
extrieur, on fait appel soit aux:

fonctions de lecture
ou
fonctions dentres
utilises pour prendre des
informations partir du clavier

fonctions dcriture
ou
fonctions de sorties
utilises pour afficher les
rsultats lcran

Lensemble de ces fonctions est intgr dans la


bibliothque standard <stdio.h> .
Khalid SBAI Cours dinformatique

Universit
Moulay Ismal

Ecole suprieure de Technologie


Dpartement de Gnie Electrique

VII.1 Ecriture des donnes: fonction printf

23/02/2012

La fonction printf est utilise pour transfrer du texte, des


valeurs de variables ou des rsultats d'expressions vers lunit
de sortie standard (par dfaut l'cran)
Syntaxe
printf("chaine de Contrle", Expr1, Expr2, ... );
Du texte
Des squences d'chappement
Spcifications de format
correspondant chaque
expression de la liste: code de
format reprs par %.

Cest le rsultat de
lexpression qui va
tre afficher

Khalid SBAI Cours dinformatique

Universit
Moulay Ismal

Ecole suprieure de Technologie


Dpartement de Gnie Electrique

VII.1 Ecriture des donnes: fonction printf

23/02/2012

Exemple:
int A = 1234;
int B = 567;
int n1= 2, n2= 5;
printf("%d fois %d est %ld\n", A, B, (long)A*B);
printf("la somme de %d + %d = %d",n1,n2, n1+n2);
Remarque:
Un code de format peut contenir des informations
complmentaires agissant sur le cadrage, le gabarit ou la
prcision.
Khalid SBAI Cours dinformatique

Universit
Moulay Ismal

Ecole suprieure de Technologie


Dpartement de Gnie Electrique
23/02/2012

Les possibilits de la fonction printf


Les principaux codes de conversion:

 c : char: caractre affich ''en clair" (convient aussi short


ou int compte tenu des conversions systmatiques)
 d : int (convient aussi char, compte tenu des conversions
systmatiques)
 u : unsigned int
 ld : long
 lu : unsigned long

Khalid SBAI Cours dinformatique

Universit
Moulay Ismal

Ecole suprieure de Technologie


Dpartement de Gnie Electrique
23/02/2012

Les principaux codes de conversion:


 f : double ou float crit en notation "dcimale" avec six chiffres
aprs le point
 e : double ou float crit en notation 'exponentielle' avec six
chiffres aprs le point dcimal, sous la forme x.xxxxxxe+yy
ou x.xxxxxxe-yy pour les nombres positifs et -x.xxxxxxe+yy
ou -x.xxxxxxe-yy pour les nombres ngatifs
 s : chane de caractres

Khalid SBAI Cours dinformatique

Universit
Moulay Ismal

Ecole suprieure de Technologie


Dpartement de Gnie Electrique
23/02/2012

Action sur le gabarit daffichage:


 Les entiers sont affichs par dfaut sans espaces
avant ou aprs.
 Les flottants avec six chiffres aprs le point.

Pour agir sur laffichage  un nombre est plac aprs


% et prcise le nombre de caractre minimum utiliser.
Exemple:

printf("%3d", n );
n = 20

^20

n=3

^^3

n = 2358

2358

n = -5200

-5200
Khalid SBAI Cours dinformatique

Universit
Moulay Ismal

Ecole suprieure de Technologie


Dpartement de Gnie Electrique
23/02/2012

Action sur le gabarit daffichage:


Exemples:

printf("%f" , x );
x = 1.2345

1.234500

x = 12.3456789

12.345679

printf("%10f" , x );
x = 1.2345

^^1.234500

x = 1.2345E5

123450.000000

printf("%e" , x );
x = 1.2345

1.234500e+00

x = 123.45

1.234500e+02
Khalid SBAI Cours dinformatique

Universit
Moulay Ismal

Ecole suprieure de Technologie


Dpartement de Gnie Electrique
23/02/2012

Actions sur la prcision :


Pour les flottants, on peut prciser un nombre de chiffres aprs
le point dcimal
Exemple:
printf("%10.3f" , x );
x = 1.2345

^^^^^1.235

x = 1.2345E3

^^1234.500

x = 1.2345E7

12345000.000

Khalid SBAI Cours dinformatique

Universit
Moulay Ismal

Ecole suprieure de Technologie


Dpartement de Gnie Electrique
23/02/2012

Actions sur la prcision :


Remarque:
 Cadrage de laffichage gauche  printf("%-10.3f" , x );
x = 1.2345

1.235^^^^^

 Le caractre * figurants la place dun gabarit ou une


prcision signifie que la valeur effective est fournie dans la
liste des arguments de printf:
printf(" %8.*f" , n, x );
n=1; x=1.2345

 ^^^^^1.2
Khalid SBAI Cours dinformatique

Universit
Moulay Ismal

Ecole suprieure de Technologie


Dpartement de Gnie Electrique
23/02/2012

VII.2 La fonction de lecture: fonction scanf


La fonction scanf est utilise pour lire du texte, des valeurs de
variables partir de lunit dentre standard (par dfaut le
clavier)
Syntaxe
scanf("chaine de contrle", &var1, &var2, ... );
Format dans lequel les
donnes lues sont converties:.
code de format reprs par %.
(%c, %d, %f..) qui prcise le
type de linformation lire.

Les donnes reues


sont mmorises
successivement aux
adresses des variables

Khalid SBAI Cours dinformatique

Universit
Moulay Ismal

Ecole suprieure de Technologie


Dpartement de Gnie Electrique

VII.2 Les possibilits de la fonction scanf

23/02/2012

Les principaux codes de conversion :


 c : char
 d : int
 u : unsigned int
 hd : short int
 hu : unsigned short
 ld : long
 lu : unsigned long
Khalid SBAI Cours dinformatique

Universit
Moulay Ismal

Ecole suprieure de Technologie


Dpartement de Gnie Electrique

Les principaux codes de conversion :

23/02/2012

 f ou e : float crit en notation "dcimale" ou 'exponentielle''


 Lf ou le : double crit en notation "dcimale" ou
'exponentielle''
s
: chane de caractres dont on fournit l'adresse
(notion qui sera tudie ultrieurement)

Khalid SBAI Cours dinformatique

Universit
Moulay Ismal

Ecole suprieure de Technologie


Dpartement de Gnie Electrique
23/02/2012

Les premires rgles utilises par scanf :


 Les codes de format correspondant un nombre entranent
lavancement du pointeur jusquau 1er caractre diffrent
dun sparateur, puis scanf prend en compte tous les
caractres suivants jusqu la rencontre dun sparateur.
 Quand au code de format %c, il entrane la prise en compte
du caractre dsign par le pointeur (mme un sparateur)
et il est avanc sur le caractre suivant.

Khalid SBAI Cours dinformatique

Universit
Moulay Ismal

Ecole suprieure de Technologie


Dpartement de Gnie Electrique
23/02/2012

Les premires rgles utilises par scanf :


Exemples :
int n, p; char c;
scanf("%d%d" , &n, &p );
12^25@
^12^^25^^@
12@
@
^25
scanf("%d%c" , &n, &c );
12^a@

@ dsigne une fin de ligne

n = 12 p=25
n = 12 p=25

n = 12 p=25
n = 12 c=
Khalid SBAI Cours dinformatique

Universit
Moulay Ismal

Ecole suprieure de Technologie


Dpartement de Gnie Electrique
23/02/2012

Khalid SBAI Cours dinformatique

You might also like