1. Tipos de datos de C++
Autores:
Cervantes Ramírez Ivon Yamilet
Colorado Flores Armando
2° “A” de programación
Aula: D-5
2. Datos C++:
La mayoría de estos, son solo nombres especiales (alias)
especificados en los tipos integrados de C/C++.
3. Los tipos de datos en C++ se clasifican en primitivos y derivados.
Los tipos de datos primitivos son los que están definidos dentro del lenguaje.
Los tipos de datos derivados se forman a partir de los tipos primitivos.
En este tema veremos los tipos primitivos y los tipos derivados.
Los tipos de datos primitivos en C++ son: numéricos enteros, numéricos reales, tipo lógico y
tipo carácter ampliado.
4. Tipos numéricos enteros
El tipo de dato numérico entero es un subconjunto finito de los números enteros del mundo
real. Pueden ser positivos o negativos.
En C++ los tipos de datos numéricos enteros son los siguientes:
5. Con los tipos enteros pueden utilizarse los calificadores signed (firmado) y unsigned (no firmado).
Estos calificadores indican si el número tiene signo o no. Si se usan solos, sin indicar el tipo de dato se
asume int.
Por ejemplo, las siguientes declaraciones son equivalentes:
unsigned int x; equivale a: unsigned x;
Usando estos calificadores podemos tener los siguientes tipos enteros:
6. Podemos ver que los datos enteros de tipo signed son equivalentes a los enteros sin utilizar el
calificador:
signed int a; es equivalente a escribir int a;
7.
8. Tipos de datos numéricos reales
El tipo de dato numérico real es un subconjunto finito de los números reales. Pueden ser
positivos o negativos.
En C++ los tipos de datos numéricos reales son los siguientes:
9. Tipo lógico
Los datos de este tipo sólo pueden contener dos valores: true ó false (verdadero ó falso).
Si se muestran como enteros, el valor true toma el valor 1 y false el valor 0.
10. Tipo carácter extendido
Este tipo se utiliza para representar caracteres UNICODE. Utiliza 2 bytes a diferencia del tipo
char que solo utiliza 1.
11. Tipos derivados
Los tipos derivados se construyen con palabras clave: class, struct, unión u operadores
especiales como los siguientes:
* Puntero a
*const Puntero constante a
& Referencia a
[ ] Array de
( ) Retorno de función
12. Ejemplos: suponiendo que tipoX un tipo básico o variante pueden declararse tipos
derivados tal como se muestra:
tipoX t; // t es un objeto de tipo tipoX
tipoX arr[10]; // arr es una matriz de diez elementos tipoX
tipoX *ptr; // ptr es un puntero a tipoX
tipoX &ref=t; // ref es una referencia a tipoX
tipoX func(void); // func devuelve un valor tipoX (no acepta parámetros)
void func(tipoX t); // func1 acepta un parámetro t tipoX (no devuelve nada)
struct st {tipoX t1; tipoX t2}; // la estructura st alberga dos tipoX
13. FRACCIONARIOS
La representación y rango de valores de los números fraccionarios depende del
compilador. Es decir, cada implementación de C++ es libre para definirlos. La mayoría
utiliza el formato estándar de la IEEE (Institute of Electrical and Electronics Engineers)
para este tipo de números. float y double son tipos fraccionarios de 32 y 64 bits
respectivamente. El modificador long puede utilizarse con el tipo double, declarando
entonces un número fraccionario de 80 bits. En C++Builder las constantes fraccionarias,
que pueden ser float, double y long double, tienen los rangos que se indican:
14. Generalmente los compiladores C++ incluyen de forma automática la librería matemática
de punto flotante si el programa utiliza valores fraccionarios. Builder utiliza los siguientes
límites, definidos en el fichero <values.h>