Flashcards : Programmation en C — 59 cartes

Toutes les cartes

1Question

Qu'est-ce que la fonction main en C ?

Réponse

Le point de départ obligatoire d’un programme C.

2Question

Que fait la compilation d'un fichier .c en C ?

Réponse

Elle transforme le fichier .c en un exécutable.

3Question

Comment lance-t-on un exécutable compilé en C ?

Réponse

Avec la commande ./programme.

4Question

Que fournit #include <stdio.h> en C ?

Réponse

Les fonctions d’entrée-sortie comme printf.

5Question

Que délimitent les accolades en C ?

Réponse

Un bloc de code.

6Question

Quel rôle a le point-virgule en C ?

Réponse

Il termine une instruction.

7Question

Que signifie return 0 dans la fonction main ?

Réponse

La fin normale de main.

8Question

Qu'est-ce qu'une variable en C à typage statique ?

Réponse

Une zone mémoire identifiée par un nom avec un type fixe à l'exécution.

9Question

Quels types essentiels le langage C comprend-il ?

Réponse

int, unsigned int, float, double, char, bool et void.

10Question

Que signifie la division entre deux entiers en C ?

Réponse

Elle est entière, par exemple 3/2=13 / 2 = 1.

11Question

Quel est le résultat de la division entre un entier et un flottant ?

Réponse

Un flottant, par exemple 7.0/2=3.57.0 / 2 = 3.5.

12Question

Que fait l'opérateur % en C ?

Réponse

Il donne le reste de la division entière.

13Question

Comment tester si un entier n est pair en C ?

Réponse

Avec l'expression n%2==0n \% 2 == 0.

14Question

Quelle opération réalise l'opérateur = en programmation ?

Réponse

L'opérateur = réalise une affectation.

15Question

Quand l'évaluation paresseuse de x && y cesse-t-elle d'évaluer y ?

Réponse

Elle cesse d'évaluer y lorsque x est faux.

16Question

Comment écrit-on un caractère en programmation ?

Réponse

Un caractère s’écrit entre guillemets simples comme 'a'.

17Question

Comment écrit-on une chaîne de caractères en programmation ?

Réponse

Une chaîne s’écrit entre guillemets doubles comme "abc".

18Question

Quel caractère spécial représente un retour à la ligne ?

Réponse

Le caractère spécial '\n' représente un retour à la ligne.

19Question

Quel caractère spécial représente une tabulation ?

Réponse

Le caractère spécial '\t' représente une tabulation.

20Question

Qu'impose la boucle while pour répéter son corps ?

Réponse

La condition doit être vraie.

21Question

Que regroupe une boucle for en C ?

Réponse

Une initialisation, une condition et une mise à jour.

22Question

Que fait l'instruction break dans une boucle ?

Réponse

Elle sort immédiatement de la boucle.

23Question

Que fait l'instruction continue dans une boucle ?

Réponse

Elle ignore la fin du tour courant et passe au suivant.

24Question

Quels éléments associe une fonction en C ?

Réponse

Un nom, des paramètres, un type de retour et un bloc d’instructions.

25Question

Comment une fonction C renvoie-t-elle une valeur ?

Réponse

Avec l'instruction return.

26Question

Que doit comporter une fonction récursive pour arrêter les appels ?

Réponse

Un cas de base.

27Question

Quel est le rôle de l'appel récursif dans une fonction récursive ?

Réponse

Réduire le problème à résoudre.

28Question

Qu'est-ce qu'un tableau en mémoire ?

Réponse

Un tableau contient plusieurs valeurs du même type stockées consécutivement.

29Question

Quel est l'indice du premier élément d'un tableau ?

Réponse

L'indice du premier élément est 0.

30Question

Que fait int t[5] = {0} lors de la déclaration ?

Réponse

Elle initialise toutes les cases du tableau à zéro.

31Question

Que se passe-t-il avec int t[5] sans initialisation ?

Réponse

Les cases ne sont pas initialisées automatiquement.

32Question

Le C vérifie-t-il automatiquement les indices d'un tableau ?

Réponse

Non, le C ne vérifie pas automatiquement les indices.

33Question

Que peut provoquer un accès hors limites comme t[7] dans int t[5] ?

Réponse

Cela peut provoquer une erreur mémoire ou un comportement imprévisible.

34Question

Qu'est-ce qu'une chaîne de caractères en C ?

Réponse

Un tableau de char terminé par le caractère nul '\0'.

35Question

Quelle propriété a une chaîne écrite char* s = "Bonjour" ?

Réponse

Elle est immuable.

36Question

Qu'est-ce qu'un pointeur en C ?

Réponse

Une variable contenant une adresse mémoire.

37Question

Que désigne &x pour une variable x ?

Réponse

L'adresse mémoire de x.

38Question

Que désigne *p pour un pointeur p ?

Réponse

La valeur à l'adresse contenue dans p.

39Question

Comment sont passés les arguments en C ?

Réponse

Par valeur.

40Question

Que modifie void f(int x) sur la variable originale ?

Réponse

Rien, elle modifie seulement la copie locale.

41Question

Comment transmettre une variable à une fonction pour la modifier ?

Réponse

En passant son adresse avec f(&x).

42Question

Quel type doit recevoir une fonction pour modifier une variable via son adresse ?

Réponse

Un pointeur, par exemple void f(int* p).

43Question

Comment modifier la valeur pointée par un pointeur p dans une fonction ?

Réponse

Avec l'affectation *p = 10.

44Question

Comment réserve-t-on dynamiquement un entier en C ?

Réponse

Avec int* p = malloc(sizeof(int)).

45Question

Comment utilise-t-on un entier alloué dynamiquement via un pointeur ?

Réponse

On utilise *p pour accéder à l'entier.

46Question

Quelle fonction impose-t-on d'appeler après malloc pour un entier ?

Réponse

La fonction free(p) pour libérer la mémoire.

47Question

Que représente NULL pour un pointeur en C ?

Réponse

Un pointeur qui ne désigne aucune zone mémoire valide.

48Question

Que ne doit-on jamais faire avec un pointeur p égal à NULL ?

Réponse

Ne jamais déréférencer *p lorsque p == NULL.

49Question

Quelle est la formule pour réserver un tableau dynamique de n entiers ?

Réponse

int* t = malloc(sizeof(int) * n).

50Question

À quoi est équivalente l'expression *t dans un tableau dynamique ?

Réponse

Elle est équivalente à t[0].

51Question

Comment calcule-t-on la position linéarisée p de l'élément (i,j) dans un tableau 2D ?

Réponse

p = m i + j.

52Question

Qu'est-ce qu'une structure en C ?

Réponse

Une structure regroupe plusieurs données de types différents sous un même type.

53Question

Comment accède-t-on à un champ d'une structure normale p ?

Réponse

On accède au champ avec la notation p.age.

54Question

Quelle est la notation abrégée pour accéder à un champ via un pointeur vers structure p ?

Réponse

On utilise la notation p->age.

55Question

Que signifie l'expression p->age pour un pointeur p ?

Réponse

Elle équivaut à (*p).age.

56Question

Que se passe-t-il lorsqu'une structure est passée normalement à une fonction ?

Réponse

La structure est copiée.

57Question

Comment modifier la structure originale via un pointeur dans une fonction ?

Réponse

On utilise p->champ pour modifier la structure originale.

58Question

Qu'est-ce qu'une structure récursive ?

Réponse

C'est une structure contenant un pointeur vers une structure du même type.

59Question

Que signifie NULL dans une structure récursive ?

Réponse

NULL indique l'absence d'un élément suivant.

Teste-toi avec le QCM

Teste tes connaissances avec un QCM de 21 questions sur Programmation en C.

1. Concernant la structure et la compilation d’un programme C, cochez la (les) proposition(s) exacte(s) :

2. Un fichier `programme.c` doit être transformé puis lancé : quelles propositions décrivent correctement ces étapes ?

Faire le QCM →

Consultez la fiche

Révisez le cours complet dans la fiche de révision de Programmation en C.

Voir la fiche →

Cours similaires

Crée tes propres flashcards

Importe ton cours et l'IA génère des flashcards en 30 secondes.

Générateur de flashcards