Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Las constantes son aquellos datos que no pueden cambiar a lo largo de la ejecucin de un programa. #include <stdio.h> int main() { int radio, perimetro; radio = 20; perimetro = 2 * 3.1416 * radio; printf( "El permetro es: %i", perimetro return 0; } radio y perimetro son variables, su valor puede cambiar a lo largo del programa. Sin embargo 20, 2 y 3.1416 son constantes, no hay manera de cambiarlas. El valor 3.1416 no cambia a lo largo del programa , ni entre ejecucin y ejecucin. Slo cambiar cuando edites el programa y lo cambies tu mismo. Esto es obvio, y no tiene ningn misterio as que no le des vueltas. Slo quera indicarlo porque en algunos libros le dan muchas vueltas.
[Arriba]
);
int main() { int radio, perimetro; radio = 20; perimetro = 2 * PI * radio; printf( "El permetro es: %i", perimetro return 0; } De esta forma cada vez que el compilador encuentre el nombre PI lo sustituir por 3.1416. A una constante no se le puede dar un valor mientras se ejecuta, no se puede hacer PI = 20;. Slo se le puede dar un valor con #define, y slo una vez. Tampoco podemos usar el scanf para dar valores a una constante: #define CONSTANTE 14 );
int main() { ... scanf( "%i", CONSTANTE ); ... } eso sera como hacer: scanf( "%i", 14 ); Esto es muy grave, estamos diciendo que el valor que escribamos en scanf se almacene en la posicin 14 de la memoria, lo que puede bloquear el ordenador. Las constantes se suelen escribir en maysculas slo se puede definir una constante por fila. No se pone ";" al final. Las constantes nos proporcionan una mejor comprensin del cdigo fuente. Mira el siguiente programa: #include <stdio.h> int main() { int precio; precio = ( 4 * 25 * 100 ) * ( 1.16 ); printf( "El precio total es: %i", precio return 0; } );
Quien entiende lo que quiere decir este programa? Es difcil si no imposible. Hagmoslo de otra forma. #include <stdio.h> #define #define #define #define CAJAS UNIDADES_POR_CAJA PRECIO_POR_UNIDAD IMPUESTOS 4 25 100 1.16
int main() { int precio; precio = ( CAJAS * UNIDADES_POR_CAJA * PRECIO_POR_UNIDAD ) * ( IMPUESTOS ); printf( "El precio total es: %i", precio return 0; } A que ahora se entiende mejor? Claro que s. Los nmeros no tienen mucho significado y si revisamos el programa un tiempo ms tarde ya no nos acordaremos qu cosa era cada nmero. De la segunda forma nos enteraremos al momento. Tambin podemos definir una constante usando el valor de otras. Por supuesto las otras tienen que estar definidas antes: );
#include <stdio.h>
#define CAJAS #define UNIDADES_POR_CAJA #define PRECIO_POR_UNIDAD #define PRECIO_POR_CAJA PRECIO_POR_UNIDAD #define IMPUESTOS 1.16 25 100
UNIDADES_POR_CAJA *
);
return 0; }