El
lenguaje C tiene 4 tipos básicos de constantes:
![]() |
Constantes enteras. |
![]() |
Constantes de coma flotante. |
![]() |
Constantes de carácter. |
![]() |
Constantes de cadena de caracteres. |
|
|
|
Consiste en una secuencia de dígitos, estas constantes
se pueden escribir en decimal (base 10), octal (base 8) y hexadecimal (base
16).
Una constante decimal
es
cualquier combinación de números tomados del 0 al 9. Si la
constante tiene 2 o más dígitos, el primero ha de ser distinto
de 0.
NOTA: De las constantes enteras largas diremos que se especifican poniendo una L (mayúscula o minúscula) al final. Ejemplo: 477898856L (decimal larga).
Por último tenemos
las constantes enteras largas y sin signo,
se añade una UL al
final de la constante (en mayúscula o minúscula) en ese orden.
Ejemplo:
0xfffffUL
(hexadecimal larga sin signo).
2) Constantes
de coma flotante:
Es un número en base 10 que contiene
un punto decimal (.) o un exponente (o ambos).
Si existe un exponente, su efecto es
de desplazar la posición del punto decimal a la derecha si el exponente
es positivo, o a la izquierda si es negativo. Si no se incluye punto decimal
en el número, se supone que se encuenttra a la derecha del último
dígito.
La interpretación
de una constante de coma flotante con exponente es la misma que en notación
científica, excepto que sustituimos la base 10 por la letra E (o
e).
Como nos podíamos imaginar la
magnitud de una constante en coma flotante se encuentra dentro de un rango
mucho mayor que el de las constantes enteras, este suele andar entre un
mínimo de 3.4E-38 hasta un máximo de 3.4E+38 (aunque esto
suele variar según versiones).
NOTA: Tener
en cuenta que las costantes enteras son exactas, sin embargo las de coma
flotante son aproximaciones, y puede darse el caso de que la computadora
nos presente por pantalla el resultado 0.5 y su representación en
la memoria sea la de 0.499999999.
Es un solo carácter, encerrado
entre comillas simples.
El carácter puede ser cualquier
representación ASCII o una secuencia especial con la barra invertida
( \ ). Las constantes de caracteres se toman como un valor entero.
Varias constantes de carácter con su valor:
'C' 67 "z" Las comillas (") son un carácter ilegal. 'x' 120 '&' 38
Secuencias
de escape: Ciertos carácteres no imprimibles,
como las comillas dobles ("), el apóstrofo o comilla simple ('),
etc...; se pueden expresar en términos de secuencia de escape.
|
|
|
retroceso (backspace) |
|
avance de página |
|
nueva línea |
|
retorno de carro |
|
tabulador horizontal |
|
comilla doble |
|
comilla simple |
|
nulo |
|
barra invertida |
|
tabulador vertical |
|
alarma |
|
constante octal |
|
constante hexadecimal |
'\n' | '\f' |
|
|
|
4) Constantes
de cadena de carácteres:
Es una secuencia de caracteres encerrada
entre comillas dobles. A las cadenas de caracteres el compilador les añade
un carácter nulo '\0' al final, y las almacena como una matriz de
caracteres.
NOTA:
Como hemos dicho anteriormente el compilador inserta automáticamente
un carácter nulo \0 al final de toda constante de cadena
de caracteres, como el último carácter de ésta. Este
carácter no aparece cuando se visualiza la cadena.
Diferenciar:
|
|
La
primera es una constante de carácter
con su valor entero correspondiente.
La
segunda, en cambio, es una constante de cadena
de un solo carácter, sin valor entero equivalente, constando de
dos caracteres: el carácter especificado, seguido del carácter
nulo \0.
|
3 | 8 |
|
0 |
|
03 | 0654 |
|
Ejemplos incorrectos:
|
No comienza por 0. |
|
Dígito ilegal (8). |
|
Carácter ilegal (.)). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ejemplo 2: "234234-23"
Ejemplo 3: ""
(representa la cadena vacía).
Ejemplo 4: "Línea
1\nLínea 2\nLínea 3"
(ocupa 3 líneas a consecuencia de los
caracteres de nueva línea que se incluyen en ella).
Se mostraría así:
Ejemplo 5: "\tSi
quieres seguir, presiona \"RETURN\"\n"
Se mostraría: