Las constantes son un pilar fundamental en el mundo de la programación, especialmente en lenguajes como C, donde nos permiten asignar valores que se mantendrán inmutables a lo largo de nuestro código. A diferencia de las variables, que representan espacios en la memoria que podemos manipular, las constantes conservan su valor, una vez definidas, durante toda la ejecución del programa.
¿Qué son exactamente las constantes?
Las constantes, también conocidas como literales, son esos valores que establecemos para que permanezcan fijos en el código. Por su naturaleza invariable, son una herramienta esencial a la hora de definir valores que sabemos que no deberán alterarse, proporcionando claridad y reduciendo la posibilidad de errores.
¿Todos los tipos de datos pueden ser constantes?
Sí, en C puedes establecer constantes para cualquier tipo de dato que hayas aprendido. Esto incluye:
Enteros (int)
Flotantes (float)
Caracteres (char)
Cadenas de caracteres o string literals
Es importante recordar que, aunque el tipo de datos string como tal no existe en C como en otros lenguajes, se maneja a través de arrays de caracteres.
¿Cómo se declara una constante?
Para declarar una constante en C, se utiliza la palabra reservada const seguida del tipo de dato y el nombre de la constante. Por ejemplo:
const int enteroConstante;
const float flotanteConstante;
const char charConstante;
¿Qué se puede almacenar en una constante?
Veamos algunos ejemplos prácticos:
Constante entera: Utilizada para números o combinaciones de números y caracteres que no cambiarán. Por ejemplo, const int costoHotDog = 100;.
Constante flotante: Sirve para valores numéricos con decimales fijos. Por ejemplo, const float totalBill = 100.58;.
Constante de caracteres: Guarda caracteres individuales o combinaciones especiales como el salto de línea '\n'. Por ejemplo, const char newLine = '\n';.
¿Qué es un string literal en C?
Un string literal es una secuencia de caracteres entre comillas dobles que se almacena como un array de caracteres. Por ejemplo:
printf("Es de humanos errar");
Este array incluye todos los caracteres, espacios en blanco y finaliza con un carácter nulo (null), que indica el término de la cadena.
¿Qué consejos adicionales se deben considerar al trabajar con constantes?
Es recomendable usar constantes para mejorar la legibilidad del código y evitar "números mágicos" o valores sin explicación. Asimismo, en la próxima clase, aprenderemos sobre el preprocesador #define, una herramienta que complementa el uso de constantes y potencia la programación en C.
Las constantes en C te ofrecen una estructura sólida para la creación de programas eficientes y comprensibles. A medida que avanzas en tu aprendizaje, descubrirás su relevancia y las mejores prácticas para integrarlas en tus desarrollos. ¡Continúa explorando y aplicando estos conceptos para convertirte en un experto programador en C!
A pesar de que el concepto de constante es bastante explícito para nosotros los humanos, en la clase no queda muy claro como C interpreta una constante
Como su nombre lo indica, una constante es un valor que no va a cambiar durante toda la ejecución del programa. Al igual que una variable, una constante reserva una cantidad de memoria (que dependen del tipo de dato que almacena), y le asigna un valor, el cual será considerado en adelante como una variable de sólo lectura. Es decir, solo podremos acceder a esa posición de memoria a recuperar el valor que contiene , pero no tenemos la posibilidad de modificar dicho valor
De hecho, si intentamos reasignar un valor definido previamente en una constante, el compilador nos arrojará un error.
Vale, gracias.
¡Muchas gracias!
Si ingresas %c te imprime el valor en cáracter del código ASCII de tu número :)
#include <stdio.h>const char letra =77;int main(){printf("Hola, %d tiene un valor de %c en codigo ASCII", letra);}
PSC:\Users\duver\Desktop> cd "c:\Users\duver\Desktop"PSC:\Users\duver\Desktop> cmd /c .\"constantes.exe"Hola,77 tiene un valor de p en codigo ASCIIPSC:\Users\duver\Desktop>
buen dato
Me gusto este grado de curiosidad en el codigo! <3
Existen diferentes tipos de constantes:
constantes literales
// Ejemplo de constantes literales enteras1231024L // entero long4352U // entero unsigned0xFF3A// hexadecimal// Ejemplos de constantes literales reales82.3472.5E45.432E-3// Ejemplos de constantes literales caracter'A''b''c'// Ejemplos de constantes literales de cadena"Esta es una cadena"
const int MONTH=12;const char CAR='@';const char STRING[]="Programming in C"
Okey, gracias.
Hermoso resumen
Las constantes se pueden usar para evitar los magic numbers los cuales son:
A magic number is a numeric literal that is used in the code without any explanation of its meaning. The use of magic numbers makes programs less readable and hence more difficult to maintain and update.
Ver explicación
Esa es creo el mejor caso de uso
Por ejemplo...
int salary =20000* workedhours;// what is the meaning of 20000?
El número 20000 en ese ejemplo nunca cambia y sirve para calcular el salario pero no tiene ningún significado evidente. A esto le llaman magic number. Con el uso de constantes se le puede definir un nombre para que el código sea más legible.
// definition of a constant SALARY_PER_HOURfinal int SALARY_PER_HOUR =20000;...// now it is clear what SALARY_PER_HOUR meansint salary = SALARY_PER_HOUR * workedhours;
Ahora se sabe que ese número representa lo que se le paga al trabajador por cada hora. Además de ser más legible esto hace que sea más sencillo de modificar su valor a futuro.
Para hacer un repaso de el array(arreglo):
Así se ve : char arreglo [] = {"Ayer"}
Como lo es: char arrelo [] = {"A","y","e",r","/0"}
Si estoy equivocado, háganmelo saber, compañeros.
Hola, alguien me podria hacer el favor de decir porque cuando imprimo el caracter char solo me imprime la letra e. Esto es lo que me imprime
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
My Monitor is: e
↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
#include <stdio.h>const int money =9000;const float gravity =9.8;const char computer ='Alienware';int main(){printf("My Monitor is: %c", computer);return0;}
Hola Stevenm15: no se si copiaste mal tu código pero estaban mal algunos espacios, pero en cuanto tu duda solamente te mostraba la e por que es el último carácter que se imprime y tu solamente reservabas memoria para un caracter, es decir, si cambias la última e de "Alienware" por "Alienwart" te imprimiré a la "t" . La solución es Cambiar %c por %s y en frente de tu constante agregar los corchetes: [ ] .
Se recomienda por convención usar mayúsculas para declarar tus constantes así como te lo puse en MONEY y GRAVITY pero computer te lo deje así para que vieras que igual funciona.
#include<stdio.h>const int MONEY=9000;const float GRAVITY=9.8;const char computer[]="ALienware";int main(){printf("My Monitor is: %s", computer);return0;}
Oh es decir que para declarar una palabra en C se tiene que hacer con los corchetes. oh ya entiendo muchisimas gracias amigo
¿Por qué se puede guardar una palabra en una variable enterea? Se supone que sólo se pueden guardar números.
En realidad estás almacenando números, pero con más pasos:
Characters
Una variable char es una variable que se puede interpretar como un número (por ejemplo, 65) o como un caracter ASCII (en el caso de 65, el caracter A). Puedes mirar esta tabla para obtener la correspondencia entre números y caracteres.
Strings
Entonces puedes tener una lista de caracteres, también llamada string. Una lista se define como
char lista[]={72,111,108,97,0};
Pero como los chars se pueden interpretar como letras, podemos ver esa misma lista como
// El 0 al final es para indicar que hemos terminado la stringchar lista[]={'H','o','l','a',0};
Y C tiene una sintáxis para escribir esto:
char lista[]="Hola";
La línea const char newLine = '\n' ni si quiera es una lista de caracteres, es un caracter individual. Si lo miramos en la tabla corresponde a "new line" o "LF", que no es más que 10.
Sí, estamos almacenando números, pero interpretándolos como letras.
La declaración de constantes es una técnica de programación que permite asignar un valor fijo a una variable y garantizar que su valor no cambiará durante la ejecución del programa. En otras palabras, una constante es una variable que no varía.
En C, se declaran constantes utilizando la palabra clave const seguida del tipo de dato y el nombre de la constante. Por ejemplo, para declarar una constante de tipo entero llamada TAM_MAX con un valor de 100, podemos escribir lo siguiente:
const int TAM_MAX=100;
También es posible definir constantes utilizando el preprocesador #define. Por ejemplo, para definir una constante llamada PI con un valor de 3.14159, podemos escribir lo siguiente:
#define PI3.14159
Ambas formas son válidas y se utilizan comúnmente en la programación en C.
me esta gustando c :3
x2 :3
Super
Las constantes son valores que no van a cambiar en el código, q diferencia de las variables, las cuáles se van a estar actualizando en el tiempo.
Hay valores conocidos como constantes literales, los cuales no van a cambiar, pero se les debe dar un tipo de dato como (Entero, flotante, carácter o string)
Un string es lo que se puede colocar dentro de dos comillas dobles "Hola"
Hay combinaciones que se pueden hacer con números y l o u:
100U o 100u --> indica que es unsigned
100L o 100l --> Indica que es long
Tratar de trabajar con números para constantes enteras.
Se pueden usar los tipos de datos flotantes siempre y cuando se indiqué.
El salto de línea en C se usa para definir que todo lo que se escriba hasta cierto punto pase a un nuevo renglón.
"Es de humanos errar"const int costHotDog =100;const float totalBill =100.58;const char NewLine='\n'```
Buena clase
Sigamos!
Sigamos
Si no entendiste lo que es Constantes aqui les dejo una explicacion muy explicado:)
las constantes son una especie de "solo lectura" en el lenguaje C :)
Se recomienda que las contantes a diferncia de las variables inicien con mayusculas. O siguan la estructura UpperCamelCase.
Sufijos: Que nos sirven para indicar que es u para unsigned o l para long. Puede ser en mayuscula o minuscula.
Una constante muy comun es el valor de PI de un circulo.
const float Pi=3.14
String o cadena
C lo almancena intenramente como una estrutura de datos (array/arreglo).
Donde cada caracter se alamacena en memoria. Incluso los espacios en blanco. Y al final un Null.
Contantes: Valores que no van a cambiar durante la ejecución del código.