QCM en programmation C – Types et tailles des données – Partie 1

QCM sur C avec des réponses pour la préparation des entretiens, des tests en ligne, des examens etc.

 
 

1. Commenter la sortie de ce code C?
#include <stdio.h>

int main()
{
   int a[4] = {1, 2, 3, 4};
   int i;
   for (i = 0; i < 4; i++)
        if ((char)a[i] == '4')
           printf("%d\n", a[i]);
        else
           printf("FAIL\n");
}

A Le compilateur signale une erreur

B Le programme se compile et affiche la sortie 4

C Le programme se compile et affiche la valeur ASCII de 4

D Le programme se compile et affiche FAIL pendant 4 fois

D
La valeur ASCII de 4 est 52, donc la condition ((char)a[i] == '4') renvoie false. La sortie est comme suit:

$gcc prog1.c
$ a.out
FAIL
FAIL
FAIL
FAIL

 

2. L’identifiant ‘%i’ est également utilisé pour _____?

A char

B int

C float

D double

B
Les deux formats %d et %i peuvent être utilisés comme identifiant de format pour le type int.

 

3. Quel type de données est le plus approprié pour stocker la valeur 65000 dans un système à 32 bits?

A signed short

B unsigned short

C long

D int

B
65000 est disponible dans la plage de type short (16 bits) qui occupe le moins de mémoire. signed short a une plage de -32768 à 32767 et par conséquent nous devrions utiliser le type unsigned short.

 

 

4. Lequel des éléments suivants est un type de données défini par l’utilisateur?

A typedef int Boolean;

B typedef enum {Lundi, Mardi, Mercredi, Jeudi, Vendredi} Jours;

C struct {char adresse[25], int age};

D Tout les réponses sont vrais

D
typedef et struct sont utilisés pour définir des types de données définis par l’utilisateur.

 

5. Quelle est la taille de type int?

A 4 Octets

B 8 Octets

C dépend du système et du compilateur

D ne peut être déterminé

C
La taille de type dépend du système.

 

6. Quelle est la sortie de ce code C?
#include <stdio.h>

int main()
{
   signed char c;
   c= 235;
   printf("%d\n", c);
   return 0;
}

A 235

B -235

C dépend du compilateur

D aucune réponse ne convient

C

La valeur d’une variable de type « signed char » sera une valeur négatif. La sortie est comme suite:

$gcc prog2.c
$ a.out
-128

 

7. Commenter la sortie de ce code C?
#include <stdio.h>

int main()
{
    char c;
    int i = 0;
    FILE *file;
    file = fopen("test.txt", "w+");
    fprintf(file, "%c", 'x');
    fprintf(file, "%c", -1);
    fprintf(file, "%c", 'y');
    fclose(file);
    file = fopen("test.txt", "r");
    while ((c = fgetc(file)) !=  -1)
        printf("%c", c);
    return 0;
}

A Affiche x

B boucle infinie

C Dépend de ce que fgetc retourne

D dépend du compilateur

A

La sortie est comme suite:

$gcc prog3.c
$ a.out
x

 

 

8. Que signifier « short int » dans la programmation C?

A type de données de base

B qualificateur

C short est le qualificateur et int est le type de base

D Tout les réponses sont vrais

C
En langage C, int est le type de données de base, tandis que short est un modificateur (qualificateur de type) qui indique que l’on souhaite utiliser une version plus courte du type int. Ainsi, short int est équivalent à short.

 

 

5 réflexions sur “QCM en programmation C – Types et tailles des données – Partie 1

  • juillet 16, 2020 à 9:24 pm
    Permalien

    Au niveau de la réponse à la question 3, vous voudriez dire que signed short a une plage de -32768 à 32767

    Répondre
    • juillet 17, 2020 à 11:23 am
      Permalien

      Merci pour cette remarque 🙂

      Répondre
  • juillet 22, 2020 à 4:44 pm
    Permalien

    La réponse à la question 4 est D je pense.

    Répondre
  • juillet 22, 2020 à 4:54 pm
    Permalien

    La réponse de la question 7 est A 🙂

    Répondre
    • juillet 25, 2020 à 12:35 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 *