|
Programmation
: C
|
|||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||
|
Brian Kernighan et Dennis Ritchie
(Laboratoires Bell, Etats-Unis) ont proposé le langage C
en 1978. Initialement le langage C a été conçu pour
le développement du système Unix; il. est le successeur
du langage B, dû à Ken Thompson, l'un des inventeurs de Unix.
Pour cette raison, C est muni d'opérateurs et de constructions
permettant de travailler au niveau du codage machine des instructions
et des données; en ce sens, il s'apparente à un langage
d'assembleur.
Cependant C appartient aussi à la famille des langages de programmation structurée et modulaire, héritant du langage Algol et s'apparentant à Pascal, Ada, ... C est également un langage de haut niveau. Initialement écrit en assembleur, puis en langage B, le système Unix est écrit à 90 % en C (le reste est encore en assembleur). Par conséquent, toute programmation orientée système sous Unix s'effectue de manière particulièrement aisée en C (accès facile aux fonctions du noyau). Le langage C est également disponible sur un grand nombre de machines et de systèmes: DOS, CP/M, VMS, MVS,... Les concepts du langage C Domaines d'utilisation : Normalisation du langage Caractéristiques du langage C Il
est simple à employer : ensemble d'instructions réduit,
syntaxe facile à maîtriser. C
est un langage proche du système, il permet d'accéder
très facilement à un grand nombre de mécanismes et
de fonctions spécifiques à chaque système, par l'intermédiaire
d'une bibliothèque standard. Toutes les opérations d'entrée
/ sortie par exemple sont définies de cette manière. C
est un langage universel, convenant aussi bien à la programmation
système (sa vocation initiale) qu'au codage d'algorithmes complexes,
au développement d'interfaces ou au calcul numérique. Les
programmes écrits en C sont assez fortement portables d'une
machine à une autre, y compris sur des systèmes différents...
attention toutefois à respecter certaines règles de "bonne
conduite". Voir la section 'Programmer en C' plus
loin dans ce document. C
possède un jeu très riche dopérateurs, ce
qui permet l'accès à la quasi - totalité. des ressources
de la machine. On peut par exemple faire de I'adressage indirect ou utiliser
des opérateurs d'incrémentation on de décalage. On
peut aussi préciser qu'on souhaite implanter une variable dans
un registre. En conséquence, on peut écrire des programmes
presque aussi efficaces qu'en assembleur, tout en programmant de manière
structurée. De
façon analogue à ALGOL68, la plupart des constructions C
(fonctions ou expressions) renvoient une valeur; ceci permet de s'exprimer
de façon souvent plus concise que dans d'autres langages. Le
langage est faiblement typé. Cette permissivité relativement
grande permet l'utilisation judicieuse des ressources matérielles,
mais peut aussi évidemment conduire à de mauvaises habitudes
de programmation. C'est pourquoi un outil supplémentaire, lint,
existe en tant qu'utilitaire propre, permettant un contrôle plus
rigoureux de la sémantique et des correspondances de types, en
indiquant des incohérences non détectées par le compilateur.
Notons toutefois que le programmeur peut très bien décider
de garder ces incohérences, ou même de jouer sur elles à
des fins d'efficacité par exemple. Le
laxisme du langage et du compilateur, qui donne une grande liberté
au compilateur, n'est cependant pas sans dangers. II peut en effet aboutir
à des erreurs d'exécution difficiles à déceler,
par exemple un débordement de tableau non testé ou un point-virgule
oublié on mal placé, entraînant un comportement parfois
déroutant. II faut donc programmer de manière précise
et claire, d'autant plus que les programmes C ont une certaine tendance
à être peu lisibles si on ne fait pas un effort particulier
au niveau de la présentation et de la rigueur.Mes premiers programmes C Mon premier programme en C A NE SURTOUT PAS RETENIR CAR ILLISIBLE
Mon deuxième programme C Mon troisième programme C
Les éléments du langage Les
commentaires : Le
fichier studio.h De
manière générale Void Main Bloc
d'instruction printf() Chaîne
de caractères Fin
des instructionsLangage C Partie I: Introduction |
|||||||||||||||||||||||||||||||||||||
|
Site modifié le 03/02/2003 Réalisé en 1999-2002, avec : Macromedia DreamWeaver 4.01 par SGD |
|||||||||||||||||||||||||||||||||||||