QCMUP.COM

Liste Qcm Programmation Pour Concours et Examen Partie - 1

Entraînez-vous avec des QCM corrigés, consultez la réponse et la justification pour progresser durablement.

46 questions Corrigé Réviser → Pratiquer

La programmation constitue aujourd’hui un socle fondamental dans les études informatiques, les formations techniques et de nombreux concours.

Comprendre comment un programme fonctionne, comment les données sont manipulées et comment la logique est structurée permet de développer une réelle capacité de raisonnement et de résolution de problèmes.

Cette page s’inscrit dans une approche pédagogique visant à consolider les bases essentielles de la programmation, quel que soit le langage utilisé.

Elle aborde des notions incontournables telles que les variables, les types de données, les structures de contrôle, les fonctions, les objets et les structures de données courantes.

Ces concepts sont communs à la majorité des langages modernes et constituent un langage universel pour tout futur développeur.

L’objectif est d’accompagner l’apprenant dans la compréhension des mécanismes internes du code, de lui donner des repères clairs et de l’aider à acquérir une lecture logique et structurée des programmes.

Cette démarche progressive favorise une meilleure préparation aux examens et une montée en compétences durable.

QCM 1 Solution

Quel symbole est utilisé pour terminer une instruction en PHP ?

A. .
B. ;
C. :
D. ,
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
En PHP, chaque instruction se termine par un point-virgule (;).

QCM 2 Solution

Quelle est la bonne manière de déclarer une variable en Python ?

A. var x = 5
B. x = 5
C. int x = 5
D. let x = 5
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
En Python, il suffit d’écrire 'x = 5' sans mot-clé pour déclarer une variable.

QCM 3 Solution

Quelle boucle est utilisée quand on connaît le nombre exact d’itérations ?

A. for
B. while
C. do-while
D. foreach
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
La boucle 'for' est adaptée lorsque le nombre d’itérations est connu.

QCM 4 Solution

Quel mot-clé permet de créer une fonction en JavaScript ?

A. function
B. func
C. def
D. method
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
En JavaScript, le mot-clé 'function' sert à créer une fonction.

QCM 5 Solution

Quel est le résultat de : 2 + 3 * 4 ?

A. 20
B. 14
C. 24
D. 12
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
La multiplication a la priorité, donc 3*4=12, puis 12+2=14.

QCM 6 Solution

Quel type de données stocke uniquement vrai ou faux ?

A. Integer
B. Boolean
C. String
D. Float
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
Le type Boolean stocke les valeurs True ou False.

QCM 7 Solution

Quelle méthode permet d’afficher un texte en Python ?

A. echo()
B. printf()
C. print()
D. console.log()
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
En Python, 'print()' affiche du texte à l’écran.

QCM 8 Solution

Quelle est la bonne syntaxe pour un commentaire sur une seule ligne en JavaScript ?

A. # Commentaire
B. // Commentaire
C. /* Commentaire */
D. <!-- Commentaire -->
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
En JavaScript, les commentaires sur une seule ligne utilisent '//'.

QCM 9 Solution

Quel opérateur est utilisé pour l’égalité stricte en JavaScript ?

A. ==
B. ===
C. !=
D. =
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
L’opérateur '===' vérifie la valeur et le type.

QCM 10 Solution

Comment déclare-t-on un tableau en PHP ?

A. $array = array();
B. $array = {}
C. array $array;
D. $array = []()
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
En PHP, on utilise '$array = array();' pour créer un tableau.

QCM 11 Solution

Quel mot-clé est utilisé pour créer une classe en Java ?

A. object
B. class
C. struct
D. module
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
En Java, 'class' permet de définir une classe.

QCM 12 Solution

Quelle boucle s’exécute au moins une fois même si la condition est fausse ?

A. for
B. while
C. do-while
D. foreach
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
La boucle 'do-while' exécute le bloc au moins une fois.

QCM 13 Solution

En HTML, quel élément est utilisé pour créer un lien ?

A. <a>
B. <link>
C. <href>
D. <url>
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
L’élément '<a>' permet de créer des liens hypertextes.

QCM 14 Solution

Quel mot-clé permet de sortir d’une boucle en JavaScript ?

A. exit
B. break
C. stop
D. return
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
Le mot-clé 'break' interrompt la boucle.

QCM 15 Solution

Quelle méthode PHP permet de vérifier si une variable est vide ?

A. empty()
B. isset()
C. is_null()
D. check()
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
La fonction 'empty()' retourne true si la variable est vide ou n’existe pas.

QCM 16 Solution

Quel symbole est utilisé pour concaténer deux chaînes en PHP ?

A. +
B. &
C. .
D. ||
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
Le point '.' concatène des chaînes en PHP.

QCM 17 Solution

En CSS, comment sélectionne-t-on un élément avec l’id 'header' ?

A. .header
B. #header
C. *header
D. header
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
Le symbole '#' permet de sélectionner un élément par son id.

QCM 18 Solution

Quelle est la sortie de : console.log(typeof 42) en JavaScript ?

A. number
B. string
C. integer
D. float
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
En JavaScript, le type d’un nombre est 'number'.

QCM 19 Solution

Comment appelle-t-on une fonction qui s’appelle elle-même ?

A. Itérative
B. Récursive
C. Lambda
D. Callback
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
Une fonction récursive s’appelle elle-même jusqu’à une condition d’arrêt.

QCM 20 Solution

En JavaScript, quel objet permet de stocker des paires clé-valeur ?

A. Array
B. Object
C. Set
D. Map
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
L’objet 'Object' stocke des paires clé-valeur en JavaScript.

QCM 21 Solution

Code : `x = 10; y = '5'; print(x + int(y))`. Quel sera le résultat de ce code Python ?

A. 15
B. '105'
C. Une erreur de type (TypeError)
D. 20
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
La chaîne '5' est convertie en entier 5 avant l'addition, ce qui donne 15.

QCM 22 Solution

Code : `for i in range(3): print('*' * i)`. Qu'affiche ce code Python ?

A. * ** ***
B. * ** *** ****
C. (rien) * **
D. * * *
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
La boucle va de 0 à 2. À 0, elle affiche une chaîne vide. À 1, '*'. À 2, '**'.

QCM 23 Solution

En JavaScript, quelle est la différence principale entre `==` et `===` ?

A. `==` compare les valeurs, `===` compare les valeurs ET les types.
B. `===` est plus rapide que `==`.
C. `==` est utilisé pour les nombres, `===` pour les chaînes.
D. Il n'y a aucune différence.
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
L'opérateur `===` (égalité stricte) est plus sûr car il ne convertit pas les types.

QCM 24 Solution

Code : `my_list = [1, 2, 3]; my_list.append([4, 5]); print(len(my_list))`. Que vaut `len(my_list)` ?

A. 5
B. 3
C. 4
D. Une erreur se produit
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
La méthode `append` ajoute un seul élément. Ici, elle ajoute la liste `[4, 5]` comme un seul élément.

QCM 25 Solution

Quel concept est illustré par ce code ? `class Voiture: def __init__(self, marque): self.marque = marque`

A. Une fonction
B. Une boucle
C. La définition d'une classe et de son constructeur
D. Un dictionnaire
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
Le mot-clé `class` définit un modèle d'objet, et `__init__` est son constructeur.

QCM 26 Solution

Code : `try: resultat = 10 / 0 except ZeroDivisionError: print('Erreur')`. Que se passe-t-il ?

A. Le programme plante avec une erreur.
B. Le programme affiche 'Erreur'.
C. Le programme affiche 'inf'.
D. Rien ne se passe.
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
Le bloc `try...except` attrape l'erreur de division par zéro et exécute le code du bloc `except`.

QCM 27 Solution

Quelle est la sortie de ce code Python ? `text = 'programmation'; print(text[3:8])`

A. ogram
B. ogramm
C. gramma
D. ragra
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
Le slicing [3:8] extrait les caractères de l'indice 3 (inclus) à l'indice 8 (exclus).

QCM 28 Solution

Code : `def multiplier(a, b=2): return a * b; print(multiplier(5))`. Quel est le résultat ?

A. 10
B. Une erreur, il manque un argument.
C. 5
D. 7
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
Le paramètre `b` a une valeur par défaut de 2, donc `multiplier(5)` est équivalent à `multiplier(5, 2)`.

QCM 29 Solution

Dans une liste chaînée, chaque élément contient généralement :

A. Uniquement sa propre valeur.
B. Sa valeur et un pointeur vers l'élément suivant.
C. Un pointeur vers l'élément précédent et suivant.
D. Un index et une valeur.
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
C'est le principe fondamental d'une liste chaînée simple qui la lie élément par élément.

QCM 30 Solution

Code : `d = {'cle': 'valeur'}; print(d.get('autre', 'defaut'))`. Qu'affiche ce code ?

A. 'valeur'
B. Une erreur KeyError
C. None
D. 'defaut'
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : D

Justification :
La méthode `.get()` retourne la valeur par défaut ('defaut') si la clé ('autre') n'existe pas.

QCM 31 Solution

Quelle commande Git est utilisée pour envoyer vos commits locaux vers un dépôt distant ?

A. git pull
B. git commit
C. git push
D. git add
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
`git push` est la commande qui téléverse les commits du dépôt local vers le dépôt distant (ex: GitHub).

QCM 32 Solution

Code : `x = 5; y = 10; print(x if x > y else y)`. Que ce code affiche-t-il ?

A. 5
B. 10
C. True
D. False
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
C'est un opérateur ternaire. La condition `x > y` est fausse, donc la valeur après `else` (y) est affichée.

QCM 33 Solution

Quelle structure de données est la plus appropriée pour implémenter une file (type FIFO) ?

A. Une pile (Stack)
B. Une liste chaînée
C. Un tableau (Array)
D. Un arbre binaire
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
Une liste chaînée permet des ajouts et des suppressions efficaces aux deux extrémités, idéale pour une file.

QCM 34 Solution

Code : `liste = [1, 2, 3, 4]; print(liste.pop())`. Que reste-t-il dans `liste` ?

A. [1, 2, 3, 4]
B. [1, 2, 3]
C. [2, 3, 4]
D. []
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
La méthode `.pop()` sans argument supprime et retourne le dernier élément de la liste.

QCM 35 Solution

Qu'est-ce que la 'récursivité' en programmation ?

A. Une boucle qui s'exécute à l'infini.
B. Une fonction qui s'appelle elle-même pour résoudre un problème.
C. Un type de boucle 'for' spécial.
D. L'art d'écrire du code très court.
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
La récursivité est une technique où une fonction se réfère à elle-même dans sa propre définition.

QCM 36 Solution

Code : `print(type(3.14))`. Quel est le résultat en Python ?

A. <class 'int'>
B. <class 'float'>
C. <class 'string'>
D. <class 'number'>
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
En Python, les nombres à virgule flottante sont de type `float`.

QCM 37 Solution

Quel est le principal avantage des 'list comprehensions' en Python ?

A. Elles sont plus lentes qu'une boucle for.
B. Elles permettent de créer des listes de manière plus concise et souvent plus rapide.
C. Elles ne peuvent créer que des listes de nombres.
D. Elles remplacent complètement les boucles for.
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
C'est une syntaxe élégante et efficace pour générer des listes à partir d'autres itérables.

QCM 38 Solution

Code : `a = True; b = False; print(a and b or a)`. Quel est le résultat ?

A. True
B. False
C. 0
D. 1
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
L'opérateur `and` a priorité. `a and b` est `False`. Puis `False or a` (qui est `True`) donne `True`.

QCM 39 Solution

Qu'est-ce qu'une 'API' (Application Programming Interface) ?

A. Un type de base de données.
B. Un ensemble de règles et de protocoles pour que des applications logicielles puissent communiquer entre elles.
C. Un langage de programmation.
D. Un système d'exploitation.
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
Une API définit les méthodes et les formats de données que les applications peuvent utiliser pour interagir.

QCM 40 Solution

Code : `ma_liste = list(range(10)); print(ma_liste[2:9:3])`. Qu'affiche ce code Python ?"

A. [2, 5, 8]
B. [2, 3, 4, 5, 6, 7, 8]
C. [9, 6, 3]
D. [0, 3, 6, 9]
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
Le slicing `[début:fin:pas]` prend les éléments de l'indice 2 (inclus) à 9 (exclu), en avançant de 3 à chaque fois.

QCM 41 Solution

Code JavaScript : `const personne = { nom: 'Alice', direBonjour: function() { console.log(this.nom); } }; personne.direBonjour();`. Qu'est-ce qui est affiché dans la console ?

A. undefined
B. Alice
C. personne
D. Une erreur se produit
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
Lorsqu'une fonction est appelée comme une méthode d'un objet, le mot-clé `this` fait référence à cet objet.

QCM 42 Solution

Code : `x = 5; y = 3; print(x ^ y)`. Quel est le résultat de cette opération bit à bit (bitwise XOR) ?

A. 8
B. 1
C. 6
D. 2
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
En binaire, 5 est `101` et 3 est `011`. L'opération XOR (`^`) donne `110`, ce qui correspond à 6 en décimal.

QCM 43 Solution

Code : `def factorielle(n): if n == 0: return 1; else: return n * factorielle(n-1); print(factorielle(3))`. Que calcule ce code ?

A. 3
B. 6
C. 9
D. Une boucle infinie
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
C'est une fonction récursive qui calcule la factorielle de 3, ce qui équivaut à 3 * 2 * 1 = 6.

QCM 44 Solution

Code : `ensemble = {1, 2, 2, 3, 4, 4, 4}; print(len(ensemble))`. Que vaut `len(ensemble)` ?

A. 7
B. 3
C. 4
D. Une erreur se produit
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
Un ensemble ('set') ne peut contenir que des éléments uniques. Les doublons sont automatiquement supprimés.

QCM 45 Solution

Code : `phrase = 'Bonjour le monde'; print(phrase.split())`. Quel est le résultat de ce code Python ?

A. ['Bonjour', 'le', 'monde']
B. 'Bonjourlemonde'
C. 'Bonjour le monde'
D. ['B', 'o', 'n', 'j', 'o', 'u', 'r']
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
La méthode `.split()` sans argument divise la chaîne en une liste de mots en utilisant les espaces comme séparateur.

QCM 46 Solution

Code : `x = 10; def ma_fonction(): x = 5; print(x); ma_fonction(); print(x)`. Qu'affiche ce code Python ?

A. 10\n10
B. Une erreur se produit
C. 5\n5
D. 5\n10
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : D

Justification :
Le `x` à l'intérieur de la fonction est une variable locale qui ne modifie pas la variable globale `x`.

Mots & Définitions
Consultez les définitions des termes importants.

Une instruction est une ligne de code qui demande à l’ordinateur d’exécuter une action précise. Dans de nombreux langages, elle doit être correctement terminée pour être interprétée sans erreur.

Une variable est un espace mémoire qui permet de stocker une valeur temporaire. Elle peut être modifiée au cours de l’exécution du programme et facilite la manipulation des données.

Une boucle permet de répéter automatiquement un ensemble d’instructions. Elle est utilisée pour éviter les répétitions inutiles et rendre le code plus efficace.

Une fonction regroupe des instructions destinées à accomplir une tâche précise. Elle peut être appelée plusieurs fois afin de structurer le programme et améliorer sa lisibilité.

Un type de données définit la nature d’une valeur manipulée par un programme. Il détermine les opérations possibles, comme les calculs, les comparaisons ou les traitements logiques.

Un opérateur est un symbole utilisé pour effectuer une opération sur des valeurs. Il peut servir à faire des calculs, des comparaisons ou des opérations logiques.

Un tableau ou une liste permet de stocker plusieurs valeurs dans une même structure. Les éléments sont accessibles via leur position, ce qui facilite leur manipulation.

Une classe est un modèle servant à créer des objets. Elle définit les propriétés et les comportements communs que ces objets partageront.

La récursivité est une technique où une fonction s’appelle elle-même pour résoudre un problème. Elle repose sur une condition d’arrêt afin d’éviter une exécution infinie.

Une structure de données organise les informations de manière efficace en mémoire. Le choix de la structure influence directement les performances et la clarté du code.

La gestion des erreurs permet de contrôler les situations imprévues lors de l’exécution d’un programme. Elle évite les arrêts brutaux et améliore la fiabilité du code.

Un objet est une entité issue d’une classe qui combine des données et des actions. Il représente un élément concret manipulé dans le programme.

Une API est un ensemble de règles permettant à différents logiciels de communiquer entre eux. Elle facilite l’échange de données et l’intégration de services.

À propos de ce QCM

Les thèmes abordés dans ces QCM couvrent les fondations indispensables de la programmation.

Une première partie concerne la manipulation des données à travers les variables et les types.

Comprendre la différence entre nombres, chaînes de caractères, valeurs logiques ou structures plus complexes est essentiel pour écrire un code fiable et cohérent.

Ces notions permettent également d’éviter les erreurs courantes liées aux conversions ou aux opérations incompatibles.

Les structures de contrôle occupent une place centrale dans l’apprentissage.

Les conditions et les boucles permettent de diriger le flux d’exécution d’un programme et d’automatiser des tâches répétitives.

Leur maîtrise aide l’apprenant à traduire un raisonnement logique en instructions compréhensibles par la machine.

Les fonctions et les méthodes introduisent une organisation plus avancée du code.

Elles encouragent la réutilisation, la clarté et la maintenance des programmes.

Associées aux concepts de classes et d’objets, elles permettent de comprendre les principes de la programmation orientée objet, largement utilisée dans les applications modernes.

Les QCM abordent également les structures de données, comme les listes, dictionnaires, ensembles ou listes chaînées.

Ces outils permettent de stocker, organiser et manipuler efficacement des collections de données selon le besoin.

À cela s’ajoutent des notions pratiques telles que la gestion des erreurs, la portée des variables, la récursivité et l’interaction entre programmes via des interfaces dédiées.

Grâce à ces QCM, l’apprenant développe une compréhension théorique solide, s’entraîne de manière ciblée, évalue ses acquis et se prépare efficacement aux examens, concours et situations pratiques en programmation.

Conclusion

Cette page propose une approche complète et structurée des bases de la programmation.

Elle permet de renforcer la logique algorithmique, de mieux comprendre le fonctionnement du code et d’acquérir des réflexes essentiels pour écrire des programmes clairs et efficaces.

En s’exerçant régulièrement, l’utilisateur consolide ses connaissances, identifie ses points faibles et progresse avec méthode.

Cette pratique encadrée favorise une montée en compétences durable et constitue un atout majeur pour réussir dans les études, les concours et les premiers projets de développement informatique.