Comme dans tous les langages de programmation, le C utilise des variables. Les variables peuvent contenir des entiers, des réels, du texte .... Contrairement aux constantes, le contenu des variables est amené à changer au cours de l'exécution d'un programme :
Le C est un langage typé, c'est-à-dire que chaque variable est définie pour un type donné (entier, réel, texte...) :
Voici un exemple d'un langage non typé (Python) qui crée une variable A
et affiche sa valeur :
# La variable A n'est pas déclarée avant sa première utilisation
A = 5
# Affiche la variable A
print (A)
Considérons maintenant le même exemple en C. On constate ici que le type de la variable (int
)
est précisé au moment de sa déclaration :
// Déclaration de la variable et spécification du type (int = entier)
int A = 5;
// Affichage de la variable A
printf("%d\n", A);
Le typage des variable peut sembler contraignant pour le développeur. Mais il présente l'avantage de minimiser l'allocation mémoire et de maximiser les performances. La très grande majorité des systèmes industriels critiques, embarqués ou temps-réels sont programmés en C.
En C, on peut distinguer 4 classes de types de variables :
int
) qui servent à mémoriser des nombres entiers : 0, 1, 25, -1024 ...float
) qui servent à mémoriser des nombres réels : 0.2 , 15.5, -3.1415 ...char
) qui servent à mémoriser des caractères alpha-numérique : A, B, C ... Z, 0, 1, 2 ...9, ?, /, %, # ...char*
) qui servent à mémoriser du texte : Ceci est un message à caractère informatif.En C, il y a un vocabulaire précis pour l'utilisation des variables. Pour être sûr d'être compris, veillez à vous familiariser avec :
La déclaration d'une variable correspond à la ligne où le type est associé à la variable :
// On déclare une variable de type entier
int A;
L'affectation d'une variable correspond au moment où l'on précise le contenu de la variable :
Affectation de la variable A
A = 5;
Il est courant de réaliser la déclaration et l'affectation d'une variable en une seule ligne :
int A = 5;
Afin que le compilateur puisse distinguer le nom des variables du reste du code, il existe des restrictions sur le nommage des variables :
a à z et A à Z
).0 à 9
)._
).main
, return
, int
...).capteur_pression
, largeur_ecran
, nb_joueurs
... ).Voici quelques exemples de noms de variables syntaxiquement correctes :
int a;
int Z;
int Truc;
int _macHIN
int Bidule_49
Complétez le code suivant avec :
Var
de type entier (int
) ;#include <stdio.h>
int main(void) {
// Déclaration de la variable Var de type entier
// COMPLETER ICI
// Affectation de la valeur 128 à Var
// COMPLETER ICI
// Affichage du contenu de Var
printf ("La variable contient %d\n", Var);
return 0;
}
Modifier le programme précédent pour que la déclaration et l'affectation se fassent sur la même ligne.
Quels sont les types de variables valides en C ?
Quel type permet de définir des nombres entiers ?
Quel type permet de définir des nombres à virgule ?
Qu'est-ce que la déclaration d'une variable ?
Quels noms de variables sont correctes ?