Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Langage C
[Leçon 1]
M. Djiba Kourouma
INTRODUCTION
I. PRESENTATION DU LANGAGE
Le langage C a été conçu en 1972 par Dennis Richie et Ken Thompson. En 1978, Brian
Kernigham et Dennis Richie publient la définition classique du C dans le livre « The C
Programming Language ».
Le C devenant de plus en plus populaire dans les années 80 et suite à l'apparition de
nombreux compilateurs C, en 1983, l’ANSI (American National Standards Institute) décida
de normaliser le langage, ce travail s’acheva en 1989 par la définition de la norme ANSI C.
C’est un langage évolué et structuré, assez proche du langage machine. Les compilateurs C
possèdent les taux d'expansion (rapport entre la quantité de codes machine générée par le
compilateur et la quantité de codes machine générée par l'assembleur et ce pour une même
application) les plus faibles de tous les langages évolués.
Le langage C a été conçu pour l’écriture de systèmes d’exploitation et du logiciel de base
(90% du noyau du système UNIX est écrit en C, le compilateur C lui-même est écrit en grande
partie en langage C, de nombreux logiciels du domaine des ordinateurs personnels, tels que
Microsoft Word ou Excel sont écrits à partir du langage C ou C++ qui est considéré comme
sur ensemble de C).
Le langage C possède assez peu d'instructions, il fait par contre appel à des bibliothèques,
fournies en plus ou moins grand nombre avec le compilateur telles que :
stdio.h : pour les fonctions principales d'entrée et de sortie.
stdlib.h : pour les fonctions de conversion numérique, allocation de mémoire.
string.h : pour les fonctions de gestion de chaîne de caractères.
math.h : pour les fonctions mathématiques communes.
On ne saurait développer un programme en C sans se munir de la documentation
concernant ces bibliothèques.
Les principales caractéristiques du langage C sont :
Universalité : utilisé dans tous les domaines SE, BD, Compilateur…;
Souplesse : concis, très expressif, compacts grâce à un jeu d'opérateurs puissant ;
Puissance : langage de haut niveau qui permet d'effectuer des opérations de bas
niveau.
D. Kourouma 1
La syntaxe du langage C a influencé nombreux autres langages dont C++, C#, JavaScript, Java,
PHP…
D. Kourouma 2
II. COMPILATION
Le C est un langage compilé. Le programme (fichier source) n’est pas exécutable par le
microprocesseur, il faut le traduire en langage machine. Cette opération est effectuée par un
programme appelé compilateur.
Les compilateurs C transforment un programme C (fichier suffixé par .c) en programme objet
(fichier suffixé par. o) en deux phases :
Le préprocesseur agit sur les macros (commandes précédées d’un #) et transforme le
code source C en un autre code source C (ne contenant plus aucune macro) en
remplaçant le code macro par son évaluation.
Le compilateur transforme ce deuxième code source C en programme machine
(nommé code objet).
Le langage C utilise le concept de module (ou de librairie) qui permet de créer et d’utiliser
des bibliothèques de fonctions qui peuvent être utilisées dans plusieurs programmes.
De ce fait, le code objet produit par le compilateur n’est pas un programme exécutable car il
utilise certainement des fonctions définies dans des modules. Pour le rendre exécutable il
faut le lier aux modules adéquats : c’est ce que l’on nomme l’édition des liens (ou linkage).
Lorsque nous utilisons la directive include, le contenu du fichier d'en-tête inclus (après
prétraitement) est copié dans le fichier actuel.
Les crochets angulaires < et > indiquent au préprocesseur de rechercher dans le dossier
standard où sont stockés tous les fichiers d’en-tête. Les guillemets doubles " et " indiquent
au préprocesseur de rechercher dans le dossier en cours (répertoire en cours).
D. Kourouma 3
III. OUTILS DE PROGRAMMATION
D. Kourouma 4