Les constantes
Une constante est une valeur qui apparaît littéralement dans le code source d'un programme, le type de la
constante étant déterminé par la façon dont la constante est écrite. Les constantes peuvent être de 4 types : entier,
flottant (nombre réel), caractère, énumération. Ces constantes vont être utilisées, par exemple, pour initialiser
une variable.
constante étant déterminé par la façon dont la constante est écrite. Les constantes peuvent être de 4 types : entier,
flottant (nombre réel), caractère, énumération. Ces constantes vont être utilisées, par exemple, pour initialiser
une variable.
1 . Les constantes entières
Une constante entière peut être représentée de 3 manières différentes suivant la base dans laquelle elle est écrite :
décimale : par exemple, 0 et 2437348 sont des constantes entières décimales.
octale : la représentation octale d'un entier correspond à sa décomposition en base 8. Les constantes octales
doivent commencer par un zéro. Par exemple, les représentations octales des entiers 0 et 255 sont
respectivement 00 et 0377.
hexadécimale : la représentation hexadécimale d'un entier correspond à sa décomposition en base 16. Les lettres
de a à f sont utilisées pour représenter les nombres de 10 à 15. Les constantes hexadécimales doivent
commencer par 0x ou 0X. Par exemple, les représentations hexadécimales de 14 et 255 sont respectivement
0xe et 0xff.
On peut spécifier explicitement le format d'une constante entière en la suffixant par u ou U pour indiquer qu'elle
est non signée, ou en la suffixant par l ou L pour indiquer qu'elle est de type long. Par exemple :
Constante type
1234 int
02322 int /* octal */
0x4D2 int /* hexadécimal */
123456789L long
1234U unsigned int
123456789UL unsigned long int
décimale : par exemple, 0 et 2437348 sont des constantes entières décimales.
octale : la représentation octale d'un entier correspond à sa décomposition en base 8. Les constantes octales
doivent commencer par un zéro. Par exemple, les représentations octales des entiers 0 et 255 sont
respectivement 00 et 0377.
hexadécimale : la représentation hexadécimale d'un entier correspond à sa décomposition en base 16. Les lettres
de a à f sont utilisées pour représenter les nombres de 10 à 15. Les constantes hexadécimales doivent
commencer par 0x ou 0X. Par exemple, les représentations hexadécimales de 14 et 255 sont respectivement
0xe et 0xff.
On peut spécifier explicitement le format d'une constante entière en la suffixant par u ou U pour indiquer qu'elle
est non signée, ou en la suffixant par l ou L pour indiquer qu'elle est de type long. Par exemple :
Constante type
1234 int
02322 int /* octal */
0x4D2 int /* hexadécimal */
123456789L long
1234U unsigned int
123456789UL unsigned long int
2 . Les constantes réelles
Les constantes réelles sont représentées par la notation classique par mantisse et exposant. L'exposant est
introduit par la lettre e ou E ; il s'agit d'un nombre décimal éventuellement signé.
Par défaut, une constante réelle est représentée avec le format du type double. On peut cependant influer sur la
représentation interne de la constante en lui ajoutant un des suffixes f (indifféremment F) ou l (indifféremment
L). Les suffixes f et F forcent la représentation de la constante sous forme d'un float, les suffixes l et L forcent la
représentation sous forme d'un long double. Par exemple :
introduit par la lettre e ou E ; il s'agit d'un nombre décimal éventuellement signé.
Par défaut, une constante réelle est représentée avec le format du type double. On peut cependant influer sur la
représentation interne de la constante en lui ajoutant un des suffixes f (indifféremment F) ou l (indifféremment
L). Les suffixes f et F forcent la représentation de la constante sous forme d'un float, les suffixes l et L forcent la
représentation sous forme d'un long double. Par exemple :
3 . Les constantes caractères
Pour désigner un caractère imprimable, il suffit de le mettre entre apostrophes (par ex. 'A' ou '$'). Les seuls
caractères imprimables qu'on ne peut pas représenter de cette façon sont l'antislash et l'apostrophe, qui sont
respectivement désignés par \\ et \'. Le point d'interrogation et les guillemets peuvent aussi être désignés par les notations \? et \". Les caractères non imprimables peuvent être désignés par '\code-octal' où code-octal est le codeen octal du caractère. On peut aussi écrire '\xcode-hexa' où code-hexa est le code en hexadécimal du caractère
(cf. page X). Par exemple, '\33' et '\x1b' désignent le caractère escape. Toutefois, les caractères non-imprimables
les plus fréquents disposent aussi d'une notation plus simple :
"Ceci est une chaîne de caractères"
Une chaîne de caractères peut contenir des caractères non imprimables, désignés par les représentations vues
précédemment. Par exemple,
"ligne 1 \n ligne 2"
A l'intérieur d'une chaîne de caractères, le caractère " doit être désigné par \". Enfin, le caractère \ suivi d'un
passage à la ligne est ignoré. Cela permet de faire tenir de longues chaînes de caractères sur plusieurs lignes. Par
exemple,
"ceci est une longue longue longue longue longue longue longue longue \
chaîne de caractères"
caractères imprimables qu'on ne peut pas représenter de cette façon sont l'antislash et l'apostrophe, qui sont
respectivement désignés par \\ et \'. Le point d'interrogation et les guillemets peuvent aussi être désignés par les notations \? et \". Les caractères non imprimables peuvent être désignés par '\code-octal' où code-octal est le codeen octal du caractère. On peut aussi écrire '\xcode-hexa' où code-hexa est le code en hexadécimal du caractère
(cf. page X). Par exemple, '\33' et '\x1b' désignent le caractère escape. Toutefois, les caractères non-imprimables
les plus fréquents disposent aussi d'une notation plus simple :
4 . Les constantes chaînes de caractères
Une chaîne de caractères est une suite de caractères entourés par des guillemets. Par exemple,"Ceci est une chaîne de caractères"
Une chaîne de caractères peut contenir des caractères non imprimables, désignés par les représentations vues
précédemment. Par exemple,
"ligne 1 \n ligne 2"
A l'intérieur d'une chaîne de caractères, le caractère " doit être désigné par \". Enfin, le caractère \ suivi d'un
passage à la ligne est ignoré. Cela permet de faire tenir de longues chaînes de caractères sur plusieurs lignes. Par
exemple,
"ceci est une longue longue longue longue longue longue longue longue \
chaîne de caractères"

