QCM : Boucles et conversions en C# (8 questions)

Questions et réponses du QCM

1. Que fait une boucle `for` tant que sa condition reste vraie ?

Elle interdit toute modification des valeurs parcourues
Elle répète un morceau de code
Elle parcourt chaque élément sans condition
Elle exécute le code jusqu’à ce que la condition devienne fausse avant la première itération

Elle répète un morceau de code

Explication

Une boucle `for` répète un morceau de code tant que sa condition est vraie, souvent en fonction d’un compteur. Le parcours automatique de chaque élément relève de `foreach`, et la lecture seule concerne ce dernier plutôt que la définition de `for`.

2. Dans un programme C#, une développeuse parcourt une liste avec `foreach` et veut remplacer la valeur de chaque élément pendant le parcours. Quelle approche convient ?

Conserver `foreach` et affecter une nouvelle valeur à l’élément courant
Remplacer la liste par un tableau, puis modifier l’élément courant avec `foreach`
Éviter toute boucle, car une liste ne peut pas être modifiée
Utiliser une boucle `for` pour modifier les valeurs de la liste

Utiliser une boucle `for` pour modifier les valeurs de la liste

Explication

`foreach` parcourt les éléments en lecture seule ; pour modifier les valeurs d’une liste, il faut passer par une boucle `for`. L’accès à l’élément courant ne rend pas `foreach` modifiable, et le tableau parcouru avec `foreach` ne résout pas cette limite.

3. Une liste contient les valeurs « rouge », « vert » et « bleu ». Avec `foreach`, quel élément la variable de parcours contient-elle à chaque itération ?

La taille de la liste à chaque itération
L’élément courant de la liste
L’indice courant dans la liste
Le premier élément de la liste à chaque itération

L’élément courant de la liste

Explication

À chaque itération, la variable déclarée dans `foreach` contient l’élément courant de la collection, y compris lorsque celle-ci est une liste. Elle ne représente ni l’indice ni la taille de la liste, et sa valeur évolue au fil du parcours.

4. Que représente l’opérateur modulo dans une expression utilisée avec une boucle ?

Le nombre d’itérations restantes dans la boucle
La valeur qui indique si la condition est vraie
Le quotient entier obtenu après une division
Le reste obtenu après une division

Le reste obtenu après une division

Explication

L’opérateur modulo calcule le reste d’une division. Le quotient entier est une autre partie du résultat d’une division et ne correspond pas à l’opération modulo.

5. Quelle méthode de la classe `Console` permet de saisir un seul caractère au clavier ?

`Convert.ToString()`
`Console.ReadKey()`
`Console.ReadLine()`
`int.TryParse()`

`Console.ReadKey()`

Explication

`Console.ReadKey()` permet de lire un seul caractère saisi au clavier. `Console.ReadLine()` sert plutôt à récupérer une saisie sous forme de ligne de texte.

6. Quel est le rôle de la méthode `Convert.ToString()` lors d’une conversion de type ?

Vérifier si une chaîne représente un entier valide
Convertir une chaîne en nombre entier
Lire un caractère saisi dans la console
Transformer une valeur en chaîne de caractères

Transformer une valeur en chaîne de caractères

Explication

`Convert.ToString()` sert à obtenir une représentation sous forme de chaîne de caractères à partir d’une valeur. Contrairement à `int.TryParse`, elle ne vérifie pas si une chaîne peut être convertie en entier.

7. Lorsqu’un tableau est parcouru avec une boucle `for`, comment le compteur et la taille du tableau contribuent-ils à éviter un accès hors limites ?

Le compteur sert à compter les valeurs distinctes et la taille du tableau fixe le pas d’incrémentation.
Le compteur indique la dernière valeur du tableau et sa taille détermine l’indice de départ.
Le compteur fixe le nombre d’éléments et la taille du tableau sert d’indice courant.
Le compteur sert d’indice et la taille du tableau fixe la condition de fin du parcours.

Le compteur sert d’indice et la taille du tableau fixe la condition de fin du parcours.

Explication

Le compteur est utilisé comme indice, tandis que la taille du tableau sert à déterminer quand arrêter la boucle avant d’accéder au-delà de ses limites. Utiliser la taille comme indice courant confond la borne du parcours avec la position d’un élément.

8. Quel risque peut survenir si une liste est modifiée pendant qu’une boucle `foreach` l’énumère ?

Les éléments déjà parcourus peuvent être automatiquement restaurés à leur valeur initiale.
La variable de parcours peut prendre le type de la collection au lieu de celui des éléments.
La boucle peut ignorer la condition de sortie et se poursuivre indéfiniment.
Une erreur peut signaler que la collection a changé et interrompre l’énumération.

Une erreur peut signaler que la collection a changé et interrompre l’énumération.

Explication

Modifier une liste pendant son énumération peut provoquer une erreur indiquant que la collection a été modifiée et que l’énumération risque de ne pas s’exécuter. Le risque de boucle infinie concerne une condition de boucle qui ne devient pas fausse, et non la modification d’une collection.

Révisez avec les flashcards

Mémorisez les réponses avec 10 flashcards sur Boucles et conversions en C#.

Qu’est-ce qu’une boucle for ?

Une structure qui répète du code tant qu’une condition est vraie.

Quel indice et quelle condition utilise-t-on généralement pour parcourir un tableau avec une boucle for ?

Le compteur comme indice et la taille du tableau comme condition de fin.

Que fait une boucle foreach à chaque itération d’une collection ?

Elle traite l’élément courant.

Voir les flashcards →

Approfondir avec la fiche

Consultez la fiche de révision complète sur Boucles et conversions 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