Aller au contenu

C (langage)

Un article de Wikipédia, l'encyclopédie libre.
Ceci est une version archivée de cette page, en date du 9 mai 2003 à 08:59 et modifiée en dernier par 202.156.2.92 (discuter). Elle peut contenir des erreurs, des inexactitudes ou des contenus vandalisés non présents dans la version actuelle.


À l'origine le langage C a été inventé par Dennis Ritchie et Brian Kernighan pour porter le système d'exploitation UNIX sous différentes architectures. Il reste le langage de programmation de référence. En 1983, l'institut national américain de normalisation a commencé un travail de normalisation du langage qui a abouti en 1988 à l'approbation de la norme "C ANSI". En 1989, l'ISO standardise le C, standardisation connue sous le nom de C89. En 1999, l'ISO modernise sa standardisation et donne le C99.

Le langage C peut être qualifié de bas niveau ou peu typé dans le sens où le langage manipule les mêmes sortes d'objets que la plupart des ordinateurs : à savoir des nombres, des caractères et des adresses. Le langage ne propose aucune opération qui traite directement des objets de plus haut niveau (fichier, chaîne de caractères, liste...) et il faut donc faire appel à des fonctions de la bibliothèque standard pour manipuler ce type d'objet.

Le langage C a été créé pour rendre le système d'exploitation UNIX plus portable, il a conservé de cela une très grande efficacité pour tout ce qui concerne le développement système. Ainsi depuis la majorité des grands systèmes d'exploitation ont été développés en C. Les systèmes UNIX sont ainsi globalement très liés au langage C.

De même, le langage ne propose pas en standard la gestion de la programmation objet, ni de mécanisme d'exception, ou de traitement multitâche.

Ces caractéristiques en font un langage à privilégier quand on cherche à maîtriser les ressources utilisées, le code assembleur généré par les compilateurs étant relativement prévisible et très souvent optimal.

Ce langage est donc extrêmement utilisé dans des domaines comme : la programmation embarquée sur microcontrôleurs, les calculs intensifs, l'écriture de systèmes d'exploitation et tous les modules où la rapidité de traitement est importante. Il est en effet une bonne alternative aux langages assembleurs dans ces domaines avec les avantages d'une syntaxe plus lisible et de la portabilité du code.

En contrepartie, la mise au point de programmes en C, surtout s'ils utilisent des structures de données complexes, est plus difficile qu'avec des langages de plus haut niveau. En effet, dans un souci de performance le langage C impose à l'utilisateur de programmer certains traitements (libération de la mémoire, vérification de la validité des index sur les tableaux...) qui sont pris en charge automatiquement par les langages de haut niveau.

Le C étant un langage simple, son compilateur est assez simple. Sur un nouveau microprocesseur, un compilateur C peut être écrit en deux mois. C'est pour cela qu'il est souvent choisi comme premier langage sur une nouvelle architecture.

Beaucoup de limitations du langage C ont été levées dans le langage C++ qui est un C avec la notion d'objet.

Exemple de programme C

Voici un exemple de programme Hello world écrit en langage C.

#include <stdio.h>
int main(void)
{
    printf("Hello, World!\n");
    return 0;
}

Quelques instructions C

Instructions de pre-compilation

  • #include
  • #define
  • #pragma
  • #if
  • #ifdef
  • #ifndef
  • #endif
  • #undef
  • #line
  • #error

Instructions de compilation

  • if
  • else
  • for
  • while
  • do
  • switch
  • break
  • continue
  • goto
  • sizeof
  • return
  • types entiers 8 bits : char, signed char, unsigned char
  • types entiers 16 bits : short, signed short, unsigned short
  • types entiers 32 bits : long, signed long, unsigned long
  • types entiers 16/32 bits (selon la plate-forme) : int, signed int, unsigned int
  • types à virgule flottante : float, double
  • types élaborés : enum, struct, typedef

Ressources Internet


Bibliographie


Programmes célèbres écrits en C