< En avant ! | TutoCFrench | Les variables plus en détail >
Notions :
printf()
, scanf()
Dans la section précédente, nous avons vu un premier programme qui ne fait qu'afficher une phrase à l'écran. Dans cette page, nous allons voir comment le C nous permet de manipuler des valeurs et d'effectuer des calculs simples.
Une variable est un contenant qui stocke une valeur, comme un nombre, un flottant ou un caractère. Une variable peut donc être vue comme une boite qui va stocker une donnée d'un type particulier :
Chaque variable est identifiée par un nom.
Ce nom de la variable doit commencer par une lettre ou bien par le caractère "_
". La suite peut être composée de chiffres, de lettres ou de "_
" (attention, le compilateur fait la distinction entre minuscules et majuscules). Les noms suivants sont possibles :
mavar
ma_var1
, ma_var2
ma_VAr1
(pas très lisible, mais possible)
_o_1
(possible, mais à éviter dans un soucis de lisibilité !)
Chaque variable peut contenir un certain type de donnée. Ce type correspond au format et à la taille de la donnée pouvant être stockée à l'intérieur de la variable. Des types usuels sont :
char
pour un caractère
int
pour stocker un entier
float
pour stocker un nombre décimal
Nous venons de voir qu'une variable a un nom et un type. Mais avant d'être utilisée, une variable doit être déclarée.
Pour déclarer une variable, c'est très simple, il suffit d'écrire son type suivit de son nom. Dans l'exemple ci-dessous, nous déclarons que nous allons utiliser la variable 'age' pour stocker un entier et la variable 'prix' pour stocker un nombre décimal :
Il est aussi possible de déclarer plusieurs variables d'un même type sur la même ligne en les séparant par des virgules :
Une variable doit être déclarée :
On peut initialiser une variable au moment de sa déclaration en lui fournissant une valeur :
Attention, avant d'utiliser le contenu d'une variable, il faut qu'elle ait été initialisée, sinon, le résultat est imprévisible :
Dans l'exemple ci-dessus, la partie à droite de l'opérateur d'affectation =
s'appelle une expression. A l'exécution, cette expression est d'abord évaluée, c'est à dire remplacée par une valeur. Ensuite, la valeur calculée est affectée au membre de gauche.
Remarque : il est tout à fait licite d'écrire :
%
Ce opérateur renvoit le reste de la division entière.
++
Cet opérateur permet d'incrémenter la valeur d'une variable. Ainsi, on peut écrire indifférement :
On note que a++
et ++a
sont équivalent... ou presque !
Une subtilité importante réside dans l'ordre de placement de l'opérateur ++
.
Si il est placé avant la variable, le contenu de la variable est modifié et ensuite le résultat de cette nouvelle affectation est renvoyé. Si l'opérateur est placé après, la valeur de la variable est d'abord renvoyée et ensuite le contenu de celle-ci est modifiée. Ces deux codes sont donc différents :
Pour un code plus clair, l'usage des parenthèses ()
permet de lever toute d'ambiguïté.
--
Cet opérateur s'utilise comme l'incrémentation à la différence que :
La syntaxe :
variable operateur= (expression)
est un racourci de :
variable = (expression) operateur variable
Par exemple, au lieu d'écrire :
On peut écrire :
Un autre racourcis s'appuie sur le fait qu'une affectation est une expression qui renvoie une valeur. Cela permet de réaliser des affectations combinées. Le code suivant est donc tout à fait licite :
Un autre exemple :
La commande printf()
sert à afficher des données. Sa syntaxe est printf("...",e1,e2,...,en)
. Il existe des caractères spéciaux. Les plus utilisés sont :
\n
Début de ligne suivante
\t
Tabulation
\\
Affiche un barre inverse
Les indicateurs de formats les plus utilisés sont :
%c | caractère |
%d | décimal |
%x | hexadécimal |
%X | hexadécimal |
%f | float |
%.2f | float avec deux chiffres après la virgule |
%s | chaîne de caractères |
Exemples :
Autre exemple :
Pour utiliser cette fonction, il faut mettre en en-tête du programme la directive suivante comme nous l'avons déjà vu dans le premier programme simple :
La fonction scanf()
sert à saisir des données et à les stocker des dans des variables. Sa syntaxe est un peu complexe, nous ne la détaillerons pas ici et nous nous contenterons d'exemples.
Pour utiliser cette fonction, il faut :
#include <stdio.h>
scanf("
type",&
nom)
Remarque importante : cette syntaxe n'est pas vraie dans tous les cas mais il manque des notions pour comprendre son fonctionnement exact qui sera abordé au chapitre sur les Entrées / Sorties.
Exemple 1. Pour saisir un entier :
Exemple 2. Pour saisir un décimal :
Voici un programme simple qui utilise des variables :