QCM sur C++ – Partie 6

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. À quoi sert le pointeur this en C++?

A Pour accéder aux membres d’une classe qui ont le même nom que les variables locales dans cette portée.

B Le pointeur « this » pointe sur l’objet courant de la classe.

C Pour accéder à des objets d’une autre classe.

D Tout les réponses sont vrais.

B
Le pointeur « this » contient l’adresse de l’objet actuel.

 

2. Que se passe-t-il si nous exécutons le code suivant en C et en C++?
#include<stdio.h>

struct STRUCT
{
  int x;
  int f()
  {
      printf("Welcom to WayToLearnX\n");
  }
};
int main()
{
  struct STRUCT s;
  s.f();
  return 0;
}

A Le programme fonctionne correctement en C et C++ et affiche en sortie “Welcom to WayToLearnX”.

B Le programme renvoie une erreur en C mais fonctionne parfaitement en C++.

C Le programme renvoie une erreur en C++ mais fonctionne parfaitement en C.

D Le programme renvoie une erreur en C et en C++

B
Le langage C ne permet pas à une structure d’avoir des fonctions membres, il génère une erreur en C, mais C++ autorise les structures à avoir des fonctions membres, le C++ ne génère donc pas d’erreur.
 

 

3. Que signifie la déclaration suivante?
int (*fptr)(char*)

A Pointeur sur un pointeur

B Pointeur vers un tableau de caractères

C Un pointeur sur une fonction prenant un argument char * et renvoyant un int

D Fonction prenant un argument char * et renvoyant un pointeur sur int

C
Le (*fptr) représente un pointeur sur une fonction et char* sous forme d’argument, retournant un entier. Donc, la syntaxe ci-dessus représente un pointeur sur une fonction prenant un « char* » comme argument et renvoyant « int ».

 

 
 

4. Lequel des éléments suivants accède au cinquième élément stocké dans un tableau?

A tab[4];

B tab[5];

C tab(5);

D [5]tab;

A
L’emplacement du tableau commence à zéro, donc le cinquième élément est accessible via tab[4].

 

5. L’opérateur utilisé pour le déréférencement ou l’indirection est ____

A &

B *

C ->

D <>

B
L’opérateur * est utilisé en tant qu’opérateur de déréférencement, utilisé pour lire la valeur stockée à l’adresse indiquée.

 

6. Quelle est la sortie du code C++ suivant?
#include <iostream>
 
int main(int argc, char const *argv[])
{
	cout << "Welcom to WayToLearnX";
	return 0;
}

A Welcom to WayToLearnX

B Erreur lors de la compilation

C Erreur d’exécution

D Faute de segmentation

B
« cout » est défini sous l’espace de noms std, et sans inclure l’espace de noms std, nous ne pouvons pas utiliser le « cout ». Par conséquent, le programme génère une erreur.
 

 

7. Choisissez la bonne option :
string* a, b;

A a est un pointeur sur une chaîne de caractères, b est une chaîne de caractères.

B b est un pointeur sur une chaîne de caractères, a est une chaîne de caractères

C a et b sont des pointeurs de type String.

D Aucune de ces réponses n’est vraie.

A

 

 
 

8. Quelle est la valeur retourner par la fonction is_int?
bool is_int(12.54)

A False

B True

C 1

D Aucune de ces réponses n’est vraie.

A
Le nombre fourni en paramètre est un double et non un entier. La fonction renvoie donc 0, ce qui est « False ».

 

9. Quelle est la valeur de « i »?
#include <iostream>

using namespace std;

int main()
{
  int i;
  bool x = true;
  bool y = false;
 int a = 10;
 int b = 5;
 i = ((a | b) + (x + y));
 cout << i;
 return 0;
}

A 15

B 16

C 0

D True

B
L’opérateur « OU bit à bit » | signifie opération au niveau du bit alors a | b (0101 | 1010) sera évalué à 1111, ce qui correspond au nombre entier 15, et x = true et y = false, donc
x + y (1 + 0) = 1. La valeur de i sera donc 15 + 1 = 16.

 

10. Lequel des instructions suivantes est illégal?

A int *p = 0;

B int i; double* p = &i;

C string s, *p = 0;

D int *p;

B
p est initialisé avec une valeur de type « int ».

 

 
 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *