⚙️ Moyen 10 questions

QCM CPP - C (Partie 14)

Quiz interactif avec 10 questions. Testez vos connaissances!

#cpp

Comment jouer ?

  • 1. Lisez chaque question attentivement
  • 2. Choisissez votre réponse parmi les options
  • 3. Cliquez sur "Voir la réponse" pour vérifier
  • 4. Comptez vos bonnes réponses à la fin !

Quiz: QCM CPP - C (Partie 14)

10 questions | Difficulté: moyen


Question 1

Qu’est ce que le code ci-dessous vérifie ?

  • A. Il vérifie si le bit de poids fort est à 1.
  • B. Il vérifie si le bit de poids faible est à 1.
  • C. Il vérifie s’il y a un entier non-nul.
  • D. Il vérifie si l’entier est divisible par 2.
Voir la réponse

Réponse correcte: A

Le code teste si le bit de poids fort (MSB) est à 1 en utilisant la formule d’opération BITWISAND.


Question 2

Quel problème se produit-il dans le code ci-dessous ?

  • A. Il n’y a aucun problème.
  • B. L’accès à la mémoire est hors de portée.
  • C. La variable ‘ptr2’ ne sera pas initialisée.
  • D. Aucune des précédentes réponses.
Voir la réponse

Réponse correcte: B

L’expression (ptr + sizeof(int)


Question 3

Quel est le problème majeur de l’utilisation du code ci-dessous ?

  • A. Il ne présente pas de problème.
  • B. Il peut provoquer des problèmes d’endianness.
  • C. Il peut entrainer des problèmes de strict aliasing.
  • D. Aucune des précédentes réponses.
Voir la réponse

Réponse correcte: C

Lorsque vous utilisez du pointer arithmetic avec des pointeurs non-char, vous pouvez rencontrer des problèmes de strict aliasing.


Question 4

En C, quelle est la différence entre E1[E2] et *(E1+E2) ?

  • A. Aucune différence.
  • B. E1[E2] correspond à l’indice E2 de l’élément E1.
  • C. *(E1+E2) est équivalent à (E1)+(E2).
  • D. E1[E2] correspond à la valeur du pointeur E1 à l’adresse calculée en additionnant E2 à ce pointeur.
Voir la réponse

Réponse correcte: D

E1[E2] est équivalent à


Question 5

En C, quel est le but de l’opération de pointer arithmetic suivante ? (int *ptr = &array[0];)

  • A. Il vient initialiser un pointeur à un entier non-initialisé.
  • B. Il vient initialiser un pointeur à l’emplacement mémoire d’un tableau à l’indice 0.
  • C. Il vient déclarer une variable de type pointeur int.
  • D. Aucune des précédentes réponses.
Voir la réponse

Réponse correcte: B

L’opération de pointer arithmetic initialise un pointeur à l’emplacement mémoire d’un tableau à l’indice 0.


Question 6

Quel est le problème majeur dans ce code ?

  • A. Il n’y a aucun problème.
  • B. La longueur de l’array n’est pas vérifiée.
  • C. Le type de la variable ‘ptr2’ ne correspond pas à celui de l’initialisation.
  • D. Aucune des précédentes réponses.
Voir la réponse

Réponse correcte: A

Il n’y a aucun problème majeur dans ce code.


Question 7

Quel est le nom de la fonction dans le code ci-dessous ?

  • A. il n’y a pas de fonction définie ici.
  • B. max()
  • C. findMax()
  • D. searchMax()
Voir la réponse

Réponse correcte: C

La fonction est appelée ‘max’.


Question 8

Quel type de variable est ptr dans ce code ?

  • A. unsigned char
  • B. int
  • C. char
  • D. float
Voir la réponse

Réponse correcte: A

Le type de la variable ‘ptr’ est ‘unsigned char’.


Question 9

Quel est le problème majeur dans ce code ?

  • A. Il n’y a aucun problème.
  • B. Il y a un probleme d’endianness.
  • C. Il y a un probleme de strict aliasing.
  • D. Aucune des précédentes réponses.
Voir la réponse

Réponse correcte: A

Il n’y a aucun problème majeur dans ce code.


Question 10

Quel est le problème de l’utilisation des multi-line comments ?

  • A. Il ne présente aucun problème.
  • B. Ils peuvent être utilisés pour mettre en avant un code particulier.
  • C. Les multi-line comments peuvent entrainer des erreurs lorsqu’ils sont utilisés sur plusieurs lignes.
  • D. Aucune des précédentes réponses.
Voir la réponse

Réponse correcte: C

Les multi-line comments peuvent entrainer des erreurs lorsqu’ils sont utilisés sur plusieurs lignes.