Abdellatif HAIR Université Sultan Moulay Slimane Faculté des Sciences et Techni
Abdellatif HAIR Université Sultan Moulay Slimane Faculté des Sciences et Techniques B.P. 523, Béni-Mellal, MAROC Algorithmique et Programmation : Algorithmique et Programmation : en langage C en langage C 2 1. GENERALITES 1. GENERALITES ² HISTORIQUE HISTORIQUE ² CARACTÉRISTIQUES CARACTÉRISTIQUES ² FORME GÉNÉRALE D'UN PROGRAMME C FORME GÉNÉRALE D'UN PROGRAMME C ² RÈGLES D'ÉCRITURE DES PROGRAMMES C RÈGLES D'ÉCRITURE DES PROGRAMMES C 3 1. HISTORIQUE N Le langage C est né en 1972 dans les laboratoires de la Bell Telephone (AT&T) des travaux de Brian Kernighan et Dennis Ritchie N Il a été conçu à l'origine pour l'écriture du système d'exploitation UNIX (90-95% du noyau écrit en C) et s'est vite imposé comme le langage de programmation sous UNIX N Très inspiré des langages BCPL (Martin Richard) et B (Ken Thompson), il se présente comme un \super-assembleur" ou \assembleur portable". En fait c'est un compromis entre un langage de haut niveau (Pascal, Ada . . . ) et un langage de bas niveau (assembleur) N Il a été normalisé en 1989 par le comité X3J11 de l'American National Standards Institute (ANSI) 4 2. CARACTÉRISTIQUES N Langage structuré conçu pour traiter les tâches d'un programme en les mettant dans des blocs N produit des programmes efficaces : il possède les mêmes possibilités de contrôle de la machine que l'assembleur N Déclaratif : tout objet C doit être déclaré avant d'être utilisé N Format libre : Q la mise en page des divers composants d'un programme est totalement libre Q Cette possibilité doit être exploitée pour rendre les programmes lisibles 5 2. CARACTÉRISTIQUES N Modulaire : une application pourra être découpée en modules qui pourront être compilés séparément Q Un ensemble de programmes déjà opérationnels pourra être réuni dans une librairie. Cette aptitude permet à C de se développer de lui même N Transportable : les entrées/sorties sont réunies dans une librairie externe au langage N Spécificité vient de son traitement des pointeurs et à son aptitude à générer un code compact et rapide 6 3. FORME GÉNÉRALE D'UN PROGRAMME C ² Squelette de programme Un programme C est composé de : N Directives du préprocesseur : Q permettent d'effectuer des manipulations sur le texte du programme source avant la compilation (inclusion de fichiers, substitutions, macros, compilation conditionnelle) Q Une directive du préprocesseur est une ligne de programme source commençant par le caractère dièse (#) N Déclarations / définitions : Q Déclaration : la déclaration d'un objet C donne simplement ses caractéristiques au compilateur et ne génère aucun code Q Définition : la définition d'un objet C déclare cet objet et crée effectivement cet objet 7 3. FORME GÉNÉRALE D'UN PROGRAMME C Un programme C est composé de (suite) : N Fonctions : Q Ce sont des sous-programmes dont les instructions vont définir un traitement Q Elles peuvent retourner une valeur à la fonction appelante. Q Le programme principal est une fonction dont le nom doit impérativement être main N Commentaires : Q éliminés par le préprocesseur, ce sont des textes compris entre /* et */ Q Le symbole // permet de mettre en commentaire toute la ligne qui la suit (i.e. les caractères à droite de ce symbole sur la même ligne) 8 3. FORME GÉNÉRALE D'UN PROGRAMME C # include <stdio.h> /* Déclaration des bibliothèques */ /* Déclaration des variables cf. chapitre 2 */ int main (void) { printf ("Ceci est votre premier programme\n"); // Corps du programme return 0; /* Aucune erreur renvoyée */ } 9 3. FORME GÉNÉRALE D'UN PROGRAMME C ² Structure d'un bloc N Un bloc est une suite d'instructions élémentaires délimitées par des accolades { et } N Un bloc peut commencer par des déclarations/définitions d'objets qui seront locaux à ce bloc N Un bloc peut contenir un ou plusieurs blocs inclus (imbriqués) 10 3. FORME GÉNÉRALE D'UN PROGRAMME C ² Structure d'une instruction élémentaire N Une instruction élémentaire est une expression terminée par le caractère ; (point virgule) ² Structure d'une fonction N Une fonction est un bloc de code d'une ou plusieurs instructions qui peut renvoyer une valeur à l'expression qui l'utilise N La forme générale d'une fonction est : [classe] [type] nom( [liste_de_parametres_formels] ) declaration_des_parametres_formels bloc_de_la_fonction 11 4. RÈGLES D'ÉCRITURE DES PROGRAMMES C Afin d'écrire des programmes C lisibles, il est important de respecter un certain nombre de règles de présentation : N ne jamais placer plusieurs instructions sur une même ligne N utiliser des identificateurs significatifs N grâce à l'indentation (décalage horizontal) des lignes, on fera ressortir la structure syntaxique du programme. Les valeurs de décalage les plus utilisées sont de 2, 4 ou 8 espaces N on laissera une ligne blanche entre la dernière ligne des déclarations et la première ligne des instructions 12 4. RÈGLES D'ÉCRITURE DES PROGRAMMES C Afin d'écrire des programmes C lisibles, il est important de respecter un certain nombre de règles de présentation : N une accolade fermante est seule sur une ligne et fait référence, par sa position horizontale, au début du bloc qu'elle ferme N aérer les lignes de programme en entourant par exemple les opérateurs avec des espaces N il est nécessaire de commenter les listings. Eviter les commentaires triviaux 13 4. RÈGLES D'ÉCRITURE DES PROGRAMMES C /**************** Programme de démonstration *****************/ #include <stdio.h> /* directives au preprocesseur */ #define MSG "Programme de demonstration\n"; int carre(int x); /* declaration des fonctions */ int main(void) /* programme principal */ { /* debut du bloc de la fonction main */ int i=10; /* definition des variables locales */ printf(MSG); printf("%d carre: %d\n", i, carre(i)) return 0; } /* fin du bloc de la fonction main */ int carre(int x) { /* definition de la fonction carre */ return x * x; } uploads/Litterature/ lang-c1-ppt.pdf
Documents similaires










-
41
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Jui 10, 2021
- Catégorie Literature / Litté...
- Langue French
- Taille du fichier 0.0908MB