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.

B
On peut pas définir une variable de type void en C++.
 

 

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.

C
Les énumérations sont utilisés pour créer nos propres types alors que les macros sont des substitutions textuelles.

Exemple de macros en C++ :

#define SITE "www.waytolearnx.com"
#define YEAR 2020

 
Exemple d’énumérations en C++ :

enum saison
{  
    printemps = 0, 
    ete = 6, 
    automne = 9,
    hiver = 11
};

 

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

D
Le mot clé « extern » n’est pas une définition et la mémoire ne lui est pas attribué avant son initialisation.

 

 
 

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

A
La valeur «\ 012» signifie le caractère avec la valeur 12 en octal, qui est en décimal 10.

 

5. Les constantes sont aussi appelées ______

A Const

B Pré-processeur

C Littéraux

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

C
Les constantes sont des littéraux.

 

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

B
Les valeurs locales de a et f dans le bloc sont plus dominantes que les valeurs globales.
 

 

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.

C
Le mot clé « const » déclarera des constantes avec une valeur de type spécifique et « #define » est utilisé pour déclarer des constantes définies par l’utilisateur. Exemple :

const int a = 5;
#define PI 3.14159

 

 
 

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.

C
Nous ne pouvons pas modifier une valeur constante.

 

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

D
La conversion n’est pas valide dans le tableau. Donc, il va y avoir une erreur. L’erreur de compilation suivante sera générée:
 

 
Ceci est dû au fait que &x, &y et &z représentent int* alors que le tableau défini est de type int.

 

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.

C
Nous pouvons déclarer des variables de même nom dans deux fonctions car leur portée est limitée par la fonction. Exemple :

void f1() {
   // déclaration de variable locale dans f1
   int var;
}

void f2() {
   // déclaration de variable locale dans f2
   int var;
}

 

 
 

2 réflexions sur “QCM sur C++ – Partie 8

  • juin 18, 2022 à 10:35 am
    Permalien

    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.

    Répondre
    • juin 18, 2022 à 11:54 pm
      Permalien

      Merci pour cette remarque 🙂

      Répondre

Laisser un commentaire

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