IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
next up previous contents index
Next: Les chaînes de caractères Up: Les bases Previous: Les types de base

Sous-sections

Les constantes

   
Les constantes entières

   
$\bullet$
Syntaxe :
On dispose de 3 notations pour les constantes entières : décimale, octale et hexadécimale.      

Les constantes décimales s'écrivent de la manière usuelle (ex : 372). Les constantes octales doivent commencer par un zéro et ne comporter que des chiffres octaux (ex : 0477). Les constantes hexadécimales doivent commencer par 0x ou 0X et être composées des chiffres de 0 à 9, ainsi que des lettres de a à f sous leur forme majuscule ou minuscule (ex : 0x5a2b, 0X5a2b, 0x5A2B).

Une constante entière peut être suffixée par la lettre u ou U pour indiquer qu'elle doit être interprétée comme étant non signée. Elle peut également être suffixée par la lettre l ou L pour lui donner l'attribut de précision long.

$\bullet$
Sémantique :
Le type d'une constante entière est le premier type, choisi dans une liste de types, permettant de représenter la constante :

forme de la constante liste de types
pas de suffixe, décimal int, long int, unsigned long int
pas de suffixe, octal ou hexadécimal int, unsigned int, long int, unsigned long int
suffixé par u ou U unsigned int, unsigned long int
suffixé par l ou L long int, unsigned long int
suffixé par ( u ou U) et ( l ou L) unsigned long int

Attention

Ces conventions d'écriture des constantes ne respectent pas l'écriture mathématique, puisque 010 devant être interprété en octal, n'est pas égal à 10.

Les constantes caractères

       

$\bullet$
Syntaxe :
Une constante caractère s'écrit entourée du signe '. La règle générale consiste à écrire le caractère entouré du signe ' ; par exemple, la constante caractère correspondant au caractère g s'écrit 'g'.

[$\bullet$] Syntaxe :
Une constante caractère s'écrit entourée du signe '. La règle générale consiste à écrire le caractère entouré du signe ' ; par exemple, la constante caractère correspondant au caractère g s'écrit 'g'.

Les cas particuliers

Les cas particuliers sont traités par une séquence d'échappement introduite par le caractère \.
  • Caractères ne disposant pas de représentation imprimable.

    1.
    On peut les désigner par la notation '\nb'nb est le code en octal du caractère. Exemple :        
    constante caractère sémantique
    '\0' null
    '\12' newline
    '\15' carriage return
    '\33' escape

    2.
    On peut les désigner par la notation '\xnb'nb est le code en hexadécimal du caractère. Exemple :
    constante caractère sémantique
    '\x0A' newline
    '\x0D' return
    '\x1B' escape

    3.
    Certains d'entre eux, utilisés très fréquemment, disposent d'une notation particulière. Il s'agit des caractères suivants :
    constante caractère sémantique
    '\n' new line
    '\t' horizontal tabulation
    '\v' vertical tabulation
    '\b' back space
    '\r' carriage return
    '\f' form feed
    '\a' audible alert

  • Caractères disposant d'une représentation imprimable mais devant être désignés par une séquence d'échappement.
    constante caractère sémantique
    '\'' '
    '\\' \

  • Caractères disposant d'une représentation imprimable et pouvant être désignés soit par une séquence d'échappement soit par eux-mêmes.

    constante caractère sémantique
    '\"' ou '"' "
    '\?' ou '?' ?

[$\bullet$] Sémantique :
Une constante caractère est de type int et a pour valeur le code du caractère dans le codage utilisé par la machine.

Note

Pourquoi diable les deux caractères " et ? disposent ils de deux notations possibles ?
  • Le caractère " peut être représenté par la notation '\"' parce que celle-ci doit être utilisée dans les chaînes de caractères (voir plus loin 1.9). Pour des raisons de symétrie, les concepteurs du langage n'ont pas voulu qu'une notation valable pour une chaînes de caractères ne soit pas valable pour un caractère.

  • Le caractère ? est un cas à part à cause de l'existence des trigraphes. Les trigraphes sont des séquences de trois caractères permettant de désigner les caractères # [ ] \ ^ { } | ~. En effet, les terminaux conformes à la norme ISO 646:1983 ont remplacé ces caractères par des caractères nationaux. Les français, par exemple, connaissent bien le problème des { et des } qui se transforment en é et è.

    La norme ANSI a défini les 9 trigraphes suivants :

    trigraphe sémantique
    ??= #
    ??( [
    ??) ]
    ??/ \
    ??' ^
    ??< {
    ??> }
    ??! |
    ??- ~

   
Les constantes flottantes

$\bullet$
Syntaxe :
La notation utilisée est la notation classique par mantisse et exposant. La mantisse est composée d'une partie entière suivie du signe . (point) suivi de la partie fractionnaire. La partie entière et la partie fractionnaire sont exprimées en décimal et l'une ou l'autre peuvent être omises.    

L'exposant est introduit par la lettre e sous la forme minuscule ou majuscule. L'exposant est un nombre décimal éventuellement signé.

Une constante flottante peut être suffixée par l'une quelconque des lettres f, F, l, L.

$\bullet$
Sémantique :
Une constante non suffixée a le type double. Une constante suffixée par f ou F a le type float. Une constante suffixée par l ou L a le type long double.

La valeur de la constante mantisse e exposant est mantisse $\times 10^{exposant}$.

Si la valeur résultante ne correspond pas au type, la valeur est arrondie vers une valeur supérieure ou inférieure (le choix dépend de l'implémentation).

$\bullet$
Exemples :

notation C notation mathématique
2. 2
.3 0.3
2.3 2.3
2e4 $2 \times 10^4$
2.e4 $2 \times 10^4$
.3e4 $0.3 \times 10^4$
2.3e4 $2.3 \times 10^4$
2.3e-4 $2.3 \times 10^{-4}$


next up previous contents index
Next: Les chaînes de caractères Up: Les bases Previous: Les types de base
Bernard Cassagne
1998-12-09