Exercice langage C structure alternative condition if - else if - else

Exercice 5.2

 

Considérez la séquence d'instructions suivante:

if (A>B) 
if (A>10)
printf ("premier choix \n"); else if (B<10)
printf ("deuxième choix \n"); else
if (A==B) printf ("troisième choix \n");
else printf ("quatrième choix \n");
a) Copiez la séquence d'instructions en utilisant des tabulateurs pour marquer les blocs if - else appartenant ensemble.

b) Pour quelles valeurs de A et B obtient-on les résultats:
premier choix, deuxième choix, ... sur l'écran?

c) Pour quelles valeurs de A et B n'obtient-on pas de réponse sur l'écran?

d) Notez vos réponses et choisissez vous-mêmes des valeurs pour A et B pour les vérifier l'aide de l'ordinateur.


 

Exercice 5.2

Considérez la séquence d'instructions suivante:

        if (A>B) 
        if (A>10) 
        printf ("premier choix \n"); else if (B<10)
        printf ("deuxième choix \n"); else
        if (A==B) printf ("troisième choix \n");
        else printf ("quatrième choix \n");
a) Copiez la séquence d'instructions en utilisant des tabulateurs pour marquer les blocs if - else appartenant ensemble.

        if (A>B) 
            if (A>10) 
                printf ("premier choix \n");
            else if (B<10)
                printf ("deuxième choix \n");
            else if (A==B)
                printf ("troisième choix \n");
            else
                printf ("quatrième choix \n");
b) Le résultat:

"premier choix" apparaît pour (A>B) et (A>10)





"deuxième choix" apparaît pour (10A>B)





"troisième choix" apparaît pour (10A>B10) et (A=B)


10>10 impossible


A>B et A=B impossible => "troisième choix" n'apparaît jamais




"quatrième choix" apparaît pour (10A>B10) et (AB)


10>10 impossible => "quatrième choix" n'apparaît jamais

c)



On n'obtient pas de réponses pour (AB). Si (A>B) alors la construction if - else if - ... - else garantit que toutes les combinations sont traitées et fournissent un résultat.