Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Avant les années 1950, on programmait directement les ordinateurs en langage machine. Un
langage machine est une suite d’instructions codées sur des mots de 32 bits pour le MIPS
(million d’instructions par seconde mais ici il s’agit d’un microprocesseur). La
programmation n’étant pas évidente en langage machine, on a essayé d’améliorer le travail du
programmeur.
Ensuite on a introduit des étiquettes dans le langage d'assemblage dans le but de faciliter les
branchements conditionnels (boucles, sauts), cela a donné des instructions de la forme
BRANCH. Enfin on a exprimé directement des emplacements mémoires en leur donnant un
nom symbolique à la place de l’adresse en hexadécimal.
Or ces langages de haut niveau et à objets ne sont pas compris par l’ordinateur. Il a fallu donc
construire des programmes qui traduisent des énoncés exprimés dans ces langages utilisés par
les programmeurs en instructions pour la machine cible. De tels programmes s’appellent des
compilateurs ou des interpréteurs.
o L’interpréteur traduit les programmes instruction par instruction dans le cadre d’une
interaction continue avec l’utilisateur. Ainsi, le programme est traduit à chaque exécution.
o Le compilateur traduit les programmes dans leur ensemble : tout le programme doit
être fourni en bloc au compilateur pour la traduction. Il est traduit une seule fois dans
l’optique de produire un exécutable.
2. Programmation en langage c
Le principe de résolution d’un problème informatique est appelé algorithme. Cet algorithme
exprime la structure logique d’un programme informatique et de ce fait est indépendant du
langage de programmation utilisé. Par contre, la traduction de l’algorithme dans un langage
particulier dépend du langage choisi et sa mise en œuvre dépend également de la plateforme
d’exécution.
Un programme n’est rien d’autre qu’une suite d’instructions, encodées en respectant de
manière très stricte un ensemble de conventions fixées à l’avance par un langage
informatique.
Le langage C a été conçu pour l'écriture de systèmes d’exploitation, en particulier le système
Unix. Ce langage a subi au cours de son histoire deux grandes étapes de définition. Il a été
défini une première fois par deux chercheurs des Laboratoires Bell, Brian Kernighan et
Dennie Ritchie, qui l’on publié en 1978 dans un ouvrage intitulé « The C Programming
Language ».
Suite à l'extraordinaire succès d’Unix au milieu des années 1980, le langage C structuré et très
proche du langage machine était devenu très populaire. De nombreux compilateurs sont
apparu mais présentant des incompatibilités. Face à ce désordre des fournisseurs de
compilateurs il devint nécessaire de mettre de l'ordre et donc de normaliser le langage. Pour
accomplir cette tâche, l’organisme de normalisation américain, ANSI (American National
Standards Institute) avait publié en 1988 le manuel de référence du langage C.
i. L'édition du programme
L'édition du programme consiste à créer, à partir d'un clavier et dans un éditeur de texte
quelconque le texte d'un programme: on parle alors de "programme source". En général, ce
texte sera conservé dans un fichier que l'on nommera avec l’extension ‘’.c’’.
ii. La compilation
Elle consiste à traduire le programme source (le contenu d'un fichier source) en langage
machine, en faisant appel à un programme nommé compilateur. Les compilateurs C font subir
deux transformations aux programmes :
Le module objet créé par le compilateur n'est pas directement exécutable. Il lui manque, au
moins, les différents modules objet correspondant aux fonctions prédéfinies (on dit aussi
"fonctions standard") utilisées par votre programme (comme printf, scanf, sqrt). C'est
effectivement le rôle de l'éditeur de liens que d'aller rechercher dans la "bibliothèque
standard" les modules objet nécessaires. Le résultat de l'édition de liens est ce que l'on nomme
un "programme exécutable", c'est-à-dire un ensemble autonome d'instructions en langage
machine. Si ce programme exécutable est rangé dans un fichier, il pourra ultérieurement être
exécuté sans qu'il soit nécessaire de faire appel à un quelconque composant de
l'environnement de programmation en C.
La compilation conditionnelle a pour but d’incorporer ou d’exclure des parties du code source
dans le texte qui sera généré par le préprocesseur, le choix étant basé sur un test exécuté à la
compilation. Elle permet d’adapter le programme au matériel ou à l’environnement sur lequel
il s’exécute, ou d’introduire dans le programme des instructions de débuggage.
Ci-dessous, une liste non exhaustive des fonctions de la bibliothèque standard (Les fichiers d’en -
tête de la librairie ANSI), accompagnées de leurs prototypes.
- Manipulation de fichiers