Table of Contents
Quiz: QCM CPP - C (Partie 12)
10 questions | Difficulté: moyen
Question 1
Quel est le but de l’idempotence dans les fichiers header C?
- A. Assurer que chaque fichier header soit compilé uniquement une seule fois
- B. Garantir la récursivité des fichiers header
- C. Optimiser le temps de compilation
- D. Éliminer les erreurs de syntaxe
Voir la réponse
Réponse correcte: A
L’idempotence dans les fichiers header C permet d’assurer que chaque fichier header soit compilé uniquement une seule fois.
Question 2
Quel est le format des lignes de garde d’une header file conforme au standard C?
- A. #ifndef UNIQUE_ID_FOR_HEADER
- B. #include “unique_id.h”
- C. #endif /* UNIQUE_ID_FOR_HEADER */
- D. #pragma once
Voir la réponse
Réponse correcte: A
Les lignes de garde des headers conformes au standard C doivent être de la forme : #ifndef UNIQUE_ID_FOR_HEADER.
Question 3
Quel est le but du projet Include What You Use (IWYU)?
- A. Garantir que chaque fichier source inclue tous les headers nécessaires
- B. Optimiser le temps de compilation
- C. Assurer la cohérence entre les headers et les sources
- D. Éliminer les erreurs de syntaxe
Voir la réponse
Réponse correcte: A
Le but du projet Include What You Use (IWYU) est de garantir que chaque fichier source inclue tous les headers nécessaires.
Question 4
Quel est le résultat d’un header qui utilise des noms réservés à l’implémentation ?
- A. Le compilateur peut échouer lors de la compilation
- B. Cela ne fait aucune différence car les noms sont uniquement internes à l’implementation
- C. Il est possible que le compilateur ignore certains éléments
- D. Cela permet d’améliorer la portabilité du code
Voir la réponse
Réponse correcte: A
Un header qui utilise des noms réservés à l’implémentation peut échouer lors de la compilation.
Question 5
Quel est le comportement du compilateur lorsqu’il rencontre un pragma qu’il ne reconnaît pas?
- A. Il lance une erreur et arrête la compilation
- B. Il ignore la ligne sans commentaire
- C. Il met en erreur toutes les lignes suivantes
- D. Il échoue lors de la compilation
Voir la réponse
Réponse correcte: B
Le compilateur ignore une pragma qu’il ne reconnaît pas sans commentaire.
Question 6
Quel est l’avantage de la directive #pragma once par rapport aux header guards?
- A. Il permet d’améliorer la portabilité du code
- B. Il garantit que chaque fichier header soit compilé uniquement une seule fois
- C. Il optimise le temps de compilation
- D. Il permet l’inclusion récursive des headers
Voir la réponse
Réponse correcte: B
La directive #pragma once garantit que chaque fichier header soit compilé uniquement une seule fois.
Question 7
Quel est le but de la pratique de générer un MD5 (ou autre) hash pour les noms des garde de header ?
- A. Assurer l’unicité des noms de garde de headers
- B. Garantir que chaque fichier header soit compilé uniquement une seule fois
- C. Optimiser le temps de compilation
- D. Améliorer la portabilité du code
Voir la réponse
Réponse correcte: A
La pratique de générer un MD5 (ou autre) hash pour les noms des garde de header est utilisée pour assurer l’unicité des noms de garde.
Question 8
Quel est le risque de ne pas utiliser une garde de header ?
- A. Aucun risque car la compilation du code fonctionnera normalement
- B. Le code peut échouer lors de la compilation
- C. Il peut y avoir des erreurs de compilations ou d’exécutions
- D. Il est possible que le code soit plus lent à compiler
Voir la réponse
Réponse correcte: B
Le risque de ne pas utiliser une garde de header est que le code peut échouer lors de la compilation.
Question 9
Quel est le but du projet Google’s Include What You Use (IWYU)?
- A. Garantir que chaque fichier source inclue tous les headers nécessaires
- B. Optimiser le temps de compilation
- C. Assurer la cohérence entre les headers et les sources
- D. Éliminer les erreurs de syntaxe
Voir la réponse
Réponse correcte: A
Le but du projet Google’s Include What You Use (IWYU) est de garantir que chaque fichier source inclue tous les headers nécessaires.
Question 10
Quel est l’effet de la directive #pragma once sur le comportement des compilateurs?
- A. Il permet d’éliminer les erreurs de syntaxe
- B. Il garantit que chaque fichier header soit compilé uniquement une seule fois
- C. Il optimise le temps de compilation
- D. Il permet l’inclusion récursive des headers
Voir la réponse
Réponse correcte: B
La directive #pragma once garantit que chaque fichier header soit compilé uniquement une seule fois.
In-Article Ad
Dev Mode
Tags
Mahmoud DEVO
Senior Full-Stack Developer
I'm a passionate full-stack developer with 10+ years of experience building scalable web applications. I write about Vue.js, Node.js, PostgreSQL, and modern DevOps practices.
Enjoyed this article?
Subscribe to get more tech content delivered to your inbox.
Related Articles
QCM - C++ pour les programmeurs C
Quiz interactif avec 10 questions. Testez vos connaissances!
QCM - Exercices en langage C++
Quiz interactif avec 10 questions. Testez vos connaissances!
QCM - cplus
Quiz interactif avec 5 questions. Testez vos connaissances!