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.

Language C, Dennis Ritchie

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:

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

Langages de programmation AspectJ - Basic - C - CIL - C++ - C++11 - C# - Dart - Eiffel - Go - Java - JavaScript - JavaFX Script - Pascal - PHP - Python - QML - Rexx - Ruby - Scala - Scriptol - Tcl - HTML - XML - XAML - XUL - SQL