Maîtriser les instructions conditionnelles en C : If, Else et plus
Maîtriser les instructions conditionnelles en C : If, Else et plus
Ce guide complet vous guide à travers les fondamentaux des instructions if, else et conditionnelles imbriquées en C, complet avec des exemples clairs et des conseils de bonnes pratiques.
Vidéo : Instruction if-else en C
Regardez le tutoriel concis ci-dessous pour voir ces concepts en action.
Instruction if en C
L'instruction if en C suit cette syntaxe :
if (expression de test) {
// code à exécuter quand la condition est vraie
}
Comment fonctionne l'instruction if
L'expression de test à l'intérieur des parenthèses est évaluée. Si le résultat est non-zéro (vrai), le bloc de code à l'intérieur des accolades s'exécute ; si zéro (faux), il est ignoré.
- Vrai : exécute le corps.
- Faux : ignore le corps.

En savoir plus sur les valeurs vraies et fausses dans les opérateurs relationnels et logiques de C sur Wikipédia ou GeeksforGeeks.
Exemple 1 : Instruction if simple
// Programme pour afficher un nombre s'il est négatif
#include <stdio.h>
int main() {
int nombre;
printf("Entrez un entier : ");
scanf("%d", &nombre);
// vrai si nombre est inférieur à 0
if (nombre < 0) {
printf("Vous avez entré %d.\n", nombre);
}
printf("L'instruction if est facile.");
return 0;
}
Sortie 1
Entrez un entier: -2 Vous avez entré -2. L'instruction if est facile.
Quand l'utilisateur entre -2, l'expression nombre < 0 évalue à vrai, donc le message s'affiche.
Sortie 2
Entrez un entier: 5 L'instruction if est facile.
Avec 5, l'expression évalue à faux, ignorant le printf à l'intérieur du bloc.
Instruction if…else en C
L'ajout d'un bloc else vous permet de spécifier un code alternatif pour le cas faux. Syntaxe :
if (expression de test) {
// code quand vrai
} else {
// code quand faux
}
Comment fonctionne l'instruction if…else
• Si le test est vrai : exécute le bloc if et ignore else.
• Si le test est faux : exécute le bloc else et ignore if.

Exemple 2 : Vérifier pair ou impair
// Vérifier si un entier est pair ou impair
#include <stdio.h>
int main() {
int nombre;
printf("Entrez un entier : ");
scanf("%d", &nombre);
// Vrai si le reste est 0
if (nombre % 2 == 0) {
printf("%d est un entier pair.", nombre);
} else {
printf("%d est un entier impair.", nombre);
}
return 0;
}
Sortie
Entrez un entier: 7 7 est un entier impair.
Ici, l'opérateur modulus détermine la parité, et le bloc else gère le cas impair.
Échelle if…else en C
Quand plusieurs conditions doivent être évaluées séquentiellement, une échelle if…else if…else est idéale.
Syntaxe de l'échelle
if (condition1) {
// instructions
} else if (condition2) {
// instructions
} else if (condition3) {
// instructions
} else {
// instructions
}
Exemple 3 : Relier deux entiers
// Programme pour comparer deux entiers
#include <stdio.h>
int main() {
int nombre1, nombre2;
printf("Entrez deux entiers : ");
scanf("%d %d", &nombre1, &nombre2);
if (nombre1 == nombre2) {
printf("Résultat : %d = %d", nombre1, nombre2);
} else if (nombre1 > nombre2) {
printf("Résultat : %d > %d", nombre1, nombre2);
} else {
printf("Résultat : %d < %d", nombre1, nombre2);
}
return 0;
}
Sortie
Entrez deux entiers: 12 23 Résultat: 12 < 23
if…else imbriqué
L'imbrication d'un if…else à l'intérieur d'un autre permet un branchement à grain fin sans une échelle extensive.
Exemple 4 : Comparaison imbriquée
#include <stdio.h>
int main() {
int nombre1, nombre2;
printf("Entrez deux entiers : ");
scanf("%d %d", &nombre1, &nombre2);
if (nombre1 >= nombre2) {
if (nombre1 == nombre2) {
printf("Résultat : %d = %d", nombre1, nombre2);
} else {
printf("Résultat : %d > %d", nombre1, nombre2);
}
} else {
printf("Résultat : %d < %d", nombre1, nombre2);
}
return 0;
}
Si un bloc if…else ne contient qu'une seule instruction, les accolades {} sont optionnelles, mais les utiliser améliore la lisibilité et réduit les erreurs.
Exemple :
if (a > b) printf("Bonjour"); printf("Salut");
Langue C
- Maîtriser la logique conditionnelle en C# : If, If-Else, If-ElseIf et instructions If imbriquées
- Maîtriser l'instruction Switch C# : Syntaxe, exemples et bonnes pratiques
- Instruction Break C# : Comment et quand l'utiliser
- Maîtriser l'instruction Continue C# : Comment ignorer efficacement les itérations de boucle
- Maîtriser les instructions conditionnelles C++ : if, if...else et if...else imbriqué expliqués
- Maîtriser l'instruction break en C++
- Maîtriser l'instruction switch-case C++ : Syntaxe, flux et exemples pratiques
- Maîtriser l'instruction pass en Python : Guide pratique
- Maîtriser la syntaxe de base du C : Jetons, structure et points-virgules