Une variable permet de désigner un emplacement de stockage dans la mémoire.
Une variable comporte toujours un identifiant unique.
C’est le nom de la variable
L’emplacement de stockage peut avoir une taille variable selon la donnée à stocker
En pseudo-code la notation utilisée pour l’affectation est la suivante:
nom <- valeur
ou
nom <-- valeur
largeur <- 10
reponse <- "o"
Affecter une valeur à une variable consiste à placer une valeur dans son emplacement mémoire
la_reponse <- 42
Affecter une valeur à une variable déjà affecter remplace sa valeur
la_reponse <- 14
L’ordinateur ne garde aucune trace de la valeur précédente
Selon le langage la variable peut être typée:
Un langage est fortement typé si:
Exemple: assigner un entier dans une variable de type flottant
Exemple: une variable de type entier long (codé sur 64 bits) reçoit de type entier court (codé sur 16 bits)
Dans de nombreux langages, les variables doivent être déclarées
Dans certains langages, cette déclaration est facultative
Elle est alors recommandée (si c’est possible)
type: identifiant1, identifiant2, ...
<type> identifiant1, identifiant2 ;
Par convention, les éléments mentionnés entre chevrons sont à remplacer par une chaîne valide (pour le compilateur):
Ici, <type> doit être remplacé (par exemple) par
int ou char ou tout autre type
valide.
int entier1, x, y;
float racine ;Choisir un identifiant se fait selon les règles suivantes:
Selon les langages, les règles peuvent varier
Pour simplifier, nous utiliserons les règles ci-dessous (pour le langage C)
Aucun caractère accentué n’est toléré (cela peut générer des problèmes à l’exécution)
Le premier caractère peut être soit :
Les caractères autorisés sont:
_Les règles précédentes sont applicables pour tous les identifiants:
int main () {
int entier1, x, y;
float racine ;
char lettre;
return 0;
}
VARIABLES
ENTIER entier1, x, y
FLOTTANT racine
CARACTERE lettre
Note: pour le détail concernant les règles du pseudo-code, voir cette page
Créer un programme C nommé declaration.c
Déclarer les variables suivantes:
Compiler le programme
Rappel
Pour compiler le programme, utiliser la commande suivante:
gcc -o declaration declaration.cAvez-vous vérifié qu’aucun des identifiants choisis ne comporte les caractères suivants:
éèà (espace)Exemples:
char reponse_a_donner ;Une fois le programme terminé, l’enregistrer dans l’historique
git
En C (et dans de nombreux langages):
=Il est équivalent au symbole <- ou ←
utilisé en pseudo-code
Le signe égal = ne signifie pas “est
égal à” mais “prend la valeur:”
En C, la vérification d’une condition d’égalité se fait avec un
opérateur différent: ==
Cela peut différer d’un langage à un autre
entier1 = 0;
x = 2;
lettre = 'e';Copier le programme declaration.c dans
affectation.c
Modifier ce programme pour affecter les valeurs suivantes:
o pour la “réponse à donner”Pour la valeur flottant, il faut remplacer la virgule ,
par un point . (notation anglo-saxonne des nombres à
virgule)
Pour le caractère, seul un caractère placé entre simple
quote est valide. Exemple: 'u'
En C (et de nombreux autres langages), il est possible de déclarer un variable en lui affectant une valeur initiale.
int longueur = 14;Équivalent à :
int longueur;
longueur = 14;Ceci est strictement équivalent la succession :
L’affichage se fait en appelant une procédure permettant l’affichage sur l’écran:
AFFICHEECRIREAFFICHERAFFICHER("La longueur est ", longueur)
Ceci affichera:
La longueur est 14
L’instruction printf est la fonction dédiée.
Pour pouvoir utiliser la fonction printf il faut
rajouter dans l’entête du code l’instruction suivante:
#include <stdio.h>
Cela permet au compilateur de charger une librairie contenant les
instructions d’entrée sortie (io désigne ici
Input Output).
printfLa fonction printf nécessiterait un chapitre complet
pour illustrer toutes ses possibilités.
Pour simplifier, ce guide donnera les syntaxes nécessaires pour les exercices au fur-et-à-mesure.
printfprintf("entier1 vaut %d.\n", entier1);%d indique que l’entier sera affiché en base 10\n ajoute un retour à la ligne à la fin de la chaîne
affichéeprintfprintf("racine vaut %f.\n", racine);%f indique que la variable racine sera
affiché en virgule flottante.printfprintf("lettre vaut %c.\n", lettre);%c indique que la variable lettre sera
affiché comme un caractèreint x, y;
x = 2;
y = 3;
printf("x vaut %d et y vaut %d.\n", x, y);Produira l’affichage:
x vaut 2 et y vaut 3.
Copier le programme affectation.c dans
affiche.c
Pour compiler ce programme, ajouter l’option -Wall:
gcc -o affiche -Wall affiche.cCeci a pour effet d’afficher de nombreux avertissements.
L’objectif de l’exercice est double:
Afficher les variables déclarées et affectées précédemment :
oLa sortie du programme devra être strictement identique à l’affichage ci-dessous:
hauteur: 2.8
épaisseur: 12
réponse à donner: o
Déclarer les variables suivantes:
Et leur affecter les valeurs suivantes (respectivement):
Afficher le contenu des variables sous la forme :
nom=valeur
Déclarer les variables suivantes:
Et leur affecter les valeurs suivantes (respectivement):
Afficher le contenu des variables sous la forme :
nom: valeur
Déclarer les variables suivantes:
Et leur affecter les valeurs suivantes (respectivement):
nom: 'valeur'
bonJOUR
char /
intLe langage C est souple quant à l’affichage des variables.
Ainsi, si vous choisissez d’afficher un char en tant
qu’entier, il vous le permettra:
char lettre = 'e';
printf("lettre vaut %c.\n", lettre);
printf("lettre vaut (entier) %d.\n", lettre);De ce point de vue, le C est dit faiblement typé.
Déclarer les variables suivantes:
Et leur affecter les valeurs suivantes (respectivement):
nom: 'valeur' valeur_entière
lettre_c - lettre_Clettre_o - lettre_OExaminer la table ASCII donnée ici et vérifier si cette valeur est logique.
Utiliser la table ASCII pour affecter les valeurs suivantes à de nouvelles variables:
Que se passe-t-il ? Est-ce normal ?