Académique Documents
Professionnel Documents
Culture Documents
Adapt de :
E. BOUCHARE - Le langage C - http ://perso.orange.fr/eric.bouchare/ Operateurs
J. SILVA - Introduction au langage C - http ://iflinux.cicrp.jussieu.fr/silva/ Les oprateurs permettent de faire des oprations sur des va-
riables du mme type.
Le principal oprateur est laffectation (=). Il permet daffecter
une valeur (place droite du signe gal) une variable (place
gauche du signe gal).
i = 35;
k = k + 25.1;
Dans ces deux fonctions, les types de variables sont cods par : else
%c caractre (char), %d entier (int) et %lf rels (long float ou k = i;
double). p r i n t f ( " k =%d \ n " , k ) ;
Dautres fonctions comme putchar et getchar existent pour }
afficher ou rcuprer des donnes. En particulier, la fonction gets
permet de rcuprer une chaine de caractres saisie au clavier
(intgrant aussi les espaces, ce qui nest pas le cas de la fonction Structure dun programme
scanf). Un fichier .c est compos dun en-tte, permettant de spcifier
les librairies ncessaires la compilation, une zone de dcla-
Les tests ration des varaibles globales (si besoin), dune fonction main et
Les tests sont utiliss pour tester une valeur de variable ou tes- dautres fonctions si ncessaire.
ter des oprations logiques. Les rsultats sont boolens (vrai ou La fonction main est la fonction principale du code. Elle sera
faux). excute en premier par le programme (point dentre du pro-
Les oprateurs sont les suivants : suprieur (>), infrieur (<), gramme).
suprieur ou gal (>=), infrieur ou gal (<=), gal (== - atten- # i n c l u d e < s t d i o . h> / / l i b r a i r i e
tion au doublement du signe), diffrent (! =), ET logique (&&) et # d e f i n e PI 3.14 / / constante
OU logique (||). int k ; / / variable globale
i f ( ( x == 1 ) | | ( x == 3 ) ) / / c o n d i t i o n f o r ( i = 0 ; i < 2 ; i ++ )
k = 1; p r i n t f ( " i P I =%l f \ n " , ( f l o a t ) i P I ) ;
else
k = 0; r e t u r n EXIT_SUCCESS ;
}
SWITCH (expression) CASE ...
void i n i t S y s t e m e ( void )
switch ( x ) {
{ k = 3;
c a s e 1 : k = 1 ; break ; / / cas x = 1 p r i n t f ( " I n i t i a l i s a t i o n \ n" ) ;
c a s e 2 : k = 3 ; break ; / / c a s x = 2 }
default : k = 0; / / a u t r e s cas
}
Les pointeurs
WHILE (cl) ... Un pointeur est une variable stockant ladresse dune autre va-
Tant que la condition est vraie, les instructions contenues dans riable. On le dclare en ajoutant son nom le symbole *.
la boucle sont excutes.
int i = 12;
while ( x < 2 ) / / t a n t que x < 2 int a ;
x = x + 1; / / ou x ++; i n t p = &i ; / / p c o n t i e n t l a d r e s s e de i
2
IOGS - Palaiseau - ITI 1A Langage C
p = table ; / / p p o i n t e s u r l e p r e m i e r e l e m e n t dans un tableau de caractres (char) dont la fin est marque par
/ / du t a b l e a u t a b l e le caractre \0. En mmoire la chane "Bonjour" est reprsente
a = ( p + 2 ) ; / / a prend l a v a l e u r stockee ainsi :
/ / a l a d r e s s e p +2 , s o i t t a b l e [ 2 ]
B o n j o u r \0
Les fonctions Des fonctions ddies aux "calculs" sur des chanes de carac-
Une fonction permet de regrouper un ensemble dinstructions tres sont regroupes dans la bibliothque string.h.
en donnant un identificateur (ou nom) et des paramtres (ou Voici les principales :
arguments) ce groupe. size_t strlen(const char* chaine)
Elle possde un type selon le type de variable quelle retourne Cette fonction renvoie la longueur de la chane de caractres.
grce linstruction return. Elle peut avoir ses propres variables
char c h a i n e [ ] = " S a l u t " ;
locales.
int longueurChaine = 0;
Elles sont crites en dehors de la fonction principale (main).
i n t somme ( i n t a , i n t b ) / / prototype / / On r e c u p e r e l a l o n g u e u r de l a c h a i n e
{ / / dans longueurChaine
int c = a + b ; longueurChaine = s t r l e n ( chaine ) ;
return c ;
} char* strcpy(char* c, const char* ct)
La dclaration dune fonction doit se faire avant sa premire Cette fonction permet de copier ct dans c.
utilisation. Pour cela, on dclare le prototype de la fonction en char c h a i n e [ ] = " T e x t e " ;
dehors et avant la fonction main. Sa dfinition peut se faire spa- char c o p i e [ 1 0 0 ] ;
rment.
s t r c p y ( copie , chaine ) ;
Les chaines de caract`eres
En C, il nexiste pas de type de variable pour les chanes de char* strcat(char* c1, const char* c2)
caractres comme il en existe pour les entiers (int) ou pour les Cette fonction ajoute la suite de la chane c1 la chane c2, en
caractres (char). Les chanes de caractres sont en fait stockes remplaant c1.
3
IOGS - Palaiseau - ITI 1A Langage C
i f ( s u i t e C h a i n e != NULL) r e t u r n EXIT_SUCCESS ;
p r i n t f ( " La c h a i n e %s e s t p r e s e n t e \ n " , }
suiteChaine );
i n t main ( v o i d )
{