QCM : Contrôle et bibliothèques en C — 10 questions

Questions et réponses du QCM

1. Quelle instruction permet de tester une nouvelle condition après qu’une première condition `if` s’est révélée fausse ?

L’instruction `else if`
Une affectation conditionnelle
L’opérateur conditionnel abrégé
L’instruction `else`

L’instruction `else if`

Explication

L’instruction `else if` ajoute un nouveau test lorsque la condition précédente est fausse. À l’inverse, `else` exécute un bloc sans vérifier de condition supplémentaire.

2. Quelle affectation respecte la forme de l’opérateur conditionnel abrégé pour choisir une valeur selon une condition ?

`resultat = (condition) : expressionVrai ? expressionFaux;`
`resultat = expressionVrai ? (condition) : expressionFaux;`
`resultat = (condition) ? expressionVrai : expressionFaux;`
`resultat ? (condition) = expressionVrai : expressionFaux;`

`resultat = (condition) ? expressionVrai : expressionFaux;`

Explication

L’opérateur conditionnel abrégé place la condition entre parenthèses, puis l’expression vraie avant le deux-points et l’expression fausse après celui-ci. La valeur choisie dépend donc du résultat du test.

3. Comment un programme C peut-il distinguer les trois états d’une variable numérique ?

En comparant la variable à une constante positive et à une constante négative
En testant `variable == 0`, puis deux valeurs positives différentes
En testant successivement `variable > 0`, `variable < 0`, puis le cas restant
En utilisant trois blocs `else` qui exécutent chacun le même test

En testant successivement `variable > 0`, `variable < 0`, puis le cas restant

Explication

Les tests successifs permettent de reconnaître une valeur positive, une valeur négative, puis le cas restant, qui correspond à zéro. Tester deux valeurs positives ne permet pas de couvrir correctement les trois états.

4. Dans quelle situation l’accès au vote est-il autorisé par le programme ?

Lorsque `age_saisi >= age_vote`
Lorsque `age_saisi > age_vote`
Lorsque `age_saisi == age_vote - 1`
Lorsque `age_saisi <= age_vote`

Lorsque `age_saisi >= age_vote`

Explication

L’accès est autorisé lorsque l’âge saisi est supérieur ou égal à l’âge requis, ce qui inclut l’égalité avec l’âge légal. La condition strictement supérieure exclurait à tort une personne qui vient d’atteindre cet âge.

5. Quelle est la fonction principale de l'instruction 'else if' dans une structure conditionnelle en programmation C?

Permet d'exécuter plusieurs blocs de code simultanément.
Permet de terminer une série de conditions et d'exécuter un bloc par défaut.
Permet de spécifier une nouvelle condition lorsque la première condition 'if' est fausse.
Permet d'exécuter une action si la condition 'if' est vraie.

Permet de spécifier une nouvelle condition lorsque la première condition 'if' est fausse.

Explication

'Else if' permet de tester une nouvelle condition si la condition précédente 'if' est fausse. Contrairement à 'else', qui ne teste pas de condition, 'else if' offre une alternative conditionnelle.

6. Quel opérateur conditionnel abrégé en C permet d’affecter une valeur à une variable en fonction du résultat d’une condition ?

variable = (condition) ? expressionVrai : expressionFaux;
switch (expression) { ... }
while (condition) { ... }
if (condition) { ... }

variable = (condition) ? expressionVrai : expressionFaux;

Explication

L’opérateur conditionnel abrégé en C, aussi appelé opérateur ternaire, permet d’affecter une valeur à une variable selon que la condition est vraie ou fausse. Les autres options sont des structures de contrôle différentes, comme if, switch ou while.

7. Quelle est la fonction principale de l'instruction 'switch' en programmation C ?

Elle permet d'initialiser une variable et de la faire évoluer dans une boucle.
Elle teste une condition et exécute un bloc si la test est vrai, sinon un autre.
Elle exécute une série d'instructions de manière répétée jusqu'à ce qu'une condition soit fausse.
Elle permet de sélectionner un bloc de code parmi plusieurs en comparant une expression à différentes valeurs de case.

Elle permet de sélectionner un bloc de code parmi plusieurs en comparant une expression à différentes valeurs de case.

Explication

L'instruction 'switch' compare une expression à plusieurs valeurs possibles pour exécuter le bloc correspondant. Contrairement à une boucle, elle ne répète pas l'exécution, elle choisit simplement le cas à exécuter.

8. Quand l'instruction 'while' a-t-elle été introduite dans le langage C pour la première fois ?

Avec la norme C99 en 1999.
Dans la norme C11 en 2011.
Lors de la norme ANSI C en 1989.
Dans la version C initiale de 1972.

Dans la version C initiale de 1972.

Explication

L'instruction 'while' a été introduite dès la première version du langage C, qui a été développée dans les années 1970. La version initiale du langage C, créée par Dennis Ritchie, comprenait cette boucle.

9. En quoi la boucle 'do while' diffère-t-elle principalement de la boucle 'while' en programmation C ?

La boucle 'do while' ne permet pas d'incrémenter une variable dans son corps, contrairement à 'while' qui le permet.
La boucle 'do while' ne peut contenir qu'une seule instruction, contrairement à 'while' qui peut contenir plusieurs instructions.
La boucle 'do while' exécute toujours son bloc au moins une fois, même si la condition est fausse, contrairement à 'while' qui peut ne jamais entrer en exécution.
La boucle 'do while' teste la condition avant d'exécuter le bloc, alors que 'while' l'évalue après.

La boucle 'do while' exécute toujours son bloc au moins une fois, même si la condition est fausse, contrairement à 'while' qui peut ne jamais entrer en exécution.

Explication

La boucle 'do while' exécute son bloc au moins une fois, car la condition est testée après l'exécution, contrairement à 'while' qui teste la condition avant. La principale différence réside dans le moment où la condition est évaluée.

10. Quelles sont les principales causes pour lesquelles une boucle 'imbriquée' est utilisée dans un programme en C ?

Pour augmenter la vitesse d'exécution en évitant les boucles multiples.
Pour traiter des ensembles de données multidimensionnels ou complexes.
Pour simplifier la lecture du code en évitant les structures conditionnelles.
Pour réduire la consommation mémoire en évitant les répétitions.

Pour traiter des ensembles de données multidimensionnels ou complexes.

Explication

Les boucles imbriquées permettent de traiter efficacement des structures de données multidimensionnelles, comme les matrices ou les tableaux de tableaux. Elles ne visent pas principalement à réduire la mémoire ou à simplifier la lecture, ni à améliorer la vitesse d'exécution.

Révisez avec les flashcards

Mémorisez les réponses avec 11 flashcards sur Contrôle et bibliothèques en C.

À quoi sert l'instruction else if en programmation ?

Elle permet de spécifier une nouvelle condition si la première if est fausse.

Quelle est la forme de l'opérateur conditionnel abrégé en programmation ?

variable=(condition)?expressionVrai:expressionFaux;variable = (condition) ? expressionVrai : expressionFaux;

Comment un programme C distingue-t-il trois états d'une variable ?

En testant successivement variable > 0, variable < 0, puis égal à zéro.

Voir les flashcards →

Approfondir avec la fiche

Consultez la fiche de révision complète sur Contrôle et bibliothèques en C.

Voir la fiche →

Cours similaires

Crée tes propres QCM

Importe ton cours et l'IA génère des QCM avec corrections en 30 secondes.

Générateur de QCM