Sie sind auf Seite 1von 13

Algorithmique et Programmation : en langage C

Abdellatif HAIR
Universit Sultan Moulay Slimane Facult des Sciences et Techniques B.P. 523, Bni-Mellal, MAROC

1. GENERALITES
HISTORIQUE CARACTRISTIQUES FORME GNRALE D'UN PROGRAMME C RGLES D'CRITURE DES PROGRAMMES C

1. HISTORIQUE
x Le langage C est n en 1972 dans les laboratoires de la Bell Telephone (AT&T) des travaux de Brian Kernighan et Dennis Ritchie x Il a t conu l'origine pour l'criture du systme d'exploitation UNIX (90-95% du noyau crit en C) et s'est vite impos comme le langage de programmation sous UNIX x Trs inspir des langages BCPL (Martin Richard) et B (Ken Thompson), il se prsente 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) x Il a t normalis en 1989 par le comit X3J11 de l'American National Standards Institute (ANSI)
3

2. CARACTRISTIQUES
x Langage structur conu pour traiter les tches d'un programme en les mettant dans des blocs

x produit des programmes efficaces : il possde les mmes possibilits de contrle de la machine que l'assembleur

x Dclaratif : tout objet C doit tre dclar avant d'tre utilis

x Format libre : la mise en page des divers composants d'un programme est totalement libre Cette possibilit doit tre exploite pour rendre les programmes lisibles
4

2. CARACTRISTIQUES
x Modulaire : une application pourra tre dcoupe en modules qui pourront tre compils sparment Un ensemble de programmes dj oprationnels pourra tre runi dans une librairie. Cette aptitude permet C de se dvelopper de lui mme

x Transportable : les entres/sorties sont runies dans une librairie externe au langage

x Spcificit vient de son traitement des pointeurs et son aptitude gnrer un code compact et rapide

3. FORME GNRALE D'UN PROGRAMME C

Squelette de programme

Un programme C est compos de : x Directives du prprocesseur : permettent d'effectuer des manipulations sur le texte du programme source avant la compilation (inclusion de fichiers, substitutions, macros, compilation conditionnelle) Une directive du prprocesseur est une ligne de programme source commenant par le caractre dise (#) x Dclarations / dfinitions : Dclaration : la dclaration d'un objet C donne simplement ses caractristiques au compilateur et ne gnre aucun code Dfinition : la dfinition d'un objet C dclare cet objet et cre effectivement cet objet
6

3. FORME GNRALE D'UN PROGRAMME C


Un programme C est compos de (suite) : x Fonctions : Ce sont des sous-programmes dont les instructions vont dfinir un traitement Elles peuvent retourner une valeur la fonction appelante. Le programme principal est une fonction dont le nom doit imprativement tre main x Commentaires : limins par le prprocesseur, ce sont des textes compris entre /* et */ Le symbole // permet de mettre en commentaire toute la ligne qui la suit (i.e. les caractres droite de ce symbole sur la mme ligne)
7

3. FORME GNRALE D'UN PROGRAMME C


# include <stdio.h> /* Dclaration des bibliothques */ cf. chapitre 2 */ /* Dclaration des variables int main (void) { printf ("Ceci est votre premier programme\n"); // Corps du programme return 0; } /* Aucune erreur renvoye */

3. FORME GNRALE D'UN PROGRAMME C


Structure d'un bloc
x Un bloc est une suite d'instructions lmentaires dlimites par des accolades { et }

x Un bloc peut commencer par des dclarations/dfinitions d'objets qui seront locaux ce bloc

x Un bloc peut contenir un ou plusieurs blocs inclus (imbriqus)

3. FORME GNRALE D'UN PROGRAMME C


Structure d'une instruction lmentaire
x Une instruction lmentaire est une expression termine par le caractre ; (point virgule)

Structure d'une fonction x Une fonction est un bloc de code d'une


x La forme gnrale d'une fonction est :

ou plusieurs instructions qui peut renvoyer une valeur l'expression qui l'utilise

[classe] [type] nom( [liste_de_parametres_formels] ) declaration_des_parametres_formels bloc_de_la_fonction

10

4. RGLES D'CRITURE DES PROGRAMMES C


Afin d'crire des programmes C lisibles, il est important de respecter un certain nombre de rgles de prsentation :
x ne jamais placer plusieurs instructions sur une mme ligne x utiliser des identificateurs significatifs x grce l'indentation (dcalage horizontal) des lignes, on fera ressortir la structure syntaxique du programme. Les valeurs de dcalage les plus utilises sont de 2, 4 ou 8 espaces x on laissera une ligne blanche entre la dernire ligne des dclarations et la premire ligne des instructions
11

4. RGLES D'CRITURE DES PROGRAMMES C


Afin d'crire des programmes C lisibles, il est important de respecter un certain nombre de rgles de prsentation :
x une accolade fermante est seule sur une ligne et fait rfrence, par sa position horizontale, au dbut du bloc qu'elle ferme x arer les lignes de programme en entourant par exemple les oprateurs avec des espaces x il est ncessaire de commenter les listings. Eviter les commentaires triviaux
12

4. RGLES D'CRITURE DES PROGRAMMES C


/**************** Programme de dmonstration *****************/ #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; }
13

Das könnte Ihnen auch gefallen