Tema 4 a Tipos de datos simples IWI131

  • Slides: 21
Download presentation
Tema 4 a Tipos de datos simples IWI-131 - Tema 4

Tema 4 a Tipos de datos simples IWI-131 - Tema 4

Tipos de datos básicos • Las variables y constantes deben definir un tipo. •

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 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.

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

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 • 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

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

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

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 =

Tipos de datos numéricos void main(){ int a = -10; unsigned int b = 10; float c = 10. 1; double d = 0. 00001; } IWI-131 - Tema 4

Tipos de datos alfabéticos • Cualquier símbolo escrito se puede considerar alfabético • En

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

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 c 1 = 'a'; a 8 char

Tipos de datos alfabéticos void main(){ char c 1 = 'a'; a 8 char c 2 = '8'; @ char c 3 = 'n'; 48 49 char c 4 = 64; char c 5 = '0'; char c 6 = '1'; char c 7 = '2'; printf("%c %c n", c 1, c 2, c 3, c 4); printf("%i %i %i n", c 5, c 6, c 7); } IWI-131 - Tema 4 50

Conversiones de tipo • Al mezclar distintos tipos, hay que buscar un común denominador

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

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

Cast (molde) • Se puede forzar al compilador para hacer una conversión de tipos.

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 d 1=4. 7, d 2=2. 4; int i = ((int)d 1)/((int)d 2); printf("%dn", i); } IWI-131 - Tema 4

Tipos de datos enumerados • A diferencia de números y caracteres no existe necesariamente

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 El nombre de la enumeracion enum nombre {tipo 1, tipo

Tipos de datos enumerados El nombre de la enumeracion enum nombre {tipo 1, tipo 2, …, tipo. N}; Elementos de la enumeración Palabra reservada IWI-131 - Tema 4

Tipos de datos enumerados Valor numérico del elemento enum nombre {tipo 1, tipo 2=100,

Tipos de datos enumerados Valor numérico del elemento enum nombre {tipo 1, tipo 2=100, tipo 3, …}; Aumenta de uno en uno Tipo 1=0 Tipo 2=100 Tipo 3=101 … IWI-131 - Tema 4

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

Tipos de datos enumerados enum nacionalidad {argentino=25, chileno, peruano, boliviano}; void main(){ enum nacionalidad persona 1; enum nacionalidad persona 2; int chiliviano; persona 1 = persona 2 = chiliviano printf("%d chileno; boliviano; = persona 1+persona 2; + %dn = %d", persona 1, persona 2, chiliviano); } 26 + 28 = 54 IWI-131 - Tema 4

Fin tema 4 a Tipos de datos simples IWI-131 - Tema 4

Fin tema 4 a Tipos de datos simples IWI-131 - Tema 4