Está en la página 1de 19

Tipos de datos simples

Tipos de datos básicos

 Las variables y constantes deben definir un


tipo.
 Una vez definido el tipo, no se puede
cambiar de opinión.
 El tipo define el comportamiento de los
operadores.
 Tres grandes grupos
 Numéricos
 Alfabéticos
 Enumerados
Tipo de dato nulo

 void
 Indica “nada”
 Es un variable sin tipo definido
 Cuando una función o programa no retorna ningún
resultado final se dice que devuelve el tipo void.
Tipos de datos numéricos

 Por defecto los números se utilizan en


base decimal.
 Internamente se trabaja con números
en base binaria.
 Dos grandes diferencias
 Enteros
 Reales

 Esimportante definir el espacio


necesario para almacenar un número.
Tipos de datos numéricos

 Entero
 int
 Real
 float
 Real con doble precisión
 double
Modificadores

 Para modificar el tamaño 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 tamaño disponible
 short: utiliza el menor tamaño disponible
Tipos de datos numéricos

 int
 Tipo de dato entero
 Valores positivos y negativos
 Se almacena en 2 o 4 bytes
 short int (16 bits): -32.768 a 32.768
 long int (32 bits): -2.147.483.648 a 2.147.483.648
 unsigned int (32 bits): 0 a 4.294.967.296
 Se puede abreviar como “unsigned”
Tipos de datos numéricos

 float
 Tipo de dato real
 Precisión simple
 Valores positivos y negativos
 Se almacena en 4 bytes
 37 dígitos para parte entera
 6 dígitos para parte decimal
 No acepta modificadores
Tipos de datos numéricos

 double
 Tipo de dato real
 Precisión doble
 Valores positivos y negativos
 Se almacena en 8 bytes
 37 dígitos para parte entera
 10 dígitos para parte decimal
 long double (10 bytes)
Tipos de datos numéricos

void main(){
int a = -10;
unsigned int b = 10;
float c = 10.1;
double d = 0.000000001;
}
Tipos de datos alfabéticos

 Cualquier símbolo escrito se puede


considerar alfabético
 En rigor
 a..z

 A..Z

 !”.,$%&/)(^*{} etc.
 Alfanuméricos
 Se agregan los dígitos como símbolos, no
como números.
Tipos de datos alfabéticos

 char
 Almacena cualquier carácter “normal”
 Ocupa un byte
 Permite diferenciar 256 caracteres.
 signed char: -127 a 127
 unsigned char: 0 a 256
 El valor almacenado es el código ASCII que representa el
carácter
 Ej: @ = 64 , \ = 92 , A = 65
Tipos de datos alfabéticos

void main(){
char c1 = 'a'; a 8
char c2 = '8'; @
char c3 = '\n'; 48 49 50
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);
}
Conversiones de tipo

 Al mezclar distintos tipos, hay que buscar un común


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 promoción de tipo
Conversiones de tipo

 Rangos de tipos
 long double
 louble
 float
 unsigned long
 long
 unsigned int
Cast (molde)

 Se puede forzar al compilador para hacer una conversión 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);
}
Tipos de datos enumerados

El nombre de la enumeracion

enum nombre {tipo1,tipo2,…,tipoN};

Elementos de la enumeración

Palabra reservada
Tipos de datos enumerados
Valor numérico del elemento

enum nombre {tipo1,tipo2=100,tipo3,…};

Aumenta de uno en uno

Tipo1=0
Tipo2=100
Tipo3=101

Tipos de datos enumerados
enum nacionalidad {argentino=25, chileno, peruano, boliviano};

void main(){
enum nacionalidad persona1;
enum nacionalidad persona2;
int chiliviano;

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

26 + 28 = 54

También podría gustarte