# Programmation C-C++/Notation des valeurs

Ce livre est en cours de copie depuis le site http://casteyde.christian.free.fr/cpp/cours/online/book1.html qui le fournit sous licence GFDL.
Cours de C/C++ :
| Première approche ||
| | Les commentaires |
| | Les types prédéfinis |
| | Notation des valeurs |
| | La définition des variables |
| | Instructions et opérations |
| | Les fonctions |
| | La fonction main |
| | Entrée / sortie de base |
| | Exemple de programme |
| Livre original de C. Casteyde ||

## Notation des valeurs

Les entiers se notent de la manière suivante :
* base 10 (décimale) : avec les chiffres de '0' à '9', et les signes '+' (facultatif) et '-'.

### Exemple - Notation des entiers en base 10

* base 16 (hexadécimale) : avec les chiffres '0' à '9' et 'A' à 'F' ou a à f (A=a=10, B=b=11, ... F=f=15). Les entiers notés en hexadécimal devront toujours être précédés de « 0x » (qui indique la base). On ne peut pas utiliser le signe '-' avec les nombres hexadécimaux.

### Exemple - Notation des entiers en base 16

* base 8 (octale) : avec les chiffres de '0' à '7'. Les nombres octaux doivent être précédés d'un 0 (qui indique la base). Le signe '-' ne peut pas être utilisé.

### Exemple - Notation des entiers en base 8

Les flottants (pseudo réels) se notent de la manière suivante :
[signe] chiffres [.[chiffres]][e|E [signe] exposant][f]
où signe indique le signe. On emploie les signes '+' (facultatif) et '-' aussi bien pour la mantisse que pour l'exposant. 'e' ou 'E' permet de donner l'exposant du nombre flottant. L'exposant est facultatif. Si on ne donne pas d'exposant, on doit donner des chiffres derrière la virgule avec un point et ces chiffres. Le suffixe 'f' permet de préciser si le nombre est de type float ou non (auquel cas il s'agit d'un double).
Les chiffres après la virgule sont facultatifs, mais pas le point. Si on ne met ni le point, ni la mantisse, le nombre est un entier décimal.

### Exemple - Notation des réels

« 2 » est entier, « 2.f » est réel.
Les caractères se notent entre guillemets simples :
On peut donner un caractère non accessible au clavier en donnant son code en octal, précédé du caractère '\'. Par exemple, le caractère 'A' peut aussi être noté '\101'. Remarquez que cette notation est semblable à la notation des nombres entiers en octal, et que le '0' initial est simplement remplacé par un '\'. Il est aussi possible de noter les caractères avec leur code en hexadécimal, à l'aide de la notation « \xNN », où NN est le code hexadécimal du caractère. Enfin, il existe des séquences d'échappement particulières qui permettent de coder certains caractères spéciaux plus facilement. Les principales séquences d'échappement sont les suivantes :
| '\a' | Bip sonore |
| '\b' | Backspace |
| '\f' | Début de page suivante |
| '\r' | Retour à la ligne (sans saut de ligne) |
| '\n' | Passage à la ligne |
| '\t' | Tabulation |
| '\v' | Tabulation verticale |
D'autres séquences d'échappement sont disponibles, afin de pouvoir représenter les caractères ayant une signification particulière en C :
| '\\' | Le caractère \ |
| '\"' | Le caractère " |
| '\'' | Le caractère ' |
Bien qu'il n'existe pas à proprement parler de chaînes de caractères en C/C++, il est possible de définir des tableaux de caractères constants utilisables en tant que chaînes de caractères en donnant leur contenu entre doubles guillemets :
Les caractères spéciaux peuvent être utilisés directement dans les chaînes de caractères constantes :
Si une chaîne de caractères constante est trop longue pour tenir sur une seule ligne, on peut concaténer plusieurs chaînes en les juxtaposant :
produit la chaîne de caractères complète suivante :
Note : Attention : il ne faut pas mettre de caractère nul dans une chaîne de caractères. Ce caractère est en effet le caractère de terminaison de toute chaîne de caractères.
Enfin, les versions longues des différents types cités précédemment (wchar_t, long int et long double) peuvent être notées en faisant précéder ou suivre la valeur de la lettre 'L'. Cette lettre doit précéder la valeur dans le cas des caractères et des chaînes de caractères et la suivre quand il s'agit des entiers et des flottants. Par exemple :