5. Types élémentaires

• Тype bool
• Тype int
• Тype char
• Type défini par énumération
• Types double, float
• Exemples et tâches

 
 

• Тype int

Le type
int détermine un sous - ensemble des nombres entiers. Il correspond à un entier relatif stocké sur un nombre d'octets qui dépend du système (machine et compilateur) utilisé. En Borland C++ 4.5 par exemple, un int est stocké sur 2 octets /16 bits/. En MS Visual C++ 6.0 un int est stocké sur 4 octets /32 bits/. Cela détermine l’ensemble des entiers qui appartiennent au type int. Par conséquence l’ensemble des valeurs du type int dépend de la machine et du compilateur utilisés.

Une valeur entière en notation décimale s'exprime comme une succession de chiffres décimaux (entre 0 et 9) précédés ou non d'un signe:
27500
-123
+418

En C++, les valeurs entières positives peuvent être écrites encore en système huitième et en systèmes seizième:

012 /8/ c’est le nombre 10 /10/
0XA /16/ - c’est le nombre 10 /10/
0xa /16/ - c’est le nombre 10 /10/

Les modificateurs
short, long, unsigned posés avant le mot-clé int servent à changer l’ensemble des valeurs de type int.

• Тype char

Le type
char représente l'ensemble de tous les caractères /imprimables et non imprimables/ comme:

'0', '1' , '9', 'A' ,'B',*', 'b', 'z' ...
’\n’ – retour a la ligne
‘\0’ – octet zéro,
‘\t’ - tabulation etc.

Les caractères sont ordonnés selon le code ASCII. Chaque caractère est représenté dans le mémoire par un entier /le code ASCII du caractère/.
Les valeurs des caractères imprimables sont représentées dans le programme entre apostrophes.

• Type défini par énumération

Le type défini par énumération détermine un ensemble de données, représentées par identificateurs.
La forme générale d'une définition du type énuméré est la suivante :

enum X nomType{ valeur1, valeur2,…, valeurN };

enum – mot-clé;
nomType - nom du type;
valeur1, ...,valeurN – les valeurs du type.
Les valeurs d'un type énuméré sont représentées dans le mémoire par des entiers. Par défaut, la première valeur de la liste est codée par l'entier 0, la seconde par l'entier 1, etc.
Exemple:
/* si le type bool n'existe pas */
enum bool{false, true}; /* false = 0, true = 1 */

Il est possible de choisir soi-même sa représentation interne en spécifiant les valeurs entières associées (qui doivent être données en ordre strictement croissant) à chaque élément : Exemple:
enum Mouvement{ARRIERE = -1, ARRET = 0, AVANT = 1};

Si l'on affiche une valeur définie par énumération, c'est l'entier correspondant (la représentation interne du symbole) qui sera affiché.
Acquisition d'une valeur de type énumération avec l'opérateur cin n'est pas permis.

• Types double, float

Le type
double correspond aux nombres à virgule flottante en double précision, stockés usuellement sur 8 octets. Il existe également un type float donnant une moins grande précision. Usuellement les variables de type float sont stockées sur 4 octets.
La forme générale des valeurs du type
double et float est :

[signe ± ] [chiffres.][ chiffres ] [ E [signe ± ] chiffres ]

ou bien :
[ signe ± ] .chiffres [ E [signe ±] chiffres ]

Les éléments entre crochets [ ] sont optionnels. Le singe minus est obligatoire.
Exemples :
2.3
-12E6 ( Cette valeur est égale à -12 * 10 6 = -12 000 000 )
+123.456E-4 ( La valeur est égale à 0.0123456 )
.123 - égale à 0,123.