Quiz : Algorithmique et Programmation en Langage C
🧠 Quiz 10 questions 10 min
QUIZ INTERACTIFDiff. 5/10
Devoir de synthèse en informatique pour les filières SM, SP et ST en Tunisie. Évalue tes connaissances en algorithmique et programmation en C avec des exercices corrigés.
Question 1 sur 10 10:00
[{"id":24038,"question":"Quel est l'opérateur utilisé pour accéder à la valeur stockée à l'adresse d'un pointeur en C ?","option_a":"A) *","option_b":"B) &","option_c":"C) -\u003E","option_d":"D) .","option_e":"","option_f":"","bonne_reponse":"A","explication":"L'opérateur * (astérisque) permet de déréférencer un pointeur, c'est-à-dire d'accéder à la valeur stockée à l'adresse pointée.","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0},{"id":24039,"question":"Un tableau en C est-il toujours passé par référence dans une fonction ?","option_a":"Vrai","option_b":"Faux","option_c":"","option_d":"","option_e":"","option_f":"","bonne_reponse":"A","explication":"En C, un tableau est toujours passé par référence (l'adresse du premier élément est transmise), même si la syntaxe ressemble à un passage par valeur.","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0},{"id":24040,"question":"Quel algorithme de tri a une complexité temporelle moyenne de O(n²) ?","option_a":"A) Tri rapide (QuickSort)","option_b":"B) Tri par fusion (MergeSort)","option_c":"C) Tri par sélection","option_d":"D) Tri par tas (HeapSort)","option_e":"","option_f":"","bonne_reponse":"C","explication":"Le tri par sélection a une complexité temporelle moyenne de O(n²), car il compare chaque élément avec tous les autres pour trouver le minimum.","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0},{"id":24041,"question":"Quelle instruction en C permet de libérer la mémoire allouée dynamiquement ?","option_a":"A) delete","option_b":"B) free","option_c":"C) release","option_d":"D) clear","option_e":"","option_f":"","bonne_reponse":"B","explication":"L'instruction \u003Cstrong\u003Efree\u003C\/strong\u003E est utilisée en C pour libérer la mémoire allouée dynamiquement avec malloc() ou calloc().","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0},{"id":24042,"question":"La récursivité est-elle toujours plus efficace que l'itération pour résoudre un problème ?","option_a":"Vrai","option_b":"Faux","option_c":"","option_d":"","option_e":"","option_f":"","bonne_reponse":"B","explication":"La récursivité n'est pas toujours plus efficace : elle peut entraîner une consommation excessive de mémoire (stack overflow) et une complexité temporelle plus élevée due aux appels de fonction.","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0},{"id":24043,"question":"Quel est le rôle de l'opérateur % en C ?","option_a":"A) Division entière","option_b":"B) Modulo (reste de la division)","option_c":"C) Multiplication","option_d":"D) Incrémentation","option_e":"","option_f":"","bonne_reponse":"B","explication":"L'opérateur % (modulo) retourne le reste de la division entière entre deux nombres, par exemple 5 % 2 donne 1.","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0},{"id":24044,"question":"Dans un algorithme de recherche binaire, la liste doit-elle être triée ?","option_a":"Vrai","option_b":"Faux","option_c":"","option_d":"","option_e":"","option_f":"","bonne_reponse":"A","explication":"La recherche binaire nécessite que la liste soit triée pour fonctionner correctement, car elle divise la liste en deux à chaque étape en fonction de la valeur recherchée.","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0},{"id":24045,"question":"Quelle structure de données permet de stocker des éléments de types différents en C ?","option_a":"A) Tableau","option_b":"B) Liste chaînée","option_c":"C) Union","option_d":"D) Structure","option_e":"","option_f":"","bonne_reponse":"D","explication":"Une \u003Cstrong\u003Estructure\u003C\/strong\u003E en C permet de regrouper des éléments de types différents sous un même nom, contrairement aux tableaux qui imposent un type unique.","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0},{"id":24046,"question":"Quel est le résultat de l'expression suivante en C : 7 \/ 2 ?","option_a":"A) 3.5","option_b":"B) 3","option_c":"C) 4","option_d":"D) Erreur de compilation","option_e":"","option_f":"","bonne_reponse":"B","explication":"En C, la division de deux entiers (7 et 2) donne un résultat entier (3), car la partie décimale est tronquée. Pour obtenir 3.5, il faut utiliser des nombres flottants (7.0 \/ 2.0).","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0},{"id":24047,"question":"Un pointeur peut-il pointer vers une fonction en C ?","option_a":"Vrai","option_b":"Faux","option_c":"","option_d":"","option_e":"","option_f":"","bonne_reponse":"A","explication":"En C, un pointeur peut effectivement pointer vers une fonction, ce qui permet de passer des fonctions en argument ou de stocker leur adresse pour un appel ultérieur.","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0}]
Chargement...
Cliquez sur une réponse pour valider
Les options de réponse ne sont pas disponibles pour cette question.