Correction : QCM Programmation bas niveau et fonctionnement d'un ordinateur
π© : Vrai
π΄ : Faux
Questions
Question 1
Si vous posez une question à un·e dev et qu'iel vous répond "RTFM", qu'est-ce qu'iel vous incite à faire ?
π© a. Consulter le manuel de la fonction
Read The F*****g Manualπ΄ b. Éteindre et rallumer l'ordinateur
Reboot The F*****g Machineπ΄ c. À reformatter votre poste
Restore Trial Format Machineπ΄ d. À danser
Rotate Turn Fly Mambo
Question 2
Que va afficher le script shell suivant :
π΄ a. Rien, la variable
$1n'est pas déclaréeπ© b. Il va afficher le premier argument que l'on lui transmet à l'éxécution
π΄ c. 1
π΄ d. 1 et retour à la ligne
Question 3
Quelle commande permet d'afficher le contenu d'un fichier dans le terminal ?
π΄ a.
dogπ΄ b.
showπ΄ c.
detailsπ© d.
cat
Question 4
Comment s'appelle l'outil que nous utilisons dans le cours pour compiler du C sans Makefile ?
π΄ a.
compπ΄ b.
vsbuildπ© c.
gccπ΄ d.
cbuild
Question 5
Si la RAM est la mémoire à court terme et le disque dur est la mémoire à long-terme, quel composant d'un ordinateur est considéré comme son cerveau ?
π© a. Le processeur
π΄ b. La carte mère
π΄ c. L'alimentation
π΄ d. La carte graphique
Question 6
fichier main.c
Qu'affiche le programme ci-dessus ?
π΄ a. "Hello World"
π΄ b. "Hello World" et un retour à la ligne
π© c. Rien il ne compile pas
π΄ d. "Hello" retour à la ligne "World"
Question 7
En C, dans quelle librairie vais-je trouver les fonctions strcpy et strcmp?
π΄ a. stdlib.h
π© b. string.h
π΄ c. stdio.h
π΄ d. unistd.h
Question 8
Classez les langages suivants du plus bas niveau au plus haut niveau :
C, Binaire, Assembleur, PHP.
π΄ a. Binaire, Assembleur, PHP, C
π΄ b. Assembleur, Binaire, C, PHP
π© c. Binaire, Assembleur, C, PHP
π΄ d. PHP, C, Assembleur, Binaire
Question 9
Dans le code ci-dessus, à quoi sert le symbole & dans scanf("%d", &number);?
π΄ a. À obliger
scanfà récupérer une valeur numériqueπ΄ b. À décorer afin de changer un peu
π΄ c. À s'assurer que
scanfva récupérer un nombre entierπ© d. À passer à
scanfl'adresse denumber
Question 10
En C, que contient un pointeur ?
π΄ a. De la magie noire
π© b. L'adresse de la variable pointée
π΄ c. Une variable
π΄ d. Ça dépend du pointeur
Question 11
Quelle est la différence entre une redirection simple > et une redirection double >>?
π΄ a.
>redirige la sortie standard et>>la sortie d'erreurπ΄ b.
>écrit dans un fichier et>>écrit dans plusieursπ© c.
>écrase le contenu du fichier,>>rajoute à la fin du contenuπ΄ d. Dans un script, on peut utiliser
>mais pas>>
Question 12
Qu'affiche le programme ci-dessus ?
π© a.
La vie l'univers et tout le reste!et un retour à la ligneπ΄ b. Rien la comparaison ne peut pas marcher
π΄ c. Rien ça ne compile pas
π΄ d.
*
Question 13
Laquelle ou lesquelles de ces commandes permet de rajouter des informations à la fin d'un fichier ?
π© a.
cat fichier1.txt >> fichier2.txtπ΄ b.
touch fichier1.txt && touch fichier2.txtπ© c.
echo "Tralalala" >> fichier1.txtπ΄ d.
mkdir dossier && touch dossier/fichier1
Question 14
Qu'affiche le code ci-dessus ?
π© a. La longueur de la chaine de caractères
strπ΄ b. Rien, cela ne compile pas, il manque une librairie
π© c.
5π΄ d.
Hello
Question 15
À quoi sert la directive #ifndef dans le code ci-dessus ?
π΄ a. à nommer le fichier
.hπ΄ b. À rien, c'est comme un commentaire
π΄ c. À indiquer à l'ordinateur qu'il va y avoir des structures
π© d. À éviter les conflits en incluant deux fois les mêmes informations
Question 16
À quoi sert le caractère \0 dans le code ci-dessus ?
π΄ a. À initialiser la chaine
π© b. À fournir une condition d'arrêt pour les boucles
π© c. À indiquer la fin de la chaine de caractères
π΄ d. À faire fonctionner le malloc
Question 17
À quoi peut servir la condition dans le code ci-dessus ?
π΄ a. À empêcher de diviser par 0
π© b. À savoir si
numberest pairπ΄ c. À savoir si
numberest impairπ΄ d. À déterminer combien fait 2% de
number
Question 18
Dans un script shell, quelle commande est l'équivalent de la fonction scanf?
π΄ a. scan
π΄ b. ask
π΄ c. prompt
π© d. read
Question 19
Que représente le void * dans le prototype de la fonction malloc?
π΄ a. Un pointeur vers le néant distordu
π΄ b. C'est l'équivalent de NULL
π© c. Un pointeur dont on ne connait pas encore le type
π΄ d. Un booléen
Question 20
Quelles fonctions vais-je devoir utiliser si je veux écrire dans un fichier en C ?
π© a.
fopenπ© b.
fprintfπ© c.
fcloseπ΄ d.
file_write
Question 21
Dans le pseudo-assembleur (codé par Mari), à quoi sert le registre cursor?
π΄ a. À personnaliser l'apparence de votre curseur de souris
π΄ b. À lire ou écrire dans la RAM
π© c. À stocker la position actuelle dans la RAM
π΄ d. À se deplacer vers une autre instruction
Question 22
Qu’entendβon par "écoconception" ?
π© a. Mettre en place des pratiques visant à réduire au minimum son impact environnemental
π΄ b. Le nom de l'éditeur du jeu vidéo Eco
π΄ c. Concevoir ses programmes pour qu’ils soient le plus évolutifs possible
π© d. Écrire du code qui n’emploie que les ressources strictement nécessaires
Question 23
En utilisant la fonction vu en cours pour ouvrir un fichier, quel(s) mode(s) puis-je utiliser pour écrire à la fin d'un fichier ?
π΄ a.
wπ© b.
aπ΄ c.
rπ© d.
a+
Question 24
Dans le pseudo-assembleur (codé par Mari), zjump vérifie la valeur de quel(s) registre(s) pour être déclenché ?
π΄ a.
cursoretregistreπ© b.
conditionπ΄ c.
storageπ΄ d.
conditionetread
Question 25
question.json
Dans le pseudo-assembleur (codé par Mari), qu'effectue ce programme ?
π© a. il inscrit
21dans le registrecursoren première instructionπ΄ b. il écrit
21dans la pseudo-mémoire à la case d'index 42π© c. il écrit
42dans la pseudo-mémoire à la case d'index 21π΄ d. il ne fonctionne pas
Question 26
De quel(s) composant(s) est/sont dépendant(s) l'assembleur utilisé par votre ordinateur ?
π΄ a. La RAM
π΄ b. Le Disque Dur
π© c. Le Processeur
π΄ d. Le Système d'Exploitation
Question 27
Parmi ces langages, lequel est le plus bas-niveau :
π© a. Assembleur
π΄ b. C
π΄ c. PHP
π΄ d. C++
Question 28
En assembleur où sont stockées les valeurs que vous manipulez ?
π΄ a. Dans le disque dur
π© b. Dans les registres
π΄ c. Nulle part
π΄ d. Dans la RAM
Question 29
Comment appelle-t-on les commandes que l'assembleur peut exécuter ?
π΄ a. Des commandes
π΄ b. Des fonctions
π΄ c. Des ordres
π© d. Des instructions
Question 30
Quelle(s) commande(s) crée(s) un dossier puis un fichier à l’intérieur (si le dossier n’existe pas) ?
π© a.
mkdir J12 && touch J12/qcm.txtπ΄ b.
touch J12 && mkdir J12/qcm.txtπ© c.
mkdir -p J12 && touch J12/qcm.txtπ΄ d.
rm -rf J12/qcm.txt
Question 31
Pourquoi passe-t-on &number à scanf?
π© a. Pour fournir l’adresse où stocker la valeur lue
π΄ b. Parce que scanf renvoie toujours un pointeur
π΄ c. Sinon scanf lirait sur l’entrée standard
π΄ d. Pour forcer scanf à lire un entier
Question 32
Laquel/Lesquelles de ces affirmations est/sont vraie(s) ?
π© a.
argccompte le nombre d'arguments reçu au moment de l'exécutionπ΄ b.
argvcompte le nombre d'arguments reçu au moment de l'exécutionπ© c.
argv[argc]estNULLπ΄ d.
argc[argv]estNULL
Question 33
Laquel/Lesquelles de ces affirmations est/sont vraie(s) ?
π© a. Un pointeur stocke une adresse
π© b. L’opérateur
*déréférence un pointeurπ© c. L’opérateur
&obtient l’adresse d’une variableπ΄ d.
int *p; p = 42;p contient l'adresse de la valeur 42
Question 34
À propos des boucles en C :
π© a.
foretwhilesont deux moyens de réaliser des itérationsπ΄ b.
do ... whilelance deux boucles en simultanéπ© c.
breakquitte la boucle couranteπ΄ d.
exitpermet de quitter la boucle et continuer le programme
Question 35
Laquelle/lesquelles de ces affirmations est/sont vraie(s) en C ?
π© a.
==compare deux valeursπ© b.
=affecte une valeur à une variableπ΄ c.
if(a = 0)teste correctement queavaut0π© d.
!=teste l’inégalité