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

 

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 *