Le langage C, pour la programmation système
C a connu le succès grâce à la liberté offerte aux programmeurs. Son inconvénient est la difficulté à déboguer les programmes. Il est rapide et une large collection d'APIs est disponible. Il reste le meilleur outil pour la programmation système.
Le langage C été conçu de 1969 à 1972,
par Dennis Ritchie pour programmer le système d'exploitation
Unix.
Le C avait pour objectif d'être portable. Voir Le développement du langage C pour un historique.
Le tutoriel du langage par Dennis Ritchie et Brian Kernighan est considéré comme un des meilleurs jamais écrit.
Il a inspiré de nombreux autres langages dont C++, Java, C# de Microsoft et plus récemment Go et Dart de Google.
Caractéristiques de C
Un programme C est composé d'un ensemble de fonctions qui retournent ou non
une valeur, et de variables globales. Toute chose peut être évalué comme une expression, et ce n'est pas forcément un avantage pour la sécurité.
Fonctions et variables ont un prototype dans un fichier en-tête
pour une utilisation partagée du fichier source.
Le programmeur doit gérer lui-même la mémoire,
utilisant des pointeurs et des fonctions pour allouer ou libérer
des blocs de mémoire.
Il est portable avec quelque restrictions: par exemple, les types
de variables additionnels dépendent du compilateur.
Le standard ISO C11 de 2011 ajoute de nouvelles fonction au langage C: le multi-thread, Unicode, les fonctions lambda, structures et unions imbriquées anonymes.
Les structures de données:
Scalaires: int, long, char, char *.
struct permet de créer un type d'objet formé de plusieurs variable et était le précurseur des objets.
union permet de donner plusieurs identifieur à une variable et s'utilise surtout avec les struct
typedef pour définir de nouveau types de données..
Les structures de contrôle:
- if ... else
- switch ... case ... default
- while
- for
- do ... while
- break, continue, return
- goto
Les symboles:
// and /* */ commentaires.
& | && || opérateurs logiques.
# directive pour le pré-processeur.
Les symboles composés effectuent deux opérations sur une même variable. Par exemple, a += b ajoute b à a puis assigne le résultat à a.
La boucle while:
while(x < y)
{
... instructions ...
}
La définition d'une fonction:
int nom(char *x, int y)
{
... instructions ...
return(z);
}
Exemple de code
Afficher les caractères d'une chaîne en C.
char *s = "demo";
int l = strlen(s);
for(int i = 0; i < l; i++)
{
char c = s[i];
printf("%c\n", c);
}
Sites et outils pour C
- Introduction
à C
Premier cours en C (Anglais). - LCC
Un compilateur 32 bits avec IDE, manuel. (Windows) - Cint
Interpréteur C et C++ quasiment complet. - Tiny C Compiler. Compile et exécute directement des programmes C. (Win/Linux).
- C to C++
Convertit un projet de C en C++. - DragonEgg
Remplace le backend de GCC par un compilateur LLVM. - Voir aussi les outils C++.
| Tweet |
|
|
