★ À maîtriser
Compléments
fichier .c → compilateur → exécutable
★ À maîtriser
📐 Formule — La division entre deux entiers est entière, ainsi , tandis qu’une opération entre un entier et un flottant produit un flottant, ainsi .
Compléments
📌 L’opérateur % donne le reste de la division entière, et une expression comme n % 2 == 0 permet de tester si n est pair.
entier 7/2 = 3, flottant 7.0/2 = 3.5
★ À maîtriser
📌 L’opérateur = réalise une affectation, tandis que l’opérateur == réalise une comparaison d’égalité.
L’évaluation paresseuse de x && y cesse d’évaluer y lorsque x est faux, tandis que celle de x || y cesse d’évaluer y lorsque x est vrai.
Un caractère s’écrit entre guillemets simples comme 'a', tandis qu’une chaîne s’écrit entre guillemets doubles comme "abc".
Compléments
= affecte, == compare ; guillemets simples pour char, doubles pour chaîne
📌 Dans une boucle, break sort immédiatement de la boucle, tandis que continue ignore la fin du tour courant et passe au suivant.
condition → corps de boucle → mise à jour
★ À maîtriser
📌 Le C ne vérifie pas automatiquement les indices d’un tableau, si bien qu’un accès comme t[7] dans un tableau int t[5] peut provoquer une modification mémoire, une erreur de segmentation ou un comportement imprévisible.
Compléments
📌 La déclaration int t[5] = {0} initialise toutes les cases à zéro, tandis que int t[5] seul n’initialise pas automatiquement les cases.
un tableau de cases contiguës terminé par \0 pour une chaîne
📌 Pour une variable x, &x désigne son adresse mémoire, tandis que *p désigne la valeur située à l’adresse contenue dans p.
📌 Les arguments C sont passés par valeur, donc une fonction void f(int x) modifie seulement la copie locale x et ne modifie pas la variable originale.
& donne l’adresse, * donne la valeur à cette adresse
★ À maîtriser
📌 NULL représente un pointeur qui ne désigne aucune zone mémoire valide et ne doit jamais être déréférencé avec *p lorsque p == NULL.
📐 Formule — Un tableau dynamique de n entiers se réserve avec , et l’expression *t est équivalente à t[0].
Compléments
📐 Formule — Dans un tableau 2D dynamique de n lignes et m colonnes, la position linéarisée de l’élément (i,j) est , avec et pour retrouver ses coordonnées.
malloc → utilisation → free
📌 Pour une structure normale p, l’accès à un champ s’écrit p.age, tandis que pour un pointeur vers structure p, l’accès abrégé s’écrit p->age et équivaut à (*p).age.
📌 Une structure passée normalement à une fonction est copiée, tandis qu’un pointeur vers structure permet de modifier la structure originale avec p->champ.
p.age pour une structure, p->age pour un pointeur
| Expression | Signification |
|---|---|
| x | Valeur de x |
| &x | Adresse de x |
| p | Adresse contenue dans p |
| *p | Valeur située à cette adresse |
| **q | Valeur de x dans q → p → x |
| Contexte | Accès au champ |
|---|---|
| Structure normale p | p.age |
| Pointeur vers structure p | p->age |
| Pointeur vers structure p | (*p).age |
Teste tes connaissances sur Programmation en C avec 21 questions à choix multiples et corrections détaillées.
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 ?
Mémorisez les concepts clés de Programmation en C avec 59 flashcards interactives.
Qu'est-ce que la fonction main en C ?
Le point de départ obligatoire d’un programme C.
Que fait la compilation d'un fichier .c en C ?
Elle transforme le fichier .c en un exécutable.
Comment lance-t-on un exécutable compilé en C ?
Avec la commande ./programme.
Importe ton cours et l'IA génère fiches, QCM et flashcards en 30 secondes.
Générateur de fiches