NEW
Font size
WorksheetsQuiz sur les Structures de Données en C
Total questions: 28
Worksheet time: 14mins
À quoi sert une structure de données ?
À protéger les données contre les virus
À organiser et stocker les données pour faciliter leur manipulation
À supprimer les données obsolètes automatiquement
À créer des interfaces utilisateur graphiques
Quelle instruction permet de modifier la valeur pointée par `pA` ?
pA = 10;
*pA = 10;
&pA = 10;
a = *pA;
Quelle fonction permet d'allouer dynamiquement un bloc mémoire initialisé à zéro ?
malloc
calloc
realloc
free
Quel type est utilisé pour stocker une chaîne de caractères en C ?
int
char
char *
string
Quelle est la différence principale entre un tableau statique et une liste chaînée ?
Les tableaux sont plus rapides.
Les listes sont toujours plus lentes.
Les tableaux utilisent moins de mémoire.
Les tableaux ont une taille fixe, les listes non.
Considérons le code suivant en langage C :
L'adresse de p
L'adresse de p a
La valeur de a, 42
Erruer
Quelle est la bonne syntaxe pour définir une structure ?
struct { int x; };
structure { int x; } P;
struct Point { int x; };
struct Point { int x };
Quelle syntaxe permet de déclarer une fonction addition qui retourne un entier ?
int addition(a, b)
int addition(int a, int b)
void addition(int a, int b)
int addition(void)
Quel fichier contient généralement les déclarations de fonctions ?
.c
.cpp
.exe
.h
Que permet la structure switch en langage C ?
Répéter des instructions tant qu'une condition est vraie
Comparer une variable à plusieurs valeurs constantes
Appeler une fonction
Affecter plusieurs valeurs à une variable
Quelle est la définition correcte d'un nœud dans une liste chaînée simple ?
struct Node { int data; int next; };
struct Node { int* data; struct Node* next; };
struct Node { int data; struct Node* next; };
struct Node { float data; int* next; };
Dans une liste chaînée, que signifie le pointeur « head » ?
Le nœud central de la liste
Le dernier nœud de la liste
Le premier nœud de la liste
Un nœud aléatoire dans la liste
Que contient le pointeur head dans une liste vide ?
0
NULL
-1
Une adresse mémoire aléatoire
Quelle ligne permet de créer dynamiquement un nœud en C ?
new Node();
Node n = new Node();
struct Node n;
struct Node* p = malloc(sizeof(struct Node));
Dans une liste simplement chaînée, quel champ n'existe PAS ?
Donnée
Pointeur vers le suivant
Pointeur vers le précédent
Aucun
Quelle fonction permet d'ajouter un élément au début d'une liste ?
append()
insertFin()
insertDebut()
ajouterListe()
Lors de l'insertion d'un nœud en milieu de liste, que faut-il faire en dernier ?
Créer le nœud
Libérer le nœud
Modifier le pointeur du précédent
Mettre à jour le next du nouveau nœud
Quelle instruction permet de supprimer le premier élément d'une liste chaînée ?
head = head->next;
free(head->next);
head->next = head;
delete head;
Une pile fonctionne selon le principe :
FIFO
FILO
LIFO
FIDO
Quelle est l'opération pour ajouter un élément à une file ?
push
pop
enqueue
insertTop
Quelle fonction enlève un élément de la tête d'une file ?
pop()
dequeue()
delete()
supprimerTete()
Quelle est la structure mémoire d'une pile implémentée en C ?
Une file doublement chaînée
Une structure avec un tableau
Un tableau avec deux indices
Une liste simplement chaînée avec un seul accès au sommet
Quelle instruction libère la mémoire allouée dynamiquement ?
release()
delete()
free()
close()
Quelle est une utilisation courante d'une pile ?
L'impression en file d'attente
L'annulation d'actions dans un éditeur (Undo/Redo)
Le tri des données dans une base
Le transfert de fichiers
Quel est un exemple typique d'utilisation d'une file ?
Navigation dans un navigateur
Évaluation d'expressions
Gestion de l'impression
Vérification de syntaxe parenthésée
Quelle ligne faut-il ajouter à la fin de la fonction pop pour libérer correctement l'élément retiré de la pile ?
free(*top);
*top = (*top)->next;
free((*top)->next);
struct Node* temp = *top; *top = (*top)->next; free(temp);
Que va contenir la pile après l'exécution du programme ?
10 -> 5 -> NULL
5 -> NULL
10 -> NULL
NULL
Quelle erreur contient cette fonction ?
La condition de boucle est incorrecte
Il manque un return
Le top = top->next est mal indenté et ne fait pas partie de la boucle
Il faut libérer la mémoire
