QCM sur C++ – Partie 4

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. Que se passe-t-il si la ligne ci-dessous est exécutée en C et C++?
int *ptr = malloc(20);

A Erreur en C et C++

B Avertissement en C et C++

C Erreur en C++ et exécution réussite en C

D Erreur en C et exécution réussite en C++

C
C++ est strict dans la vérification du type, mais C est tolérant, et comme malloc renvoie un void* que nous essayons d’affecter à un int*, le compilateur C++ renvoie donc une erreur.
 

 
Alors que le compilateur C exécute le programme avec succès.

 

2. Qu’est-ce qu’une liaison dynamique?

A Processus consistant à lier le code actuel à un appel de procédure pendant l’exécution.

B Processus consistant à lier le code actuel à un appel de procédure pendant la compilation.

C Processus consistant à lier le code actuel à un appel de procédure à tout moment.

D Tout les réponses sont vrais

A
La liaison des appels et des variables avec le code réel au moment de l’exécution est appelée liaison dynamique. Par exemple, dans le concept de polymorphisme, les types sont définis lors de l’exécution du code, ce qui entraîne différents appels de fonction en fonction des types utilisés, ce qui s’appelle la liaison dynamique. Comme l’appel de fonction est décidé au moment de l’exécution, la liaison dynamique a lieu au moment de l’exécution.

 

3. Qu’est-ce que une liaison statique?

A Processus consistant à lier le code actuel à un appel de procédure pendant l’exécution

B Processus consistant à lier le code actuel à un appel de procédure pendant la compilation

C Processus consistant à lier le code actuel à un appel de procédure à tout moment

D Tout les réponses sont vrais

B
La liaison des appels et de variables avec le code réel au moment de la compilation est appelée liaison statique. Par exemple, normalement, chaque fois que nous déclarons une variable, nous définissons son type. Le compilateur sait donc quel type doit être lié à cette variable.

 

 
 

4. Que se passe-t-il si la ligne ci-dessous est exécutée en C et C++?
const int x;

A Erreur en C et C++

B Avertissement en C et C++

C Erreur en C++ et exécution réussite en C

D Erreur en C et exécution réussite en C++

C
Le compilateur C++ ne permet pas au programmeur de déclarer une variable constante sans l’initialiser. Par conséquent, le compilateur C++ génère une erreur.
 

 
Alors que le compilateur C autorise une telle déclaration. Par conséquent, le programme est compilé et exécuté avec succès.

 

5. Quelle est la sortie du code C++ suivant?
#include <iostream> 

using namespace std; 

int main() 
{ 
    cout << sizeof('a') << endl; 
    cout << sizeof(char);     
    return 0; 
}

A 1 4

B 1 1

C 4 1

D Erreur

B

 
Il est à noter que les constantes de caractère sont stockées avec le type « char » en C++, mais ce n’est pas le cas en C. En ANSI C, le même programme produirait le résultat suivant:

4 1 // résultat lorsque le code est exécuté en C

Parce que en C les constantes de caractère sont promues en int.

 

6. Lequel des opérateurs suivants est l’opérateur de résolution de portée?

A ~

B ::

C *

D .

B
L’opérateur :: est appelé opérateur de résolution de portée utilisé pour accéder à une variable globale à partir d’une fonction ayant le même nom que la variable déclarée dans la fonction.

 

7. Quelle est la sortie du code C ++ suivant?
#include<iostream>

using namespace std;

int tab[50];
int main()
{
    cout << tab[49] << endl;
}

A Valeur aléatoire

B 49

C 0

D Erreur

C
En C++, toutes les variables non initialisées sont définies sur 0, donc la valeur de tous les éléments du tableau est définie sur 0.

 

 
 

8. Lequel des éléments suivants est accédé par une fonction membre d’une classe?

A L’objet de cette classe

B La partie publique d’une classe

C La partie privée d’une classe

D Tous les membres d’une classe

D
Une fonction membre d’une classe peut accéder à tous les membres de sa classe, qu’ils soient privés, protégés ou publics.

 

9. Quelle est la taille d’un caractère en C et C++?

A 4 et 1

B 1 et 4

C 1 et 1

D 4 et 4

A
La taille d’un caractère est 4 dans le cas de C, mais 1 dans le cas de C++. Pour vérifier cela, vous pouvez faire printf(“% d”, (int)sizeof ('a')); en C et C++.

 

10. Que se passe-t-il si la ligne ci-dessous est exécutée en C et C++?
#include <stdio.h> 

int main(void) 
{ 
	int new = 10;
	printf("%d", new); 
}

A Erreur en C et C++

B Avertissement en C et C++

C Erreur en C++ et exécution réussite en C

D Erreur en C et exécution réussite en C++

C
« new » est un mot clé en C++; par conséquent, nous ne pouvons pas déclarer une variable portant le nom « new ».
 

 
Mais comme il n’existe aucun mot clé « new » en C, le programme est donc compilé et exécuté avec succès en C.

 

 
 
Partagez cet article

Laisser un commentaire

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