CENTRO TECNOLÓGICO DE AVANZADA
AREA DE MECATRÓNICA
Código: M06 MICROCONTROLADORES I
Laboratorio: D-19
Duración: 2 Hs INTRODUCCIÓN AL LENGUAJE C
2.8. Constantes
Objetivos
1. Conocer las constantes en C.
En C existen cuatro tipos de constantes:
constantes literales,
constantes definidas,
constantes enumeradas,
constantes declaradas.
Las constantes literales son las más usuales; toman valores tales como 45.3264,
222 o bien ”Introduzca sus datos"que se escriben directamente en el texto del programa.
Las constantes definidas son identificadores que se asocian con valores literales
constantes y que toman determinados nombres.
Las constantes declaradas son como variables: sus valores se almacenan en memo-
ria, pero no se pueden modificar.
Las constantes enumeradas permiten asociar un identificador, tal como Color, con
una secuencia de otros nombres, tales como Azul, Verde, Rojo y Amarillo.
2.8.1. Constantes literales
Las constantes literales o constantes, en general, se clasifican también en cuatro gru-
pos, cada uno de los cuales puede ser de cualquiera de los tipos:
constantes enteras,
constantes caracteres,
constantes de coma flotante,
constantes de cadena.
Constantes enteras
La escritura de constantes enteras requiere seguir unas determinadas reglas:
No utilizar nunca comas ni otros signos de puntuación en números enteros.
123456 en lugar de 123.456
Para forzar un valor al tipo long, terminar con una letra L o l. Por ejemplo,
1024 es un tipo entero (int) 1024L es un tipo largo (long)
Para forzar un valor al tipo unsigned, terminarlo con una letra mayúscula u. Por
ejemplo, 4352U.
Pedro Ramírez pedroramirez22@gmail.com 1
CENTRO TECNOLÓGICO DE AVANZADA
AREA DE MECATRÓNICA
Código: M06 MICROCONTROLADORES I
Laboratorio: D-19
Duración: 2 Hs INTRODUCCIÓN AL LENGUAJE C
Constantes reales
Una constante flotante representa un número real; siempre tienen signo y representan
aproximaciones en lugar de valores exactos.
82.347 .63 83. 47e-4 1.25E7 61.e+4
La notación científica se representa con un exponente positivo o negativo.
2.5E4 equivale a 25000
5.435E-3 equivale a 0.005435
Constantes carácter
Una constante carácter (char) es un carácter del código ASCII encerrado entre após-
trofes.
’A’ ’b’ ’C’
Además de los caracteres ASCII estándar, una constante carácter soporta caracteres
especiales que no se pueden representar utilizando su teclado, como, por ejemplo, los
códigos ASCII altos y las secuencias de escape. Cuadro 2.1.
Código de escape Significado
n nueva línea
r retorno de carro
t tabulación
v tabulación vertical
a alerta (pitido sonoro)
b retroceso de espacio
f avance de página
barra inclinada inversa
’ comilla simple
" comilla doble
? signo de interrogación
Cuadro 2.1: Caracteres secuencias (códigos) de escape.
Constantes cadena
Una constante cadena (también llamada literal cadena o simplemente cadena) es
una secuencia de caracteres encerrados entre dobles comillas. Algunos ejemplos de cons-
tantes de cadena son:
"123"
"12 de octubre 1492"
Pedro Ramírez pedroramirez22@gmail.com 2
CENTRO TECNOLÓGICO DE AVANZADA
AREA DE MECATRÓNICA
Código: M06 MICROCONTROLADORES I
Laboratorio: D-19
Duración: 2 Hs INTRODUCCIÓN AL LENGUAJE C
Constantes definidas (simbólicas)
Las constantes pueden recibir nombres simbólicos mediante la directiva #define.
#define NUEVALINEA n
#define PI 3.141592
#define VALOR 54
C sustituye los valores n, 3.141592 y 54 cuando se encuentra las constantes simbólicas
NUEVALINEA, PI y VALOR. Las líneas anteriores no son sentencias y, por ello, no terminan
en punto y coma.
printf("El valor es %dNUEVALINEA", VALOR);
Escribe en pantalla la constante VALOR. Realmente, el compilador lo que hace es
sustituir en el programa todas las ocurrencias de VALOR por 54 , antes de analizar sintác-
ticamente el programa fuente.
Constantes enumeradas
Las constantes enumeradas permiten crear listas de elementos afines. Un ejemplo
típico es una constante enumerada de lista de colores, que se puede declarar como:
enum Colores{Rojo, Naranja, Amarillo, Verde, Azul, Violeta};
Cuando se procesa esta sentencia, el compilador asigna un valor que comienza en 0 a cada
elemento enumerado; así, Rojo equivale a 0, Naranja es 1, etc. El compilador enumera
los identificadores por usted. Después de declarar un tipo de dato enumerado, se pueden
crear variables de ese tipo, como con cualquier otro tipo de datos. Así, por ejemplo, se
puede definir una variable de tipo enum colores.
enum Colores Colorfavorito = Verde;
Otro ejemplo puede ser:
enum Boolean{False, True};
que asignará al elemento False el valor 0 y a True el valor 1.
Para crear una variable de tipo lógico declarar:
enum Boolean Interruptor = True;
Es posible asignar valores distintos de los que les corresponde en su secuencia natural
enum LucesTrafico {Verde, Amarillo=10, Rojo};
Al procesar esta sentencia, el compilador asigna el valor 0 al identificador Verde, 10 al
identificador Amarillo y 11 a Rojo.
Pedro Ramírez pedroramirez22@gmail.com 3
CENTRO TECNOLÓGICO DE AVANZADA
AREA DE MECATRÓNICA
Código: M06 MICROCONTROLADORES I
Laboratorio: D-19
Duración: 2 Hs INTRODUCCIÓN AL LENGUAJE C
Constantes declaradas const
El cualificador const permite dar nombres simbólicos a constantes. El formato general
para crear una constante es:
const <tipo> <nombre> = <valor>;
Si se omite tipo, C utiliza int (entero por defecto)
const int Meses=12; /* Meses es constante simbólica de valor 12*/
const char CARACTER=’@’;
C soporta el calificador de tipo variable const. Especifica que el valor de una variable
no se puede modificar durante el programa. Cualquier intento de modificar el valor de la
variable definida con const producirá un mensaje de error.
const int semana = 7;
Diferencias entre const y #define
Las definiciones const especifican tipos de datos, terminan con puntos y coma y
se inicializan como las variables. La directiva #define no especifica tipos de datos, no
utilizan el operador de asignación (=) y no termina con punto y coma.
Pedro Ramírez pedroramirez22@gmail.com 4