Informatique et sciences du numérique

Langage C

samedi, 11 février 2012

http://isn.ac-amiens.fr/021-langage-c.html

Le langage C est le père de tous les langages de programmation modernes, et reste le langage de programmation : omniprésent. incontournable pour les informaticiens professionnels et en lente évolution.

Fiche d’identité

Apparu en 1972
Auteur Dennis Ritchie
Système d’exploitation Multi-plateforme
Licence Dépend du compilateur
Exécution compilé
Paradigmes impératif, procédural
Typage statique, faible
Influencé par B (BCPL,CPL), ALGOL 68, Assembleur, Fortran, Pascal
À influencé awk, C++, C#, Objective C, BitC, D, Java, Javascript, PHP, Perl, Python...
Extension de fichier .c .h

Particularités

Le langage C est un langage de bas niveau, c’est à dire très proche de la machine. À l’origine, il a été conçu comme une surcouche au langage Assembleur, il s’est développé pour donner un langage généraliste.
C’est le langage disponible sur le plus grand nombre de plateforme, des micro-contrôleurs aux supercalculateurs.

La connaissance du langage C est obligatoire pour tout informaticien professionnel, ne serait-ce que par ces les influences dans de nombreux autres langages : notions de type, les accolades, les boucles, la gestion de la mémoire...
De plus, c’est le langage des noyaux des systèmes d’exploitation (windows, linux...), les pilotes de périphériques sont donc eux aussi écrit en C.

La structuration du code est assuré par les point-virgules (fin d’instruction) et les accolades (séquence d’instructions). Même si cela peut rassurer au début, cela peut conduire pour le débutant à des erreurs difficiles à déboguer (oubli d’un point-virgule) et à un code peu esthétique (placement des accolades et indentation chaotiques).

Environnements de développement

Leur nombre est important, donc en voici quelques uns :

Microsoft propose aussi un IDE pour programmer sous windows, Visual Studio, qui existe en version gratuite ("Express"). Le principal intérêt de cet IDE est de permettre un accès simple aux fonctions de windows (API win32 et MFC), mais c’est aussi son défaut : il entraîne le programmeur vers des solutions non portables, propres à windows.

Des éditeurs de texte plus simple sont aussi possibles :

Hello World

Créer un fichier hello.c contenant :

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
 puts("Hello World!");
 return EXIT_SUCCESS;
}


pour le compiler, taper la commande :

gcc hello.c -o hello

pour l’exécuter, taper la commande :
> hello
ou
> ./hello
ou double-cliquer sur hello

Avantages

Inconvénients

Le langage C est quasiment obligatoire pour programmer des micro-contrôleurs, notamment pour aborder la robotique.