Podcast: Reproducir en una nueva ventana | Descargar
Ya estamos de vuelta un viernes más en el podcast Código Fuente. En este nuevo programa vamos a tratar los tipos de datos elementales en el lenguaje C, haciendo hincapié en uno de los más importantes como es el de los números enteros. Pero no sólo nos quedaremos ahí sino que también vamos a ver los operadores que usaremos para tratar con estos tipos de datos. ¿Estáis preparados para jugar?
En el lenguaje C hay 3 tipos de datos elementales sobre los que se construyen el resto:
- Entero y sus variantes: int
- Real y sus variantes: float
- Caracter: char
Tipos de datos y su variantes
Con estos tipos de datos podremos hacer operaciones aritméticas, representaciones de caracteres y de valores lógicos. La siguiente tabla muestra cada uno de los tipos de datos básicos en lenguaje C junto con las posibles variantes que pueden tener. También es interesante que os fijéis en su tamaño en Bytes, cosa que cuando la memoria principal era muy cara, los programadores teníamos que hacer mil cuentas a la hora de elegir la variante correcta.

Operadores
Como es de suponer, con el lenguaje C se pueden realizar operaciones matemáticas básicas con números enteros, bien directamente con su valor o a través de una variable. El siguiente ejemplo muestra un posible uso de los operadores en C:
resultado = numero * 5 / 4 + 3;
En las operaciones aritméticas es muy importante el orden de prioridad que indica qué operador se aplica en primer lugar cuando hay varios presentes en una expresión aritmética. En el ejemplo anterior, el valor de la variable resultado se calcula en el orden siguiente:
1. resultado = numero * 5
2. resultado = resultado / 4
3. resultado = resultado + 3
La mejor forma que tenemos para evitar problemas por la prioridad de los operadores es la de usar paréntesis para indicar cómo se han de ejecutar las operaciones:
resultado = (numero * (5 / 4)) + 3;
La siguiente tabla muestra los operadores que se pueden aplicar a cada tipo ordenados de mayor a menor prioridad.

El operador sizeof devuelve el tamaño en bytes que ocupa un determinado tipo de datos o variable. El resultado es distinto dependiendo del ordenador en el que se ejecute ya que el número de Bytes usados para representar los tipos de datos básicos en C depende da cada ordenador. Ejemplo:
printf («Un entero int ocupa %d bytes \n», sizeof(int)); /* Fijaros cómo se usa el operador sizeof */
Números enteros
Los tipos de datos para representar números enteros en C son short, int, long y long long, y todos permiten números positivos y negativos sin partes decimales. Siempre que se conozca el valor inicial es conveniente asignarlo a su variable en el momento de la declaración. Si queremos usar una variable que sólo contenga número enteros positivos se usa la palabra reservada unsigned. Por ejemplo:
unsigned int presion;
También los tipos de datos enteros se suelen especificar de muchas formas con la combinación de la palabra reservada unsigned, por ejemplo:
- unsigned short o unsigned short int
- int, signed o signed int
- unsigned o unsigned int
La diferencia principal es su capacidad de representación y si permiten usar signo o no. La siguiente tabla muestra los rangos de valores de cada tipo:

El rango de un tipo se puede obtener mediante los calificadores MIN y MAX de cada tipo que se encuentran en el fichero limits.h del sistema. Si asignamos a una variable un valor fuera de rango no obtendremos un error de compilación/ejecución. Este es uno de los principales problemas de C: la permisividad con los tipos. Ejemplo:
printf («El mínimo valor para un entero int es %d\n», INT_MIN); /* INT_MIN es un calificador extraído del fichero limits.h */
Tendemos que tener cuidado con los valores de entrada (puede usar el operador sizeof)
Ejercicios propuestos
Como hice en el programa anterior, a continuación os propongo una serie de ejercicios para que realicéis en casa:
-
Define variables para representar las personas que hay en un teatro, las líneas telefónicas de un país y los días de la semana.
-
Realiza un programa que muestre por salida estándar los tamaños usados por tu ordenador para todos los tipos de datos enteros que hemos visto en el episodio de hoy. Para ello, deberás de usar los calificadores que se encuentran en el fichero limits.h.
-
Realiza un programa que muestre por salida estándar los tamaños en bytes que ocupan los distintos tipos de datos en la memoria del computador. Para ello, deberás usar el operador sizeof.
Hasta aquí este nuevo programa del podcast Código Fuente donde hemos hablado de los números enteros y la importancia que van a tener en nuestros programas estos tipos de datos.
Muchas gracias por el tiempo que habéis dedicado a escucharlo y deciros que estaría encantado de recibir vuestras valoraciones de 5 estrellas en iTunes para que el podcast llegue a más gente como vosotros.
Ya sabéis, si tenéis dudas o queréis mas información sobre lo hablado, podéis comentármelo en los comentarios de esta entrada, en el formulario de la web masqueteclas.com/contactar o en la cuenta de Twitter del podcast @CodigoFnte.
Quedamos de nuevo en Código Fuente donde aprender informática nunca a estado tan cerca de vosotros.
Hasta entonces…
Adiós!
—
Si te gusta este podcast y quieres ayudarme a mantenerlo, puedes contribuir haciendo tus compras a través de este enlace de afiliados de Amazon.es o mediante una donación en mi cuenta Paypal.Me. Muchas gracias!!