Las variables son un espacio de memoria al que nosotros asignamos un nombre y en el que podremos almacenar datos.
El primer ejemplo nos permitía escribir "Hola". El segundo nos permitía sumar dos números que habíamos prefijado en nuestro programa. Pero esto tampoco es "lo habitual", sino que esos números dependerán de valores que haya tecleado el usuario o de cálculos anteriores.
Por eso necesitaremos usar variables, en las que guardemos los datos con los que vamos a trabajar y también los resultados temporales. Vamos a ver como ejemplo lo que haríamos para sumar dos números enteros que fijásemos en el programa.
Para usar una cierta variable primero hay que declararla: indicar su nombre y el tipo de datos que querremos guardar.
El primer tipo de datos que usaremos serán números enteros (sin cifras decimales), que se indican con "int" (abreviatura del inglés "integer"). Después de esta palabra se indica el nombre que tendrá la variable:
int primerNumero;
Esa orden reserva espacio para almacenar un número entero, que podrá tomar distintos valores, y al que nos referiremos con el nombre "primerNumero".
Si vamos a usar dos o más números enteros, podemos declararlos en la misma línea:
int primerNumero, segundoNumero;
Ejercicio propuesto 1.7.1.1: Crea un programa que declare tres variables a, b y c, todas ellas para guardar números enteros, y que luego escriba "Hola en pantalla".
Podemos dar un valor a esa variable (guardar un número en esa posición de memoria) durante el programa haciendo
primerNumero = 234;
O también podemos darle un valor inicial ("inicializarla") antes de que empiece el programa, en el mismo momento en que la definimos:
int primerNumero = 234;
Incluso podemos definir e inicializar más de una variable a la vez:
int primerNumero = 234, segundoNumero = 567;
(esta línea reserva espacio para dos variables, que usaremos para almacenar números enteros; una de ellas se llama primerNumero y tiene como valor inicial 234 y la otra se llama segundoNumero y tiene como valor inicial 567).
Después ya podemos hacer operaciones con las variables, igual que las hacíamos con los números:
suma = primerNumero + segundoNumero;
Ejercicio propuesto 1.7.2.1: Crea una versión ampliada del programa del ejercicio 1.7.1.1, que dé los valores 1, 2 y 3 a las variables a, b y c, respectivamente.
Una vez que sabemos cómo mostrar un número en pantalla, es sencillo mostrar el valor de una variable: para un número hacíamos cosas como
printf("El resultado es %d", 3+4);
y si se trata de una variable será idéntico:
printf("El resultado es %d", suma);
Conocemos todo lo necesario para hacer una variante del programa que sumaba dos números, pero esta vez usando variables:
/* Ejemplo en C: sumar usando variables - ej01070301.c */
#include
int main()
{
int primerNumero;
int segundoNumero;
int suma;
primerNumero = 234;
segundoNumero = 567;
printf("Comenzamos... ");
suma = primerNumero + segundoNumero;
printf("La suma de %d y %d es %d",
primerNumero, segundoNumero, suma);
return 0;
}
Repasemos todo lo que hace, paso a paso:
Nota: las variables las podemos declarar dentro del cuerpo del programa (main) o fuera de él. En programas tan sencillos no habrá diferencia. Más adelante veremos que en ciertos casos sí se comportarán de forma distinta según donde las hayamos declarado.
Un detalle importante es que muchos compiladores de C obligan a declarar las variables antes de cualquier otra orden, de modo que el siguiente programa puede no parecerle correcto a compiladores de C previos al estándar C99, porque la variable "suma" se declara después de la orden "printf", separada del resto de declaraciones. A partir del estándar C99 sí se permite declarar variables en cualquier punto. También puede permitirlo algún compilador más antiguo que también sea compilador de C++, porque en este lenguaje sí se permite desde hace mucho tiempo declarar variables en cualquier punto del programa.
/* Ejemplo en C: sumar usando variables (2) - ej01070302.c */
/*
Puede no funcionar en compiladores antiguos (previos al
estándar C99): no todas las declaraciones de variables están
situadas al principio del programa.
*/
#include
int main()
{
int primerNumero;
int segundoNumero;
primerNumero = 234;
segundoNumero = 567;
printf("Comenzamos... ");
int suma;
suma = primerNumero + segundoNumero;
printf("La suma de %d y %d es %d",
primerNumero, segundoNumero, suma);
return 0;
}
Nuestro fuente inicial se puede resumir un poco, si damos los valores a las variables en el momento de inicializarlas (algo que será menos frecuente en programas más complejos, en los que los valores no estén prefijados, pero que todavía nos podemos permitir):
/* Ejemplo en C: sumar usando variables (3) - ej01070303.c */
/* Versión "compacta" */
#include
int main()
{
int primerNumero = 234;
int segundoNumero = 567;
int suma = primerNumero + segundoNumero;
printf("La suma de %d y %d es %d",
primerNumero, segundoNumero, suma);
return 0;
}
Ejercicio propuesto 1.7.3.1: Crea una versión ampliada del programa del ejercicio 1.7.2.1, que muestre los valores de las variables a, b y c, así como su suma.
Ejercicio propuesto 1.7.3.2: Crea un programa que calcule el producto de los números 121 y 132, usando variables.
###Una vez que sabemos cómo mostrar un número en pantalla, es sencillo mostrar el valor de una variable: para un número hacíamos cosas como