wayground logo

Free Printable Worksheets

NEW

Font size

S
M
L
XL
Worksheets

Quiz sur les Structures de Données en C

Total questions: 28

Worksheet time: 14mins

Name
Class
Date
1.

À quoi sert une structure de données ?

a)

À protéger les données contre les virus

b)

À organiser et stocker les données pour faciliter leur manipulation

c)

À supprimer les données obsolètes automatiquement

d)

À créer des interfaces utilisateur graphiques

2.

Quelle instruction permet de modifier la valeur pointée par `pA` ?

a)

pA = 10;

b)

*pA = 10;

c)

&pA = 10;

d)

a = *pA;

3.

Quelle fonction permet d'allouer dynamiquement un bloc mémoire initialisé à zéro ?

a)

malloc

b)

calloc

c)

realloc

d)

free

4.

Quel type est utilisé pour stocker une chaîne de caractères en C ?

a)

int

b)

char

c)

char *

d)

string

5.

Quelle est la différence principale entre un tableau statique et une liste chaînée ?

a)

Les tableaux sont plus rapides.

b)

Les listes sont toujours plus lentes.

c)

Les tableaux utilisent moins de mémoire.

d)

Les tableaux ont une taille fixe, les listes non.

6.

Considérons le code suivant en langage C :

a)

L'adresse de p

b)

L'adresse de p a

c)

La valeur de a, 42

d)

Erruer

7.

Quelle est la bonne syntaxe pour définir une structure ?

a)

struct { int x; };

b)

structure { int x; } P;

c)

struct Point { int x; };

d)

struct Point { int x };

8.

Quelle syntaxe permet de déclarer une fonction addition qui retourne un entier ?

a)

int addition(a, b)

b)

int addition(int a, int b)

c)

void addition(int a, int b)

d)

int addition(void)

9.

Quel fichier contient généralement les déclarations de fonctions ?

a)

.c

b)

.cpp

c)

.exe

d)

.h

10.

Que permet la structure switch en langage C ?

a)

Répéter des instructions tant qu'une condition est vraie

b)

Comparer une variable à plusieurs valeurs constantes

c)

Appeler une fonction

d)

Affecter plusieurs valeurs à une variable

11.

Quelle est la définition correcte d'un nœud dans une liste chaînée simple ?

a)

struct Node { int data; int next; };

b)

struct Node { int* data; struct Node* next; };

c)

struct Node { int data; struct Node* next; };

d)

struct Node { float data; int* next; };

12.

Dans une liste chaînée, que signifie le pointeur « head » ?

a)

Le nœud central de la liste

b)

Le dernier nœud de la liste

c)

Le premier nœud de la liste

d)

Un nœud aléatoire dans la liste

13.

Que contient le pointeur head dans une liste vide ?

a)

0

b)

NULL

c)

-1

d)

Une adresse mémoire aléatoire

14.

Quelle ligne permet de créer dynamiquement un nœud en C ?

a)

new Node();

b)

Node n = new Node();

c)

struct Node n;

d)

struct Node* p = malloc(sizeof(struct Node));

15.

Dans une liste simplement chaînée, quel champ n'existe PAS ?

a)

Donnée

b)

Pointeur vers le suivant

c)

Pointeur vers le précédent

d)

Aucun

16.

Quelle fonction permet d'ajouter un élément au début d'une liste ?

a)

append()

b)

insertFin()

c)

insertDebut()

d)

ajouterListe()

17.

Lors de l'insertion d'un nœud en milieu de liste, que faut-il faire en dernier ?

a)

Créer le nœud

b)

Libérer le nœud

c)

Modifier le pointeur du précédent

d)

Mettre à jour le next du nouveau nœud

18.

Quelle instruction permet de supprimer le premier élément d'une liste chaînée ?

a)

head = head->next;

b)

free(head->next);

c)

head->next = head;

d)

delete head;

19.

Une pile fonctionne selon le principe :

a)

FIFO

b)

FILO

c)

LIFO

d)

FIDO

20.

Quelle est l'opération pour ajouter un élément à une file ?

a)

push

b)

pop

c)

enqueue

d)

insertTop

21.

Quelle fonction enlève un élément de la tête d'une file ?

a)

pop()

b)

dequeue()

c)

delete()

d)

supprimerTete()

22.

Quelle est la structure mémoire d'une pile implémentée en C ?

a)

Une file doublement chaînée

b)

Une structure avec un tableau

c)

Un tableau avec deux indices

d)

Une liste simplement chaînée avec un seul accès au sommet

23.

Quelle instruction libère la mémoire allouée dynamiquement ?

a)

release()

b)

delete()

c)

free()

d)

close()

24.

Quelle est une utilisation courante d'une pile ?

a)

L'impression en file d'attente

b)

L'annulation d'actions dans un éditeur (Undo/Redo)

c)

Le tri des données dans une base

d)

Le transfert de fichiers

25.

Quel est un exemple typique d'utilisation d'une file ?

a)

Navigation dans un navigateur

b)

Évaluation d'expressions

c)

Gestion de l'impression

d)

Vérification de syntaxe parenthésée

26.

Quelle ligne faut-il ajouter à la fin de la fonction pop pour libérer correctement l'élément retiré de la pile ?

a)

free(*top);

b)

*top = (*top)->next;

c)

free((*top)->next);

d)

struct Node* temp = *top; *top = (*top)->next; free(temp);

27.

Que va contenir la pile après l'exécution du programme ?

a)

10 -> 5 -> NULL

b)

5 -> NULL

c)

10 -> NULL

d)

NULL

28.

Quelle erreur contient cette fonction ?

a)

La condition de boucle est incorrecte

b)

Il manque un return

c)

Le top = top->next est mal indenté et ne fait pas partie de la boucle

d)

Il faut libérer la mémoire