QCM sur C++ – Partie 8
QCM sur C++ avec des réponses pour la préparation des concours, des tests en ligne, examens et aux certifications. Ces questions et réponses sur C++ comprennent divers sujets. Et sont tirés d’un vrai concours écrit. Cette méthode d’apprentissage systématique préparera facilement toute personne pour réussir son test sur C++.
1. Quelle est la sortie du code suivant?
#include <iostream> using namespace std; int main() { void x = 5, y = 5; int s; s = x + y; cout << s; return 0; }
A 10
B Erreur de compilation
C Erreur d’exécution
D Aucune de ces réponses n’est vraie.
2. Identifiez l’option incorrecte.
A Les énumérations sont des constantes.
B Les énumérations sont des types définis par l’utilisateur.
C Les énumérations sont les mêmes que les macros.
D Les valeurs d’énumérations commencent à 0 par défaut.
3. Choisissez l’option correcte.
extern int x; int i;
A Ligne 1 et 2 déclarent x
B Ligne 1 déclare la variable x et ligne 2 définit i
C Ligne 1 déclare et définit x, ligne 2 déclare i
D Ligne 1 déclare x, ligne 2 déclare et définit i
4. Quelle est la sortie du code C++ suivant?
#include <stdio.h> int main() { char x = '\012'; printf("%d", x); return 0; }
A 10
B 12
C 0
D Erreur de compilation
5. Les constantes sont aussi appelées ______
A Const
B Pré-processeur
C Littéraux
D Aucune de ces réponses n’est vraie.
6. Quelle est la sortie du code C++ suivant?
#include <iostream> using namespace std; int f = 100; int main() { int a; { int b; b = 10; a = 25; f = 35; cout << b << a << f; } a = 40; cout << a << f; return 0; }
A 10253540100
B 1025354035
C 1040253535
D 1025352535
7. Comment sont déclarées les constantes?
A Avec le mot clé const
B Avec le pré-processeur #define
C Avec le mot clé const et le préprocesseur #define
D Aucune de ces réponses n’est vraie.
8. Quelle est la sortie du code C++ suivant?
#include <iostream> using namespace std; int main() { int const c = 9; cout << ++c; return 0; }
A 9
B 10
C Erreur
D Aucune de ces réponses n’est vraie.
9. Quelle est la sortie du code C++ suivant?
#include <stdio.h> #include<iostream> using namespace std; int main() { int x = 5, y = 10, z = 15; int tab[3] = {&x, &y, &z}; cout << *tab[*tab[1] - 7]; return 0; }
A 10
B 15
C 4
D Erreur de compilation
10. Deux fonctions peuvent-elles déclarer des variables (non statiques) avec le même nom.
A Non.
B Oui.
C Oui, mais ce n’est pas une bonne pratique.
D Non, cela donne une erreur d’exécution.
A la question 1, si la réponse est bien B, la justification n’est pas « void n’acceptera aucune valeur. » mais « il n’est pas possible de définir une variable de type void » (Cf. QCM sur C++ – Partie 7 ; question 9)
Ainsi, si on remplace « void x = 5, y = 5; » par « void x, y; » (sans assignation de valeur) on continuera d’avoir une erreur de compilation : le problème n’est pas l’assignation d’une valeur mais la déclaration d’une variable de ce type.
Merci pour cette remarque 🙂