1/30
Fiches de vocabulaire couvrant les notions clés, structures, algorithmes et bases du langage C du cours R1.01 Initiation au Développement.
Algorithme
Suite d’actions élémentaires qui, lorsqu’elles sont réalisées de manière systématique, conduisent à la résolution d’un problème.
Type
Domaine de définition des données manipulées par l’algorithme. En C, chaque variable possède un type qui constitue une sur-approximation de son domaine de définition.
Structures de données
Organisation des données en mémoire.
Type abstrait
Structure de données complexe manipulée via des algorithmes prédéfinis.
Application
Concrétisation d’un algorithme dans un programme exécutable.
Optimisation
Restructuration d’une application (ou d’un algorithme ou d’une structure de données) en vue d’améliorer ses performances en temps de calcul ou en mémoire nécessaire.
Qualité
Absence d’erreur, constituant la qualité première d’une application, complétée par d’autres aspects comme la maintenabilité.
Développement
Ensemble des activités de conception, de réalisation et d’optimisation d’une application.
Programme source
Fichier texte contenant du code issu de la traduction d'un algorithme dans un langage de programmation (portant l'extension .c en langage C).

Dennis Ritchie et Ken Thompson
Concepteurs et créateurs du langage C en 1972 au sein des laboratoires Bell.
Compilateur
Programme ou ensemble de programmes traduisant les fichiers sources en un programme exécutable (par exemple un fichier .exe sous Windows) à travers plusieurs phases (pré-processing, compilation proprement dite et édition de liens).
Nombre magique
Valeur numérique écrite en dur dans le code d'un programme au lieu d'être déclarée sous forme de constante nommée.
Constante nommée
Identificateur symbolique associé à une valeur fixe (déclaré via le mot-clé const ou un enum) dont la modification est interdite lors de l'exécution.
typedef
Mot-clé du langage C permettant de définir un alias ou nom personnalisé pour un type de données existant, structuré ou énuméré.
Type énuméré (enum)
Type défini par l'utilisateur permettant d'associer un ensemble fini d'identificateurs constants à des valeurs entières consécutives ou explicites.
Structure (struct)
Type de données composé regroupant plusieurs variables logiquement liées (nommées attributs ou champs), potentiellement de types différents, sous un même identificateur.
Tableau
Variable regroupant en mémoire une suite contiguë d'éléments de même type, accessibles individuellement par leur indice compris entre 0 et la taille diminuée de 1.
Chaîne de caractères
Tableau de caractères (char) contenant les codes ASCII des lettres et délimité obligatoirement par le caractère de fin de chaîne '\0'.
Fonction
Suite d'instructions identifiée par un nom symbolique, acceptant des paramètres et pouvant renvoyer un résultat, utilisée pour factoriser du code.
Paramètres formels
Variables locales déclarées dans le prototype et l'en-tête d'une fonction, initialisées avec les valeurs fournies lors de l'appel.
Paramètres effectifs
Valeurs ou expressions réelles transmises à une fonction lors de son invocation pour initialiser ses paramètres formels.
Pointeur
Variable dont la valeur est l'adresse mémoire d'une autre variable d'un type donné.
Opérateur d'adresse (&)
Opérateur unaire retournant l'adresse en mémoire de la variable à laquelle il est appliqué.
Opérateur d'indirection (*)
Opérateur unaire appliqué à un pointeur permettant d'accéder à la valeur de la variable stockée à l'adresse mémoire pointée ou de la modifier.
Passage par valeur
Mode de transmission d'argument par défaut où une copie exacte de la valeur du paramètre effectif est attribuée au paramètre formel.
Passage par adresse
Mode de transmission transmettant l'adresse mémoire d'une variable à un pointeur, permettant à la fonction d'agir directement sur la variable d'origine sans copie volumineuse.
Structures de contrôle
Instructions régissant le flux d'exécution d'un programme, subdivisées en structures alternatives (if, switch), itératives (while, do, for) et sauts inconditionnels (break, continue, return).
Opérateur ternaire (?:)
Unique opérateur à trois opérandes en langage C formulant une expression conditionnelle sous la forme condition ? valeur_si_vrai : valeur_si_faux.
Modulo (%)
Opérateur arithmétique binaire applicable uniquement aux entiers, renvoyant le reste de la division entière entre deux opérandes.
Segment de pile (stack segment)
Zone de mémoire temporaire allouée lors de l'exécution d'une fonction pour stocker ses paramètres formels et ses variables locales, automatiquement libérée à la rencontre du return.
Fonction récursive
Fonction dont le corps contient au moins une invocation d'elle-même, nécessitant une condition d'arrêt pour éviter un débordement de pile (stack overflow).