Langage C/C++

Exemple de QCM – Programmation en C

La programmation en C est une compétence essentielle pour les étudiants en informatique, notamment ceux en classes préparatoires et à l’université. Ce langage de programmation, créé par Dennis Ritchie au début des années 1970, est utilisé pour développer des systèmes d’exploitation, des compilateurs, des bases de données, et bien plus encore. Il est connu pour sa puissance, sa flexibilité et sa performance. Cet article propose une exploration approfondie de la programmation en C à travers une série de questions à choix multiples (QCM) conçues pour tester et renforcer les connaissances des étudiants.

Structure des Questions à Choix Multiples (QCM)

Les QCM présentés ci-dessous couvrent divers aspects de la programmation en C, incluant les concepts fondamentaux, les structures de données, les pointeurs, et la gestion de mémoire. Chaque question est suivie de quatre options, dont une seule est correcte. Les réponses correctes sont fournies à la fin de chaque section avec des explications détaillées pour aider les étudiants à comprendre leurs erreurs et à améliorer leurs compétences.

Concepts de Base

Quelle est la sortie du code suivant ?

   #include <stdio.h>

   int main() {
       printf("Hello, World!");
       return 0;
   }

a) Hello, World
b) “Hello, World!”
c) Hello, World!
d) Erreur de compilation

La taille d’un int en C sur un système 64 bits typique ?
a) 2 octets
b) 4 octets
c) 8 octets
d) Dépend de l’implémentation

Quel est le mot-clé utilisé pour déclarer une constante ?
a) const
b) constant
c) define
d) static

Quelle fonction est utilisée pour lire une chaîne de caractères depuis l’entrée standard ?
a) gets()
b) fgets()
c) scanf()
d) read()

Structures de Contrôle

Quelle est la sortie du code suivant ?

   #include <stdio.h>

   int main() {
       int x = 10;
       if (x > 5) {
           printf("x est grand");
       } else {
           printf("x est petit");
       }
       return 0;
   }

a) x est grand
b) x est petit
c) Erreur de compilation
d) Aucune sortie

l’opérateur logique ET en C ?
a) &&
b) ||
c) &
d) |

Quelle boucle est utilisée pour itérer un nombre spécifique de fois ?
a) for
b) while
c) do-while
d) repeat

Fonctions et Portée des Variables

Quelle est la sortie du code suivant ?

   #include <stdio.h>

   void foo() {
       static int count = 0;
       count++;
       printf("%d ", count);
   }

   int main() {
       foo();
       foo();
       foo();
       return 0;
   }

a) 1 1 1
b) 1 2 3
c) 3 3 3
d) Erreur de compilation

la portée d’une variable déclarée à l’intérieur d’une fonction ?
a) Globale
b) Locale
c) Statique
d) Dynamique

Pointeurs et Gestion de Mémoire

Quelle est la sortie du code suivant ? #include <stdio.h> int main() { int a = 5; int *p = &a; printf("%d", *p); return 0; } a) Adresse de a
b) 5
c) Erreur de compilation
d) Indéfinie

La fonction est utilisée pour allouer de la mémoire dynamiquement en C ?
a) malloc()
b) alloc()
c) new()
d) create()

Que fait l’opérateur * lorsqu’il est appliqué à un pointeur ?
a) Déclare un pointeur
b) Accède à la valeur pointée par le pointeur
c) Donne l’adresse du pointeur
d) Multiplie deux valeurs

Réponses et Explications
Concepts de Base
  1. c) Hello, World!
    Explication : La fonction printf affiche la chaîne de caractères “Hello, World!” sans les guillemets.
  2. b) 4 octets
    Explication : Sur un système 64 bits typique, la taille d’un int est généralement de 4 octets.
  3. a) const
    Explication : Le mot-clé const est utilisé pour déclarer une variable comme constante.
  4. b) fgets()
    Explication : La fonction fgets est recommandée pour lire une chaîne de caractères car elle permet de spécifier la taille du buffer et évite les débordements de tampon.
Structures de Contrôle
  1. a) x est grand
    Explication : Puisque x vaut 10 et que 10 > 5, la condition if est vraie et la chaîne “x est grand” est imprimée.
  2. a) &&
    Explication : && est l’opérateur logique ET en C.
  3. a) for
    Explication : La boucle for est utilisée pour itérer un nombre spécifique de fois.
Fonctions et Portée des Variables
  1. b) 1 2 3
    Explication : La variable count est statique, donc elle conserve sa valeur entre les appels de la fonction.
  2. b) Locale
    Explication : Une variable déclarée à l’intérieur d’une fonction a une portée locale à cette fonction.
Pointeurs et Gestion de Mémoire
  1. b) 5
    Explication : L’opérateur * déférencie le pointeur p, donnant la valeur à laquelle p pointe, qui est a, soit 5.
  2. a) malloc()
    Explication : La fonction malloc est utilisée pour allouer de la mémoire dynamiquement en C.
  3. b) Accède à la valeur pointée par le pointeur
    Explication : L’opérateur * lorsqu’il est appliqué à un pointeur, permet d’accéder à la valeur pointée par ce pointeur.

Conclusion

Les QCM sont un excellent moyen d’évaluer la compréhension des concepts de programmation en C. En pratiquant ces questions, les étudiants peuvent renforcer leur maîtrise du langage et se préparer aux examens. La programmation en C, bien qu’exigeante, est une compétence fondamentale pour tout programmeur et constitue une base solide pour l’apprentissage d’autres langages et technologies.


Ce modèle d’article et de QCM est destiné aux étudiants universitaires et en classes préparatoires. Il peut être adapté et étendu en fonction des besoins spécifiques des cours et des niveaux des étudiants.

Autres articles

Guide : Comment créer un QCM en...
Le QCM en langage C peut être simulé dans un...
Read more
Tableaux en Langage C : Exercices Corrigés
Voici une série d'exercices corrigés sur les tableaux en langage...
Read more
Comment fonctionne la récursion terminale en C...
La récursion terminale en CLa récursion terminale est une forme...
Read more

Laisser un commentaire

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