HABIB NDIAYE INGÉNIEUR DÉVELOPPEUR INTERVENANT +221 77 319 94 76 / habibndiaye0

HABIB NDIAYE INGÉNIEUR DÉVELOPPEUR INTERVENANT +221 77 319 94 76 / habibndiaye08@gmail.com INTRODUCTION AUX LANGAGES DE PROGRAMMATION LANGAGE C : HISTORIQUE & CARACTERISTIQUES BASES DU LANGAGE C INSTRUCTIONS STRUCTURES DE DONNEES POINTEURS FONCTIONS LISTES CHAINEES FICHIERS PLAN INTRODUCTION AUX LANGAGES DE PROGRAMMATION Un langage de programmation ressemble à une langue : il dispose de son propre vocabulaire et de ses règles de grammaire et de syntaxe. Une autre définition est celle-ci : formalisme basé sur une langue et qui définit une manière de donner des ordres à l’ordinateur. - programme (ou exécutable) : algorithme écrit dans un langage de programmation; ensemble d’instructions exécutables par un ordinateur; - programmeur : celui qui donne à des ordres à l’ordinateur en écrivant des programmes. - code source = fichier texte contenant un ensemble d’instructions écrit dans un certain langage de programmation. En C, un code source est un (ou plusieurs) fichier(s) portant l’extension .c; - programmation : activité de rédaction du code source d’un programme. INTRODUCTION AUX LANGAGES DE PROGRAMMATION On peut regrouper les langages de programmation en deux catégories : - les langages de bas niveau : ils se rapprochent plus du langage machine (langage binaire, langage du processeur) ; - les langages de haut niveau : ils sont proches du langage humain et indépendants de la machine utilisée (portabilité). Plus un langage est de haut niveau, plus il est proche du langage humain. Le langage assembleur et le langage machine sont des exemples de langages de bas niveau. Parmi les langages de haut niveau, on retrouve le C, C++, Java, PHP , etc... INTRODUCTION AUX LANGAGES DE PROGRAMMATION Il est possible de faire une traduction du langage de haut niveau vers celui de bas niveau, avec un traducteur. On distingue alors deux types de traducteurs : - l’interpréteur : il traduit le programme instruction par instruction. - le compilateur : il traduit le programme dans son ensemble. Suivant le type de traducteur utilisé, on parlera alors de langage compilé (cas du C, de Latex, etc.) ou de langage interprété (cas de Ruby, PHP , HTML, etc.). Certains langages, tels que Java, sont intermédiaires. LANGAGE C : HISTORIQUE & CARACTERISTIQUES Le langage C a été créé en 1978 par Brian W. Kernighan et Denis Ritchie au sein des laboratoires Bell, avec pour objectif de créer un système d’exploitation (une réécriture de UNIX). Face à sa popularité grandissante, il a été normalisé en 1989 par le NIST. De nombreux autres langages comme Java, JavaScript ou C# ont largement repris la syntaxe du C, mais sans être compatibles. - K&R C : normalisé en 1978; version initiale du C, telle qu’introduite par Kernighan et Ritchie. C’est le C « traditionnel ». - C++ : 1983; extension du C avec le concept de classe. Normalisé en 1998 pour devenir le Standard C++. - Objective-C : contient le C comme sous-ensemble; est orienté objet. - ANSI-C (ou C89) : normalisation du K&R C en 1989; version la plus utilisée du C Historique LANGAGE C : HISTORIQUE & CARACTERISTIQUES Le langage C est un langage de haut niveau( on dit parfois aussi qu’il est le plus bas des langages de haut niveau!!!), impératif, compilé, typé et déclaratif. Avantages - Grande notoriété et très utilisé ; donc possibilité d’avoir de la documentation et /ou de l’aide ; - Certain nombre de fonctions prédéfinies dans des bibliothèques ; - Langage portable et standardisé ; - Simplicité ; - Gestion de la mémoire ; - Vitesse d’exécution. Inconvénients - Rigueur d’écriture ; - Définition de certains concepts par soi-même . Caractéristiques LANGAGE C : HISTORIQUE & CARACTERISTIQUES Le C est un langage compilé(par opposition aux langages interprétés). Cela signifie qu’un programme C est décrit par un fichier texte, appelé fichier source. Ce fichier n’étant évidemment pas exécutable par le microprocesseur, il faut le traduire en langage machine. Cette opération est effectuée par un programme appelé compilateur. La compilation se décompose en fait en 4 phases successives: - la pré-compilation (ou prétraitement, pre-processing) : le fichier source est analysé par le préprocesseur qui effectue des transformations purement textuelles (remplacement de chaînes de caractères, inclusion d’autres fichiers source ...). - la compilation proprement dite (compiling) : la compilation proprement dite traduit le fichier généré par le préprocesseur en assembleur, c’est-à-dire en une suite d’instructions du microprocesseur qui utilisent des mnémoniques rendant la lecture possible. Etapes de la compilation en C LANGAGE C : HISTORIQUE & CARACTERISTIQUES - l’assemblage (assembling) : cette opération transforme le code assembleur en un fichier binaire, c’est-à-dire en instructions directement compréhensibles par le processeur. Généralement, la compilation et l’assemblage se font dans la foulée, sauf si l’on spécifie explicitement que l’on veut le code assembleur. Le fichier produit par l’assemblage est appelé fichier objet. - l’édition des liens (linking) : un programme est souvent séparé en plusieurs fichiers source, pour des raisons de clarté mais aussi parce qu’il fait généralement appel à des librairies de fonctions standard déjà écrites. Une fois chaque code source assemblé, il faut donc lier entre eux les différents fichiers objets. L’édition de liens produit alors un fichier dit exécutable. Etapes de la compilation en C Bases du langage C Un programme en langage C est constitué des six groupes de composants élémentaires suivants: - les identificateurs, - les mots-clés, - les constantes, - les chaînes de caractères, - les opérateurs, - les signes de ponctuation. On peut ajouter à ces six groupes les commentaires, qui sont enlevés par le préprocesseur. Les composants élémentaires du C Bases du langage C Le rôle d’un identificateur est de donner un nom à une entité du programme. Un identificateur est une suite de caractères parmi : - les lettres (minuscules ou majuscules, mais non accentuées), - les chiffres, - le “blanc souligné” (_). Le premier caractère d’un identificateur ne peut pas être un chiffre. Par exemple, var1, tab23 ou _deb sont des identificateurs valides; par contre, 1i et i:j ne le sont pas. Il est cependant déconseillé d’utiliser _ comme premier caractère d’un identificateur car il est souvent employé pour définir les variables globales de l’environnement C. Les majuscules et minuscules sont différenciées. Les identificateurs Bases du langage C Il existe une série de mots réservés (aussi appelés mots-clés) au langage C, c’est-à- dire qu’on ne peut pas les utiliser comme identificateurs ( de variables, de fonctions ou de nouveaux types). Ils sont au nombre de 32 : Les mots réservés Bases du langage C Dans un programme, il est souvent nécessaire de documenter les parties importantes (par exemple pour indiquer l’auteur du code, la date de création, le rôle d’une fonction ou d’un bloc d’instructions). Pour cela, on utilise la notion de commentaire. Le texte placé dans un commentaire est ignoré par le compilateur lors de l’exécution. On distingue deux sortes de commentaires : - les commentaires portant sur une ligne : on utilise //; - les commentaires portant sur plusieurs lignes : ils débutent par /* et se terminent par */. Exemples : //Ceci est un commentaire sur une ligne /*Ceci est un commentaire sur plusieurs lignes*/ Les commentaires Bases du langage C Un programme C est décrit par un ou plusieurs fichiers d’extension .c (appelés fichiers source) et est constitué d’un programme principal pouvant faire appel à des sous-programmes qui réalisent chacun une certaine tâche. Un programme C comporte généralement : - les directives du préprocesseur ; - la définition de structures et de types secondaires ; - la déclaration des variables globales et des constantes ; - la définition des sous-programmes ; - la fonction principale (appelée fonction main). Chaque instruction dans le code source se termine par un ;. Structure d’un programme C Le préprocesseur est un programme exécuté lors de la précompilation (première étape de la compilation). Il effectue des modifications textuelles sur le fichier source à partir de directives. Une directive du préprocesseur est une ligne du code source commençant par #. Il existe trois manières de définir une directive du préprocesseur : - #include <nomFichier> : indique l’utilisation d’une librairie prédéfinie et se trouvant dans le fichier nomFichier; - #define : pour la définition de constantes symboliques et de macros - #if, #ifdef, #ifndef : directives de compilation conditionnelle. La fonction MAIN Un programme C doit contenir au minimum une fonction spéciale appelée fonction main. La fonction main est le point d’entrée du programme, c’est-à-dire que c’est la première fonction qui sera invoquée lors de l’exécution. Sa présence est obligatoire. Exemples: Les variables Le C est un langage typé. Cela signifie en particulier que toute variable, constante ou fonction est d’un type précis. Le type d’un objet définit la façon dont il est représenté en mémoire. La mémoire de l’ordinateur se décompose en une suite continue d’octets. Chaque octet de la mémoire est caractérisé par son adresse, qui est un entier. Deux octets contigus en mémoire ont des adresses qui diffèrent d’une unité. Quand une variable est définie, il lui est attribué une adresse. Cette variable correspondra à une zone mémoire dont la longueur (le nombre d’octets) est fixée uploads/Ingenierie_Lourd/ langage-c.pdf

  • 32
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager