QCM CPP - C (Partie 14)
Quiz interactif avec 10 questions. Testez vos connaissances!
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.