QCM CPP - C (Partie 12)

Quiz interactif avec 10 questions. Testez vos connaissances!

Mahmoud DEVO
Mahmoud DEVO
December 28, 2025 20 min read
QCM CPP - C (Partie 12)

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.


Advertisement

In-Article Ad

Dev Mode

Share this article

Mahmoud DEVO

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