If - Else imbriqué
Fait partie de la section Fondamentaux du Journey C de Coddy. Leçon 31 sur 63.
Nous pouvons imbriquer des instructions if-else les unes dans les autres. Cela nous permet de créer des structures de prise de décision hiérarchiques.
Par exemple :
if (age > 18) {
if (hasLicense) {
printf("You can drive");
} else {
printf("Get a license first");
}
} else {
printf("Too young to drive");
}Il peut être imbriqué à l’infini :
if (condition1) {
if (condition2) {
if (condition3) {
// si condition1, condition2 et condition3 sont vrais
}
}
}Sans accolades, un else s’associe au if le plus proche placé au-dessus, qui n’a pas déjà de else :
if (age > 18)
if (hasLicense)
printf("You can drive");
else
printf("Get a license first");Ici, le else appartient à if (hasLicense), quel que soit le niveau d’indentation. Utilise des accolades pour rendre l’association claire.
Défi
FacileCrée un programme qui vérifie si une personne peut monter dans les montagnes russes. Les critères sont les suivants :
- Doit avoir au moins 12 ans
- Doit mesurer plus de 150 cm
- Si elle remplit les deux critères mais a moins de 15 ans, elle doit être accompagnée d’un adulte
Affiche exactement ces messages dans chaque cas :
- Si la personne est trop jeune :
Sorry, you are too young - Si elle n’est pas assez grande :
Sorry, you are not tall enough - Si elle a moins de 15 ans et n’est pas accompagnée d’un adulte :
Sorry, you need an adult with you - Si elle a moins de 15 ans et est accompagnée d’un adulte :
You can ride with adult supervision! - Si elle a 15 ans ou plus et est assez grande :
You can ride by yourself!
Essayez vous-même
#include <stdio.h>
int main() {
int age, height;
int hasAdult;
scanf("%d %d %d", &age, &height, &hasAdult); // Ne modifiez pas cette ligne
// Écrivez votre code ci-dessous
return 0;
}Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Fondamentaux
4Flux de contrôle
Instruction ifIf - ElseElse-IfCas switchOpérateur conditionnel ternaireDéfi récapitulatifIf - Else imbriqué2Variables
Types de donnéesEntierVirgule flottante - DoubleCaractèresBooléensConstantesBases de printfRègles de nommage des variablesConversion de type - Partie 1Conversion de type - Partie 2Défi récapitulatif3Opérateurs
Opérateurs arithmétiquesOpérateur moduloIncrémentation/DécrémentationOpérateurs d’affectationOpérateurs relationnelsOpérateurs logiques — Partie 1Opérateurs logiques — Partie 2Opérateurs logiques — Partie 3Défi récapitulatifEntraînez-vous par vous-même : Compilateur C en ligne