(C++)Variables. Formats de sortie


Variables

Un ordinateur ne serait pas nécessaire s'il n'avait pas la capacité de stocker diverses informations dans sa mémoire et de pouvoir traiter le même type d'informations en utilisant les mêmes algorithmes.Afin de créer des programmes plus intéressants, il faut apprendre à stocker des informations dans la mémoire de l'ordinateur. En même temps, nous devons apprendre à accéder d'une manière ou d'une autre aux cellules de mémoire de l'ordinateur. 
En programmation, comme dans la vie, pour faire référence à n'importe quelle partie de la mémoire de l'ordinateur, cela se produit par son nom. En utilisant ce nom, vous pouvez à la fois lire des informations et les y écrire.
 
Une variable est un emplacement dans la mémoire de l'ordinateur qui porte un nom et stocke une valeur correspondant au type .

Le mot "variable" nous indique que sa valeur peut changer pendant l'exécution du programme.  Lorsqu'une nouvelle valeur de variable est enregistrée, l'ancienne est effacée.


Pour un ordinateur, toutes les informations sont des données dans sa mémoire - des ensembles de zéros et de uns (pour le dire simplement, toute information dans un ordinateur n'est que des nombres, et il les traite de la même manière). Cependant, nous savons que les nombres entiers et les nombres fractionnaires fonctionnent différemment. Par conséquent, chaque langage de programmation possède différents types de données, qui sont traitées à l'aide de différentes méthodes.

Par exemple,
entier variables – tapez int (de l'anglais integer – integer), occupe 4 octets en mémoire ;
- Variables réelles qui peuvent avoir une partie fractionnaire (type float – de l'anglais floating point – flottant) , occupe 4 octets en mémoire, ou tapez double, qui occupe 8 octets ;
caractères (type char – de l'anglais character – caractère), occupe 1 octet en mémoire.

Essayons d'ajouter une variable à notre programme.
Avant d'utiliser une variable, vous devez dire à l'ordinateur de lui allouer de l'espace en mémoire. Pour cela, la variable doit être déclarée, c'est-à-dire préciser quel type de valeur elle va stocker, et lui donner un nom.
Vous pouvez également lui attribuer des valeurs initiales si nécessaire. 

Exemple
Désassemblez le programme. #include <iosrstream> en utilisant l'espace de noms std ; principal(){ entier a = 6, b ; // a déclaré deux variables de type entier, // la valeur 6 a été immédiatement enregistrée dans la variable à. // La variable b n'a pas été mise à une valeur initiale, // ce qui sera en mémoire dans ce cas, nous ne le savons pas. }

Calculatrice


Essayons d'écrire une calculatrice simple.
Notre tâche est d'afficher une expression arithmétique sur l'écran et de la faire calculer par l'ordinateur.
Par exemple : 
5+7=12
De plus, au lieu de 5 et 7 il peut y avoir des nombres différents selon les valeurs des variables a et b dans le programme.

Dans l'instruction de sortie, vous pouvez afficher non seulement du texte, mais également les valeurs des variables, ainsi que le résultat d'une expression arithmétique. De plus, la séquence de sortie peut être différente. Par exemple, pour afficher l'expression ci-dessus, vous devez l'écrire comme ceci : cout << un << "+" << b << "=" << a+b;
Si nous voulons afficher la valeur d'une variable, il nous suffit de spécifier son nom sans guillemets. Si nous voulons afficher le résultat d'une expression arithmétique, il suffit alors d'écrire correctement l'expression arithmétique.
 
Ne pas oublier !
Les variables, le texte et les expressions arithmétiques sont séparés les uns des autres par <<.
 
*** Approfondissement : Différences C***
Dans la chaîne de format, le nombre de spécificateurs de sortie n'est pas limité, l'essentiel pour chaque spécificateur après la chaîne de format est de lister toutes les valeurs séparées par des virgules, qui seront substituées au modèle.
Par exemple: printf("%d+%d=%d",a,b,a+b);
La chaîne de format contient trois spécificateurs de format de sortie (%d).
Spécificateur de format - séquence formée par le signe de pourcentage initial (%), qui est utilisé pour spécifier le type et le format des données.

Le spécificateur %d indique que les valeurs entières doivent être générées.  L'ordre de substitution est direct.  Ceux. au lieu du premier modèle %d, la valeur de la variable a sera affichée, au lieu du second - la valeur de la variable b, et  au lieu du troisième - la valeur de l'expression a+b.

Saisir des valeurs de variables

Pour que l'utilisateur puisse définir lui-même la valeur de la variable, il est nécessaire de pouvoir saisir des valeurs à partir du clavier. 
L'instruction d'entrée s'écrit comme suit : cin>> un; Après cette instruction, les données saisies au clavier sont stockées dans une certaine variable.
Vous pouvez également combiner plusieurs instructions cin en une seule.

Par exemple, l'entrée : cin>> un; cin>> b; effectue les mêmes actions que l'écriture : cin>> un>> b; c'est-à-dire que la première donnée saisie est saisie dans la variable a, la seconde dans la variable b.
 
***Matériel détaillé***
Pour saisir des données depuis le clavier en langage C, on utilise l'opérateur de saisie qui a en général la structure suivante : scanf("format d'entrée", <adresses variables>);

Format d'entrée – est une chaîne entre guillemets qui répertorie un ou plusieurs spécificateurs de format.

Par exemple, les plus couramment utilisés : %d - entrée entière (variable de type int) ; %f - saisie d'un nombre réel (variable de type float) ;< / pré> %c - Saisie d'un seul caractère (variable de type char). Par exemple: scanf("%d%d", &a, &b); Cet opérateur demande les valeurs de deux variables entières au clavier. Le premier chiffre entré au clavier ira dans la variable  a, le second dans la variable  b.
 
Après le format d'entrée, les noms des variables sont répertoriés, séparés par des virgules, avec une icône d'adresse (&), où les valeurs saisies doivent être stockées. Les valeurs des variables sont toujours saisies en précisant l'adresse de cette variable. Par conséquent, avant le nom de la variable, vous devez mettre une esperluette : &a - adresse de la variable a.
Ne pas oublier !
Le nombre de formats d'entrée  et le nombre de variables doivent correspondre !
 

Largeur et précision du champ de sortie
*** Matériel approfondi : pour ceux qui s'intéressent au langage C ***
Des spécificateurs de sortie supplémentaires vous permettent de contrôler la sortie des nombres dans certains formats.


Largeur de champ minimale

Exemple :
%04d  ; - le numéro sera affiché sur 4 positions, s'il y a moins de quatre chiffres, alors les premiers seront des zéros. entier a=34 ; printf("%04d",a); //à l'écran :0 0 3 4  ;   Le trait de soulignement est placé ici spécifiquement pour l'affichage visuel de la sortie du nombre.   

%4d – le même, seulement au lieu de zéros, il y aura des espaces entier a=34 ; printf("%4d",a); //à l'écran : _ _ 3 4


Sortie avec une certaine précision

La sortie avec une certaine précision est utilisée pour sortir des nombres réels. Par défaut, les nombres réels sont affichés avec une précision allant jusqu'à 6 décimales. Mais il y a des moments où vous devez afficher un nombre avec une précision différente. Dans ce cas, vous devez spécifier le nombre de places de familiarité à allouer au numéro lui-même et le nombre après la virgule.
Par exemple,
%9.3f   ; - un nombre réel sera affiché en 9 positions (y compris la position sous le point), avec trois caractères après le point (le séparateur entre l'entier et la partie fractionnaire est le point). un double = 34,24356 ; printf("%9.3f",a); // à l'écran : _ _ _ 3 2 . 2 4 4

Afficher la valeur d'une variable à l'écran. Spécificateurs de sortie *** Matériel approfondi ***
Comment afficher la valeur d'une variable à l'écran ?
Pour ce faire, à l'intérieur de la chaîne de format dans l'instruction de sortie, vous devez spécifier un template, à la place duquel la valeur de la variable sera affichée.
Le modèle à utiliser dépend du type de variable. 
Ces modèles sont appelés spécificateurs de sortie et sont présentés dans le tableau. Un nombre suffisant de spécificateurs sont donnés. Il n'est pas nécessaire de tous les mémoriser. 
Dans la plupart des cas, nous utiliserons des spécificateurs pour générer des entiers, des nombres réels, ainsi que des caractères et des chaînes. Mais vous pouvez revenir à cette leçon à tout moment et voir le modèle dont vous avez besoin.
 
Code Formater
%c Symbole
%d Entier décimal signé
%i Entier décimal signé
%e Format scientifique (e minuscule)
%E Format scientifique (E majuscule)
%f Flotteur réel
%g Selon le format le plus court, %e ou %f est utilisé
%G Selon le format le plus court, %E ou %f est utilisé
%o Octal signé
%s Chaîne de caractères
%u Entier décimal non signé
%x Numéro hexadécimal non signé (minuscule)
%X Numéro hexadécimal non signé (majuscule)
%p Index
%n Pointeur vers une variable entière. Le spécificateur fait que cette variable entière se voit attribuer le nombre de caractères imprimés avant elle
%% Signe %                           

Pour afficher des variables comme short int  le modificateur h est utilisé (par exemple, %hd).
Pour afficher les valeurs des variables de type long int, utilisez le modificateur l (par exemple, %ld).
Le modificateur L peut être utilisé comme préfixe avant les spécificateurs e, f, g. Cela signifie qu'une valeur de type double long  est affichée à l'écran. (par exemple %Lf).