Las constantes son elementos de datos literales escritos en un programa de idioma del usuario. Según los distintos tipos de datos, también hay diferentes tipos de constantes:
Una constante de caracteres consta de un solo carácter o una secuencia de escape entre comillas simples, como
'a'
'='
'\n'
El tipo de constante de carácter es char.
Dependiendo del primer carácter (y posiblemente del segundo), se supone que una constante de entero se expresa en diferentes valores base:
| primero | segundo | constante interpretada como |
| 0 | 1-7 | octal (base 8) |
| 0 | x,X | hexadecimal (base 16) |
| 1-9 | decimal (base 10) |
El tipo de una constante de entero es int.
Ejemplos:
| 16 | decimal |
| 020 | octal |
| 0x10 | hexadecimal |
Una constante real sigue el patrón general
[-]int.frac[e|E[±]exp]
que representa
Puede omitir el entero decimal o la fracción decimal (pero no ambos). Puede omitir el punto decimal o la letra e o E y el exponente de entero con signo (pero no ambos).
El tipo de constante real es real.
Ejemplos:
| Constante | Valor |
|---|---|
| 23,45e6 | 23,45 x 10^6 |
| ,0 | 0,0 |
| 0, | 0,0 |
| 1, | 1,0 |
| -1,23 | -1,23 |
| 2e-5 | 2,0 x 10^-5 |
| 3E+10 | 3,0 x 10^10 |
| ,09E34 | 0,09 x 10^34 |
Una constante de cadena consta de una secuencia de caracteres o secuencias de escape entre comillas dobles, como
"Hello world\n"
El tipo de una constante de cadena es string.
Las constantes de cadena pueden tener cualquier longitud (siempre que haya suficiente memoria libre disponible). Las constantes de cadena se pueden concatenar simplemente escribiendo junto a otras para formar cadenas de caracteres más grandes:
string s = "Hello" " world\n";
También es posible extender una constante de cadena sobre más de una línea mediante el escape del carácter de nueva línea con una barra invertida (\):
string s = "Hello \
world\n";
Una secuencia de escape consta de una barra invertida (\), seguida de uno o más caracteres especiales:
| Secuencia | Valor |
|---|---|
\a |
timbre audible |
\b |
retroceso |
\f |
salto de página |
\n |
línea nueva |
\r |
retorno de carro |
\t |
pestaña horizontal |
\v |
pestaña vertical |
\\ |
barra diagonal inversa |
\' |
comilla simple |
\" |
comillas dobles |
\O |
O = hasta 3 dígitos octales |
\xH |
H = hasta 2 dígitos hexadecimales |
Cualquier carácter que siga a la barra invertida inicial que no se mencione en esta lista se tratará como ese carácter (sin la barra invertida).
Las secuencias de escape se pueden utilizar en constantes de caracteres y constantes de cadena.
Ejemplos:
'\n'
"A tab\tinside a text\n"
"Ring the bell\a\n"