★ À maîtriser
Compléments
L’UE comprend 10 CM, 10 TD et 12 TP, soit 32 heures d’enseignement auxquelles s’ajoutent des heures de travail personnel.
L’UE vaut 4 ECTS et son contrôle comprend un contrôle continu écrit de coefficient 2, un contrôle terminal écrit de coefficient 2 et une seconde chance par contrôle terminal écrit de coefficient 4.
★ À maîtriser
Compléments
La directive #include indique au préprocesseur d’inclure le contenu d’un fichier d’en-tête, par exemple stdio.h ou math.h.
Dans l’exemple, la fonction sqrt calcule la racine carrée de la somme des carrés des deux côtés pour obtenir l’hypoténuse d’un triangle rectangle.
★ À maîtriser
📌 En C, le point-virgule marque la fin d’une instruction et les accolades délimitent les blocs d’instructions.
Compléments
📌 Les mots-clés du C sont réservés et ne peuvent pas servir d’identificateurs, notamment int, float, if, else, for, return, const et static.
📌 Le code source C n’est pas directement exécutable et doit être écrit dans un fichier d’extension .c avec un éditeur de texte, puis compilé.
Préprocesseur → compilation → assemblage → édition de liens.
★ À maîtriser
Les types entiers usuels sont short int (ou short), int et long int (ou long), et leur taille dépend de la machine.
Le type char stocke un entier sur un octet et sert notamment à représenter le code ASCII d’un caractère.
Les types flottants sont float, double et long double, et les valeurs représentables dans float le sont dans double puis dans long double sans perte de précision.
Compléments
Un short est généralement codé sur 16 bits et un long sur 32 bits, mais la norme ne fixe pas ces tailles.
Toute valeur représentable par un type short est représentable par un type long, dont la taille est au moins celle d’un short.
L’ASCII code sur 7 bits les caractères présents sur un clavier et 32 caractères spéciaux non imprimables, pour un total de 128 caractères.
★ À maîtriser
Une variable doit être déclarée avant son utilisation, et sa déclaration fixe le type des valeurs qu’elle peut contenir.
Une variable globale est déclarée hors de toute fonction et de tout bloc, tandis qu’une variable locale est déclarée à l’intérieur d’un bloc.
Une variable locale est utilisable uniquement dans son bloc et masque, dans ce bloc, une variable de même nom déclarée dans un bloc englobant.
Compléments
📌 Les arguments formels sont des variables locales au corps de leur fonction et ne sont pas visibles à l’extérieur de cette fonction.
Globale : visible dans le fichier ; locale : limitée à son bloc.
★ À maîtriser
La durée de vie d’une variable peut être statique, automatique ou dynamique : permanente pendant l’exécution, limitée à l’activation d’un bloc, ou gérée explicitement par le programmeur.
Une variable locale non initialisée peut contenir n’importe quelle valeur issue de sa zone mémoire et doit recevoir une valeur avant sa première utilisation.
Une variable locale static conserve une visibilité locale, mais sa durée de vie est permanente et sa valeur est conservée entre les appels successifs de la fonction.
Compléments
📌 Une variable statique non initialisée est remplie de zéros avant le début de l’exécution du programme.
📌 Le qualificateur const indique qu’une variable ou un argument ne doit pas changer de valeur et le compilateur signale une erreur si le programme tente de le modifier.
Visibilité locale ne signifie pas durée temporaire : une locale static persiste.
★ À maîtriser
📌 Avec l’opérateur /, deux opérandes entiers produisent une division entière, tandis qu’au moins un opérande flottant entraîne une division flottante après conversion des opérandes dans le type flottant commun déterminé par les conversions arithmétiques usuelles.
Compléments
📌 L’opérateur % s’applique uniquement à des opérandes entiers et le signe du reste avec un opérande négatif dépend de l’implémentation.
L’expression 1 / 2 vaut 0, tandis que 1.0 / 2.0, 1 / 2.0 et 1.0 / 2 valent 0.5.
L’affectation est une expression dont la valeur est la valeur affectée ; ainsi, x = 4 + 1 vaut 5 et y = (x = 4 + 1) * 2 affecte 5 à x et 10 à y.
Les opérateurs d’affectation condensée, tels que +=, -=, *=, /= et %=, remplacent une forme comme x = x + y par x += y.
Dans une affectation vers un type différent, le compilateur convertit la valeur de l’expression vers le type de la variable réceptrice, ce qui peut perdre de l’information.
Le cast (type) expression convertit explicitement le type d’une expression, et (float) a / (float) b effectue une division flottante entre deux entiers a et b.
1 / 2 vaut 0, tandis que 1.0 / 2.0 vaut 0.5.
★ À maîtriser
📌 L’instruction if exécute des instructions selon qu’une condition entre parenthèses est vraie ou fausse, et un bloc else peut préciser les instructions du cas faux.
📌 Les opérateurs logiques sont && pour le et, || pour le ou et ! pour la négation, et leur résultat vaut 0 ou 1.
Compléments
L’évaluation des opérateurs logiques se fait de gauche à droite et s’arrête dès que le résultat final est déterminé.
En C, zéro est équivalent à faux et toute valeur non nulle est équivalente à vrai ; depuis C99, stdbool.h fournit bool, true et false, de valeurs respectives 1 et 0.
📌 L’opérateur ternaire exp0 ? exp1 : exp2 évalue exp1 si exp0 est non nul et exp2 si exp0 est nul, et la valeur de l’expression est celle de la branche choisie.
📌 L’indirection n’effectue aucun contrôle de validité sur l’adresse du pointeur, et le programmeur doit vérifier que l’accès mémoire est valide.
& prend une adresse ; * accède à l’objet désigné.
★ À maîtriser
📌 Pour scanf, les arguments de destination doivent être des adresses, obtenues notamment avec &, comme dans scanf("%f", &a).
Compléments
Les codes de format présentés pour printf associent :
Les formats numériques de scanf lisent des valeurs séparées par des espaces, des tabulations ou des retours à la ligne, tandis que %c lit un seul caractère sans sauter les séparateurs.
La valeur de retour de scanf indique le nombre de valeurs effectivement lues et converties avec succès.
printf affiche des valeurs ; scanf reçoit des adresses où les stocker.
Teste tes connaissances sur Bases de la programmation en C avec 31 questions à choix multiples et corrections détaillées.
1. Quel ensemble de compétences constitue l’objectif de l’UE IN3020 ?
2. Quelle répartition des coefficients distingue les évaluations de l’UE IN3020 ?
Mémorisez les concepts clés de Bases de la programmation en C avec 87 flashcards interactives.
Quels sujets l’UE IN3020 vise-t-elle à enseigner ?
Le langage C, la gestion manuelle de la mémoire, la compilation séparée, l’allocation dynamique, les pointeurs, la structuration des données, les fichiers et la programmation modulaire.
Quelle fonction principale un programme C doit-il contenir ?
La fonction main.
Quand la fonction main est-elle exécutée dans un programme C ?
En premier.
Importe ton cours et l'IA génère fiches, QCM et flashcards en 30 secondes.
Générateur de fiches