SlideShare una empresa de Scribd logo
1 de 21
Tema 4a
Tipos de datos simples
IWI-131 - Tema 4
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
IWI-131 - Tema 4
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.
IWI-131 - Tema 4
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
• Es importante definir el espacio necesario para
almacenar un número.
IWI-131 - Tema 4
Tipos de datos numéricos
• Entero
– int
• Real
– float
• Real con doble precisión
– double
IWI-131 - Tema 4
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
IWI-131 - Tema 4
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”
IWI-131 - Tema 4
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
IWI-131 - Tema 4
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)
IWI-131 - Tema 4
Tipos de datos numéricos
void main(){
int a = -10;
unsigned int b = 10;
float c = 10.1;
double d = 0.000000001;
}
IWI-131 - Tema 4
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.
IWI-131 - Tema 4
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
IWI-131 - Tema 4
Tipos de datos alfabéticos
void main(){
char c1 = 'a';
char c2 = '8';
char c3 = 'n';
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);
}
a 8
@
48 49 50
IWI-131 - Tema 4
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
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 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("%dn", i);
}
IWI-131 - Tema 4
Tipos de datos enumerados
• A diferencia de números y caracteres no existe
necesariamente una relación de orden.
• Ej:
– Chileno
– Argentino
– Peruano
– Boliviano
• En C, las enumeraciones se almacenan como
enteros.
• Se pueden definir sus valores numéricos.
IWI-131 - Tema 4
Tipos de datos enumerados
enum nombre {tipo1,tipo2,…,tipoN};
Palabra reservada
El nombre de la enumeracion
Elementos de la enumeración
IWI-131 - Tema 4
Tipos de datos enumerados
enum nombre {tipo1,tipo2=100,tipo3,…};
Valor numérico del elemento
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 = chileno;
persona2 = boliviano;
chiliviano = persona1+persona2;
printf("%d + %dn = %d", persona1, persona2, chiliviano);
}
26 + 28 = 54
Fin tema 4a
Tipos de datos simples

Más contenido relacionado

Más de acmetnt

Trabajo metodologia-scrum
Trabajo metodologia-scrumTrabajo metodologia-scrum
Trabajo metodologia-scrum
acmetnt
 
Informatica alba nubia
Informatica alba nubiaInformatica alba nubia
Informatica alba nubia
acmetnt
 
Etapas de priorizacion
Etapas de priorizacionEtapas de priorizacion
Etapas de priorizacion
acmetnt
 
El correo electrónico
El correo electrónicoEl correo electrónico
El correo electrónico
acmetnt
 
Datos importante para el mantenimientos correctivo y preventivo
Datos importante para el mantenimientos correctivo y preventivoDatos importante para el mantenimientos correctivo y preventivo
Datos importante para el mantenimientos correctivo y preventivo
acmetnt
 

Más de acmetnt (6)

Trabajo metodologia-scrum
Trabajo metodologia-scrumTrabajo metodologia-scrum
Trabajo metodologia-scrum
 
Informatica alba nubia
Informatica alba nubiaInformatica alba nubia
Informatica alba nubia
 
Etapas de priorizacion
Etapas de priorizacionEtapas de priorizacion
Etapas de priorizacion
 
El correo electrónico
El correo electrónicoEl correo electrónico
El correo electrónico
 
1 entregable muestra saberes
1 entregable muestra saberes1 entregable muestra saberes
1 entregable muestra saberes
 
Datos importante para el mantenimientos correctivo y preventivo
Datos importante para el mantenimientos correctivo y preventivoDatos importante para el mantenimientos correctivo y preventivo
Datos importante para el mantenimientos correctivo y preventivo
 

04a tipos de datos

  • 1. Tema 4a Tipos de datos simples
  • 2. IWI-131 - Tema 4 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
  • 3. IWI-131 - Tema 4 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.
  • 4. IWI-131 - Tema 4 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 • Es importante definir el espacio necesario para almacenar un número.
  • 5. IWI-131 - Tema 4 Tipos de datos numéricos • Entero – int • Real – float • Real con doble precisión – double
  • 6. IWI-131 - Tema 4 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
  • 7. IWI-131 - Tema 4 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”
  • 8. IWI-131 - Tema 4 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
  • 9. IWI-131 - Tema 4 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)
  • 10. IWI-131 - Tema 4 Tipos de datos numéricos void main(){ int a = -10; unsigned int b = 10; float c = 10.1; double d = 0.000000001; }
  • 11. IWI-131 - Tema 4 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.
  • 12. IWI-131 - Tema 4 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
  • 13. IWI-131 - Tema 4 Tipos de datos alfabéticos void main(){ char c1 = 'a'; char c2 = '8'; char c3 = 'n'; 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); } a 8 @ 48 49 50
  • 14. IWI-131 - Tema 4 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
  • 15. IWI-131 - Tema 4 Conversiones de tipo • Rangos de tipos – long double – louble – float – unsigned long – long – unsigned int
  • 16. IWI-131 - Tema 4 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("%dn", i); }
  • 17. IWI-131 - Tema 4 Tipos de datos enumerados • A diferencia de números y caracteres no existe necesariamente una relación de orden. • Ej: – Chileno – Argentino – Peruano – Boliviano • En C, las enumeraciones se almacenan como enteros. • Se pueden definir sus valores numéricos.
  • 18. IWI-131 - Tema 4 Tipos de datos enumerados enum nombre {tipo1,tipo2,…,tipoN}; Palabra reservada El nombre de la enumeracion Elementos de la enumeración
  • 19. IWI-131 - Tema 4 Tipos de datos enumerados enum nombre {tipo1,tipo2=100,tipo3,…}; Valor numérico del elemento Aumenta de uno en uno Tipo1=0 Tipo2=100 Tipo3=101 …
  • 20. 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 = chileno; persona2 = boliviano; chiliviano = persona1+persona2; printf("%d + %dn = %d", persona1, persona2, chiliviano); } 26 + 28 = 54
  • 21. Fin tema 4a Tipos de datos simples