Está en la página 1de 22

Tipos de datos

Tipos de datos bsicos


Las variables y constantes deben definir un tipo.
Una vez definido el tipo, no se puede cambiar de
opinin.
El tipo define el comportamiento de los
operadores.
Tres grandes grupos
Numricos
Alfabticos
Enumerados
IWI-131 - Tema 4

Tipo de dato nulo


void
Indica nada
Es un variable sin tipo definido
Cuando una funcin o programa no retorna
ningn resultado final se dice que devuelve el
tipo void.

IWI-131 - Tema 4

Tipos de datos numricos


Por defecto los nmeros se utilizan en base
decimal.
Internamente se trabaja con nmeros en base
binaria.
Dos grandes diferencias
Enteros
Reales

Es importante definir el espacio necesario para


almacenar un nmero.
IWI-131 - Tema 4

Tipos de datos numricos


Entero
int

Real
float

Real con doble precisin


double

IWI-131 - Tema 4

Modificadores
Para modificar el tamao de
almacenamiento se utilizan tipos de datos
modificados
Modificadores
signed: reserva un bit para el signo
unsigned: define solo valores positivos
long: utiliza el mayor tamao disponible
short: utiliza el menor tamao disponible
IWI-131 - Tema 4

Tipos de datos numricos


int
Tipo de dato entero
Valores positivos y negativos
Se almacena en 2 o 4 bytes
short int (2 byte): -32.768 a 32.768
long int (4 byte): -2.147.483.648 a 2.147.483.648
unsigned int (4 byte): 0 a 4.294.967.296
Se puede abreviar como unsigned

IWI-131 - Tema 4

Tipos de datos numricos


float
Tipo de dato real
Precisin simple
Valores positivos y negativos
No acepta modificadores

IWI-131 - Tema 4

Tipos de datos numricos


double
Tipo de dato real
Precisin doble
Valores positivos y negativos
Se almacena en 8 bytes
37 dgitos para parte entera
10 dgitos para parte decimal

long double (10 bytes)


IWI-131 - Tema 4

Tipos de datos numricos


void main(){
int a = -10;
unsigned int b = 10;
float c = 10.1;
double d = 0.000000001;
}

IWI-131 - Tema 4

Ejercicio

Tipos de datos alfabticos


Cualquier smbolo escrito se puede considerar
alfabtico
En rigor
a..z
A..Z
!.,$%&/)(^*{} etc.

Alfanumricos
Se agregan los dgitos como smbolos, no como
nmeros.
IWI-131 - Tema 4

Tipos de datos alfabticos


char
Almacena cualquier carcter normal
Ocupa un byte
Permite diferenciar 256 caracteres.
signed char: -127 a 127
unsigned char: 0 a 256

El valor almacenado es el cdigo ASCII que


representa el carcter
Ej: @ = 64 , \ = 92 , A = 65
IWI-131 - Tema 4

Tipos de datos alfabticos


void main(){
char c1 = 'a';
a 8
char c2 = '8';
@
char c3 = '\n';
48 49
char c4 = 64;
char c5 = '0';
char c6 = '1';
char c7 = '2';
printf("%c %c %c %c \n",c1,c2,c3,c4);
printf("%i %i %i \n",c5,c6,c7);
}
IWI-131 - Tema 4

50

Conversiones de tipo
Al mezclar distintos tipos, hay que buscar
un comn denominador
Un tipo donde todo el resto pueda ser
representado

Para esto, hay que convertir los valores


involucrados al mayor tipo presente
Esto se denomina promocin de tipo
IWI-131 - Tema 4

Conversiones de tipo
Rangos de tipos
long double
louble
float
unsigned long
long
unsigned int
IWI-131 - Tema 4

Cast (molde)
Se puede forzar al compilador para hacer
una conversin de tipos.
Se vera su utilidad al estudiar los
operadores.
void main(){
double d1=4.7, d2=2.4;
int i = ((int)d1)/((int)d2);
printf("%d\n", i);
}

IWI-131 - Tema 4

Tipos de datos enumerados


A diferencia de nmeros y caracteres no existe
necesariamente una relacin de orden.
Ej:

Chileno
Argentino
Peruano
Boliviano

En C, las enumeraciones se almacenan como


enteros.
Se pueden definir sus valores numricos.
IWI-131 - Tema 4

Tipos de datos enumerados


El nombre de la enumeracion

enum nombre {tipo1,tipo2,,tipoN};


Elementos de la enumeracin
Palabra reservada

IWI-131 - Tema 4

Tipos de datos enumerados


Valor numrico del elemento
enum nombre {tipo1,tipo2=100,tipo3,};
Aumenta de uno en uno
Tipo1=0
Tipo2=100
Tipo3=101

IWI-131 - Tema 4

Tipos de datos enumerados


enum nacionalidad {argentino=25, chileno, peruano, boliviano};
void main(){
enum nacionalidad persona1;
enum nacionalidad persona2;
int chiliviano;
persona1 =
persona2 =
chiliviano
printf("%d

chileno;
boliviano;
= persona1+persona2;
+ %d\n = %d", persona1, persona2, chiliviano);

26 + 28 = 54
IWI-131 - Tema 4

Fin tema
Tipos de datos simples

También podría gustarte