Académique Documents
Professionnel Documents
Culture Documents
Il s’agit du stockage en mémoire d’une donnée saisie par l’utilisateur. La première fonction
de lecture que nous allons étudier est la fonction scanf.
Synapsis : scanf(« format » , adresseVariable) ;
Exemple :
printf(« saisir un entier ») ; scanf(« %d »,&i) ;
printf(« saisir un caractère ») ; scanf(« %c »,&alpha) ;
printf(« saisir 2 nombres réels») ; scanf(« %f %f »,&x,&y) ;
L’affectation étendue
Il s’agit de regrouper un opérateur et une affectation
Synapsis :
variable opérateur = variable ou expression ou valeur ;
Exemple :
int a = 5, b, c ;
1. a += 10 ; // signifie a = a + 10 donc a vaut 15
2. b = 30 ; b -= a ; // signifie b = b – a donc b vaut 15
3. c = b % 2 ; c *= a+b ; // signifie c = c * (a+b) donc c vaut 30
L’incrémentation et la décrémentation
Il s’agit respectivement de l’évolution d’une variable numérique par PAS de 1 et par PAS de
-1.
L’incrémentation :
Exemple :
int i = 5 ;
1
i = i + 1 ; //oubien i += 1 ;
//oubien opérateur d’incrémentation : i++ ;
La décrémentation
Exemple 1 :
int a = 5, b ;
b = 10 ;
b -= --a ; // a = a – 1 = 4 ; b = 10 – 4 = 6
2
Exemple 2 :
int a = 5, b ;
b = 10 ;
b -= --a ; // a = 5 – 1 = 4 ; b = 10 – 4 = 6
La structure de test : if
Syntaxe :
1) if (condition)
{ instruction ;}
2) if (condition)
instruction ;
3) if (condition)
{
instruction ;
instruction ;
}
6) if (condition)
{
Instruction1 ;
}
else
{
Instruction2 ;
}
7) if (condition1)
{
3
Instruction1 ;
}
else if (condition2)
{
Instruction2 ;
}
else
{
Instruction3 ;
}
Plusieurs syntaxes sont possibles avec la structure conditionnelle if. Nous allons expliquer les
7 cas :
1) Ce test comprend une condition qui si elle est vraie entraine l’exécution de
l’instruction du bloc.
2) Ce présent cas est identique au premier à la seule différence que les accolades sont
volontairement omises, car facultatives (une seule instruction dans le bloc).
3) Ici on a plus d’une instruction, donc les accolades sont obligatoires.
4) Dans ce cas on a 2 conditions reliées par l’opérateur logique &&, les instructions du
bloc ne seront exécutées que si les 2 conditions sont vraies.
5) Ici on a plusieurs conditions reliées par plusieurs opérateurs logiques, il faut donc
appliquer les règles de la table de vérité en tenant compte des priorités entre
parenthèses ().
6) Dans ce cas, on a un bloc de test if, si la condition est vraie, on exécute la 1ère
instruction, sinon on exécute la 2eme instruction.
7) Dans celui-ci, on a des tests avec plusieurs alternatives.
Test imbriqué :
if (condition1)
{
instruction 1;
if (condition2)
{
instruction 2;
else
{
instruction 3;
}
}
else
{
instruction 4;
4
}
L’opérateur ternaire
La syntaxe suivante : if (condition) instruction1 ; else instruction2 ;
Application :
1- Ecrire un programme qui affiche le plus petit entre 3 réels saisis par l’utilisateur.
2- Ecrire un programme qui dit si oui ou non une année saisit par l’utilisateur est
bissextile (divisible par 4 ou par 100 et 400).
3- Ecrire un programme qui résout l’équation Ax + B = 0
4- Ecrire un programme qui résoud dans R : Ax2 + Bx + C = 0
La particularité de la structure switch case est que l’on ne peut évaluer qu’une variable de
type entier ou caractère.
Elle peut donc remplacer la structure if, si la variable de la condition du if est unique et
atomique entière ou caractère.
Syntaxe :
switch(variable)
{
case val 1 : instructions1 ;
case val 2 : instructions2 ;
...... ..
..... ...
case val N : instructionsN ;
default : instructionsX;
}
Exemple 1:
5
Solution :
int i ;
printf(« saisir un nombre ») ;
scanf(« %d »,&i) ;
switch(i){
case 0 : printf(« Vous avez saisi zéro ») ;break ;
case 1 : printf(« Vous avez saisi 1 ») ; break ;
default : printf(« Vous avez saisi un nombre différent de 0 et de 1 ») ;
}
Exemple 2 :
Solution :
Si i = 0, à la sortie i =
Si i = 1, à la sortie i =
Si i = 2, à la sortie i =
Si i = 3, à la sortie i =
Si i = 4, à la sortie i =
Si i = 5, à la sortie i =
Si i est différent des valeurs du case, à la sortie i =
6
Les structures répétitives : Boucles
Elles permettent de répéter une à plusieurs instructions selon une ou plusieurs conditions.
La structure for
Syntaxe : for (initialisation ; condition ; incrémentation)
Si la boucle for n’est suivie que d’une seule instruction, les accolades sont facultatives, dans
tous les autres cas, les accolades délimitent obligatoirement le bloc d’instruction de la boucle.
Exemple 1:
int i ;
for (i = 0 ; i<5 ; i++)
printf(« %d »,i) ;
Exemple 2 :
int i ;
for (i = 0 ; i<5 ; i++)
{
printf(« %d »,i) ;
}
Exemple 3 :
int i ;
for (i = 0 ; i<5 ; i++)
{
printf(« Affichage ») ;
printf(« %d »,i) ;
}
Exemple :
int i, j ;
for (i = 0, j = 5 ; i<10, j>0 ; i++, j--)
//instructions
La structure while
Syntaxe : while (condition)
Cette structure teste si la condition est vraie (tant que condition vraie), alors la ou les
instructions du bloc sont exécutées. La règle des accolades s’applique aussi dans ce cas.
7
Exemple 1 :
int i ;
i=0;
while (i < 5)
printf(« %d »,i) ; //boucle infinie
Exemple 2 :
int i ;
i=0;
while (i < 5)
{
printf(« %d »,i) ;
i++ ;
}
Exemple 3 :
int i, j ;
i=0;
j=5;
while (i < 5 && j > 0)
{
i++ ;
j-- ;
}
Pour ce cas, nous avons 2 conditions.
La structure do….while
Cette structure signifie : « Faire les instructions tant que la condition est vraie ».
Exemple :
int i = 0 ;
do
{
printf (« %d »,i) ;
i++ ;
}
while(i < 5) ;
8
if (i == 5) break ;
printf (« %d »,i) ;//dès que i = 5 il sort de la boucle
}
Dans cet exemple, les chiffres seront affichés de 0 à 4, si i vaut 5, l’instruction break force la
sortie.
Dans cet exemple les chiffres 0, 2, 4, 6, 8 seront affichés. Si un nombre impair est rencontré,
l’instruction continue est exécutée ; ce qui a comme conséquence l’arrêt des instructions et
le passage à la valeur suivante de i.
break et continue peuvent aussi être rencontrés dans les boucles while et do…while.