Exemple d'un programme C basique
#include <stdio.h>
int main(void) { /* Un programme C simple */
int valeur; /* Déclarer une variable appelée valeur */
valeur = 5; /* Affecter la valeur 5 à la variable */
printf("Je suis un "); /* Appel à la fonction printf() */
printf("ordinateur.\n");
printf("Mon nombre préféré est %d car c'est le premier.\n", valeur);
return 0;
}
À l'exécution, ce programme affiche :
Je suis un ordinateur.
Mon nombre préféré est 5 car c'est le premier.
Analyse du programme
La directive #include <stdio.h> demande au compilateur d'intégrer le contenu du fichier d'en-tête stdio.h, qui fournit les fonctions d'entrée-sortie standard comme printf.
La fonction main() constitue le point d'entrée obligatoire de tout programme C. Le type de retour int indique qu'elle renvoie une valeur entière au système, tandis que void spécifie qu'elle ne reçoit aucun argument.
Les commentaires, délimités par /* */, sont ignorés par le compilateur et servent à documenter le code pour les développeurs.
L'accolade ouvrante { marque le début du corps de la fonction, qui contient les instructions du programme.
L'instruction int valeur; déclare une variable de type entier nommée valeur.
L'affectation valeur = 5; stocke la valeur entière 5 dans cette variable.
Les appels à printf() écrivent du texte sur la console. La séquence d'échappement \n provoque un retour à la ligne.
La spécificateur de format %d indique à printf d'afficher un argument entier, ici la valeur de la variable valeur.
L'instruction return 0; termine l'exécution de main() et renvoie un code de succès au système d'exploitation.
L'accolade fermante } ferme la définition de la fonction.
Structure fondamentale d'un prorgamme C
Un programme C est organisé en une ou plusieurs fonctions, parmi lesquelles main() est impérative. Chaque fonction se compose d'un en-tête et d'un corps.
L'en-tête définit le nom de la fonction, ses types de paramètres et son type de retour. La présence de parenthèses après le nom identifie une fonction ; elles peuvent être vides ou contenir une liste de paramètres.
Le corps, encadré par des accolades, regroupe des déclarations de variables et des instructions d'exécution. La majorité des instructions se terminent par un point-virgule.
Modèle minimaliste :
#include <stdio.h>
int main(void) {
// Déclarations et instructions ici
return 0;
}
Mots-clés réservés du langage C
| auto | break | case | char |
|---|---|---|---|
| const | continue | default | do |
| double | else | enum | extern |
| float | for | goto | if |
| inline | int | long | register |
| restrict | return | short | signed |
| sizeof | static | struct | switch |
| typedef | union | unsigned | void |
| volatile | while | _Alignas | _Alignof |
| _Atomic | _Bool | _Complex | _Generic |
| _Imaginary | _Noreturn | _Static_assert | _Thread_local |
Certains identifiants, comme _Alignas ou _Atomic, ont été ajoutés dans les révisions C99, C11 et C17.