Capítulo 3: Tipos de datos y variables
En el mundo real manejamos distintos tipos de datos, sobre todo en el campo de las matemáticas. De esta manera un número entero no es lo mismo que un numero fraccionario, a su vez, un número fraccionario no es lo mismo que un carácter. Lo mismo ocurre con la programación, según con lo que queramos trabajar y la naturaleza del problema a resolver usaremos un determinado tipo de datos.
Cuando estemos programando querremos almacenar algunos datos, esto lo haremos gracias a las variables. Una variable almacena un dato de un determinado tipo. Las variables hay que crearlas (o declararlas) antes de usarlas y deberemos asignarles un nombre en ese momento. Para los nombres de las variables están permitidos los caracteres alfanuméricos (exceptuando la “ñ”) y el guión, pero no otro tipo de símbolos ni los espacios. Hay que tener en cuenta que el lenguaje C distingue entre minúsculas y mayúsculas.
Hay que distinguir entre dos tipos de variables:
Variables locales: Se crean dentro de la función main y sólo existen dentro de ella. Si usamos una variable de este tipo fuera de la función main nos aparecerá un error. Es el tipo que usaremos siempre ya que es más correcto programar usando este tipo de variables.
#include <stdio.h>
int main(void)
{
int x;
return 0;
}
Variables globales: Se crean fuera de la función main y existen en todas partes. Si hacemos uso de ellas fuera del main lo que hagamos con ellas surtirá efecto. No es correcto hacer uso de este tipo de variables por cuestiones de estilo y elegancia.
#include <stdio.h>
int x;
int main(void)
{
return 0;
}
Veamos, ahora, algunos de los tipos de datos básicos que más utilizaremos:
Tipo entero (integreer):
Sirve para almacenar número enteros y el rango de valores que admite es -32767 a 32767. Para usar una variable de este tipo primero hemos de declararla y darle un nombre, lo haremos de la siguiente manera:
int numero;
También es posible declarar más de una variable en una línea de la siguiente manera:
int x, y;
Para mostrar enteros por pantalla usaremos la función printf (que ya la conocéis y sirve para mostar cosas por pantalla con el formato que queramos). Lo haremos de la siguiente manera:
printf(“%i”, x);
Si x vale 25, entonces por pantalla aparecerá el número 25.
printf(“%i %i”, x, y);
Si x vale 25 e y vale 15 aparecerá 25 15.
printf(“El valor de x es %i”, x);
Esto también es válido, donde aparece %i, aparecerá el valor de x.
Con los números enteros podremos realizar diversas operaciones (sumar, restar etc) pero una de ellas y la más importante es la asignación. Esto se puede hacer de las siguientes maneras:
x = 10
Aquí x tomará el valor 10.
int x = 10
Le asignamos el valor 10 a x en el momento de declarar la variable.
int x, y = 10
Creamos las variables x e y, solamente a y le asignamos el valor 10.
Para acceder a una variable (por ejemplo, mostrar su valor por pantalla) es necesario que ésta esté creada e inicializada (se le haya asignado un valor).
Veamos un programita pequeño que resuma lo visto hasta ahora. Podéis cambiar cosas a vuestro antojo para practicar y ver los resultados:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int x = 10; /* Declaramos la variable x y le asignamos el valor 10 */
prinft( «El valor inicial de x es %in», x ); /* Imprimimos por pantalla su valor */
x = 50; /* Le asignamos a x otro valor, el 50 */
printf( «Pero ahora el valor es %in», x ); /* Mostramos por pantalla el nuevo valor de x */
system(«pause»);
return 0;
}
Tipo carácter (character):
Sirve para almacenar un sólo carácter pertenecientes al código ASCII. Para declarar una variable de este tipo de datos lo hacemos de la siguiente manera:
char letra;
Se pueden declarar varias variables de este tipo en una sola línea, al igual que ocurre con los enteros. Para asignarle un valor a una variable de tipo carácter hacemos lo siguiente:
letra = ‘B’;
Para ello la variable letra debe estar declarada antes.
Letra = ’66’;
66 es el número que equivale a la B en el código ASCII, se le puede dar un valor numérico entre 0 y 255, que equivaldrá a un carácter en ASCII.
Para mostrar un carácter por pantalla hacemos lo siguiente:
printf(“El caracter que almacena la variable letra es %c”, letra);
También podemos hacer
printf(“El codigo ASCII de la letra %c es el %i, letra, letra);
Podemos mostrar un carácter como lo que es o como el entero al que equivale en el código ASCII. Deberíais probar a hacer un programita como el de los números enteros y variar cosas a vuestro antojo para comprobar el resultad y así entender mejor el funcionamiento de todo esto.
Tipo flotante (float):
Puede almacenar números enteros y decimales. Notaréis que el funcionamiento de las distintas variables presenta similitudes. Para declararlas:
float numero;
Para asignarle un valor:
numero = 4.85; /* Usamos el punto, no la coma */
Si queremos imprimirlo por pantalla
printf(“El valor del numero es %f”, numero);
Esto es todo por hoy amigos, espero que os estéis dando cuenta de que poco a poco avanzamos. Una cosa muy importante es hacer pequeños programas para ir probando todo esto que estamos viendo. Algo necesario a la hora de aprender a programar es ser constante y un poco autodidacta.
NOTA: Si copiais la función printf quizás el programa no compile, eso es problema de las comillas, ponedlas vosotros mismos.
Números anteriores de «Programación de videojuegos«