L'instruction if...else
permet d'éxécuter un bloc d'instructions selon le résultat d'un test :
S'il fait beau je vais courir, sinon je travaille mon cours de C.
Voici la syntaxe de l'instruction if...else
:
if (test) {
...
// Bloc d'instruction 1
}
else {
...
// Bloc d'instruction 2
}
Le premier bloc d'instructions ne s'exécutera que si le test est vrai.
Il est à noter que :
if
;else{...}
est facultatif ;Cet exemple affiche deux messages différents selon que A est plus grand que B ou non :
if (A>B) {
printf ("A est plus grand que B\n");
}
else {
printf ("A est plus petit ou égale à B\n");
}
Dans l'exemple précédent, on peut constater que chaque bloc d'instructions ne comporte qu'une seule instruction. On peut alléger le code en omettant les accolades :
if (A>B)
printf ("A est plus grand que B\n");
else
printf ("A est plus petit ou égale à B\n");
Cet exemple illustre le caractère optionnel du else {}
:
// Compare A et B
if (A>B) printf ("A est plus grand que B\n");
if (A<B) printf ("A est plus petit que B\n");
if (A==B) printf ("A égale B\n");
==
. Ne le confondez pas avec l'opérateur d'affectation =
.Écrire un programme qui demande à l'utilisateur de saisir sa moyenne générale.
"Bravo ! vous avez votre diplôme."
;"La prochaine fois peut-être !"
.Entrez votre moyenne générale : 10.0
Bravo ! vous avez votre diplôme.
Écrire un programme qui demande à l'utilisateur de saisir un chiffre. Le programme affiche ensuite le chiffre en toutes lettres. Nous supposerons que l'utilisateur saisit un chiffre valide (il n'est pas nécessaire de procéder à une vérification de la saisie) :
Entrez un chiffre : 4
4 s'écrit quatre
Écrire un programme qui demande à l'utilisateur de saisir deux entiers (x1
et x2
).
Si x1
n'est pas plus petit que x2
, le contenu des variables est permuté.
Au moment de l'affichage, x1
doit toujours être plus petit que x2
.
Entrez un premier entier : 5
Entrez un deuxième entier : 3
x1=3 x2=5
Entrez un premier entier : 3
Entrez un deuxième entier : 5
x1=3 x2=5
Qu'affiche le code suivant ?
if (4<2)
printf ("Crac");
else
printf ("Boum");
else
.
Essaie encore ...
Quand peut-on omettre les accolades ?
Qu'affiche le code suivant ?
if (0)
printf ("Crac");
printf ("Boum");
if
. Ce type de présentation est à éviter.
Essaie encore ...
Qu'affiche le code suivant ?
if (0)
printf ("Crac"); printf ("Boum");
if
. Ce type de présentation est à éviter.
Essaie encore ...
Qu'affiche le code suivant ?
if (0);
printf ("Crac");
printf ("Boum");
if
(après le test)!
Essaie encore ...
Quand les parenthèses du test peuvent-elles être omises ?