Le texte source est composé dun certain nombre de termes séparés par des espaces blancs (ou par rien dans certain cas) ; les tabulations et les sauts de lignes sont considérés comme des blancs en général.
Les termes sont constitués didentificateurs et de symboles. Les identificateurs servent à donner des noms aux variables, types, fonctions, etc. Tout nom ne peut cependant pas être utilisé. Les identificateurs ne peuvent contenir que des lettres (minuscules ou majuscules mais pas de lettre accentuée), des chiffres (0 à 9), ou le caractère spécial de soulignement (_) ; ils ne doivent pas commencer par un chiffre. En particulier, les espaces ne sont pas admis, ils coupent lidentificateur en plusieurs.
Voici quelques exemples didentificateurs :
Salut carre_entier _9 uneChaine var3
Les mots suivants ne sont pas des identificateurs :
Hello! Premier? 7val 9_
De plus, certains identificateurs sont réservés pour des opérations spéciales ; on les appelle des mots réservés, ou mots clés. Leur liste figure en annexe.
En C++, on distingue les mots en majuscules de ceux en minuscules. En conséquence, A
et a
sont deux identificateurs différents. Les mots réservés sont toujours en minuscules.
Les symboles sont les groupes de caractères qui ne sont pas des identificateurs. On y trouve notamment un grand nombre de caractères spéciaux dopérations, qui se lisent individuellement, ou par paire, voire par triple, comme par exemple :
+ * ++ && <<= /* */
On y trouve aussi les constantes numériques (qui commencent par un chiffre), caractères (encadrés dapostrophes), ou chaînes de caractères (encadrées de guillemets) :
999 0x7FF 'A' "Une chaîne.\n"
On notera quil nest pas permis de placer un passage à la ligne au milieu dune chaîne (il faut écrire le caractère spécial \n
). Si la chaîne est trop longue pour tenir sur la ligne courante, on placera le caractère \
à la fin de la ligne et lon continuera sur la suivante :
const chaine[] = "Ceci est une chaîne bien trop \ longue pour tenir sur une seule ligne."
La paire \
+ saut de ligne est alors ignorée par le compilateur.
Il nest pas permis de coller deux identificateurs (cest-à-dire de les écrire sans espace séparateur), car ils ne feraient plus quun. En général, il est tout à fait possible de coller un symbole et un identificateur, ou même deux symboles à condition quil ny ait pas dambiguïté conduisant à la création dun troisième symbole ; ce serait certainement du mauvais style, et peut-être une erreur.
![]() | ![]() | Suivant ![]() |