Tipos de datos y variables

Para crear programas que realicen diferentes tipos de operaciones es necesario que este tenga la capacidad de almacenar valores, los cuales pueden modificar su valor de acuerdo a las necesidades del problema a resolver. Para esto se deben usar variables.

Variables

Una variable en C++ es una espacio de memoria de la computadora, en dónde se pueden almacenar valores, los cuales se pueden modificar de acuerdo a las necesidades del programa.

Una variable en C++ es útil para realizar instrucciones que pueden adaptarse a diferentes necesidades. Por ejemplo, súpongase que se quiere hacer un programa para sumar 3 parejas de números: (1,7), (5,6) y (10,2)

Se podría hacer algo como lo siguiente:

cout << "El resultado de la suma es: " << 1 + 7;
cout << "El resultado de la suma es: " << 5 + 6;
cout << "El resultado de la suma es: " << 10 + 2;

Pero, ¿que pasaría si se quisieran sumar 10,000 parejas de números? ¡Se escribirían 10 mil líneas de código!

La solución es utilizar variables. Y cada vez que se ejecute el código pedir los valores para las variables.

int suma;
int numero1;
int numero2;

// La instruccion cin solicita al usuario la entrada de datos
// y los almacena en la variable correspondiente
cin >> numero1;
cin >> numero2;

suma = numero1 + numero2;

cout << "El resultado de la suma es: " << suma;

En esta ocasión, el programa es genérico, lo que significa que es capaz de sumar cualesquiera 2 pares de números sin necesidad de hacer modificaciones al código.

Declaración de variables

Para poder utilizar una variable en C++ primero es necesario declararla.

La declaración de variables en C++ se realiza utilizando la siguiente sintáxis:

tipo_de_dato nombre_variable;

Dónde tipo_de_dato es el tipo de dato que podrá almacenar la variable. Más detalles en la siguiente sección. Y nombre_variable es el nombre que identificará a la variable.

// Ejemplos
int numero;
int mi_variable;
int miVariable;
char otra_variable;
double x;

Nombre de variables

El nombre de la variable puede contener una palabra con cualquier letra del alfabeto inglés, números y guiones bajos (_). Sin embargo, siempre debe iniciar con una letra. Es importante considerar que el compilador hace diferencias entre las mayúsculas y minúsculas. Por lo que la variable suma sería diferente de la variable Suma. No debe dontener espacios en blanco ni símbolos especiales.

Ejemplo de nombres válidos:

mi_variable
miVariableDos
numero
resultado1
x
y
variable

Ejemplode nombre inválidos:

mi variable
variable#2
1variable

Tipos de datos

Los tipos de datos, como su nombre lo indica, especifican el tipo de valores que se pueden almacenar en una variable.

Algunos ejemplos de tipos de datos primitivos son enteros, de punto decimal flotante (fraccionarios), caracteres y boleanos.

Cuando se hace la declaración de variables, el tipo de dato le indica al compilador de que tipo será la variable. De esta manera se reserva la cantidad de memoria necesaria.

En la siguiente tabla se muestran los tipos de datos fundamentales, así como su tamaño en bytes y rango de valores que es posible representar con ellos.

Tipo de datos

Tamaño

Rango de valores

short int

2

-32,768 hasta 32,767

unsigned short int

2

0 hasta 65,535

unsigned int

4

0 hasta 4,294,967,295

int

4

-2,147,483,648 hasta 2,147,483,647

long long int

8

-(2^63) hasta (2^63)-1

unsigned long long int

8

0 hasta 18,446,744,073,709,551,615

char

1

-128 hasta 127

unsigned char

1

0 hasta 255

float

4

1.18e-38 hasta 3.40e38 Precisión científica (7-dígitos)

double

8

2.23e-308 hasta 1.79e308 Precisión científica (15-dígitos)

long double

12

3.37e-4932 hasta 1.18e4932 Precisión científica (18-dígitos)

bool

1

true / false

Los tipos de datos int, char, double y bool son los más utilizados en programas simples.

Cuando se declaran las variables, estas pueden tambien inicializarse, lo que significa asignar un valor inicial.

Ejemplo:

// Declaracion de variables e inializacion
int numero = 5;
int mi_valor = 1278;

Buena práctica de programación: Es recomendable inicializar siempre las variables antes de utilizarlas. Ya que es común tener errores tratando de leer una variable a la que no se le ha asignado un valor previamente. No se debe asumir que el valor de una variable sin inicializar es 0, pues muchas veces no lo es.

Uso típico de tipos de datos más usados

El uso más común que se le da a los tipos de datos primitivos es el siguiente:

Tipo de dato int

Se utiliza para representar números enteros, ya sean negativos o positivos.

Ejemplo:

int numero = 5;
int numero2 = -28;

Si se trata de asignar un número fraccionario a una variable de tipo int, el valor será truncado, es decir, se perderá la parte decimal.

Ejemplo:

int numero = 7.58; //la variable numero vale 7

Tipo de dato double

Este tipo de dato se utiliza para representar números fraccionarios con precisión doble, respecto al tipo float.

Es decir, tiene mayor precisión respecto al número de posiciones decimales que puede representar sin perder exactitud.

Ejemplo:

double numero_pi = 3.14159;
double x = 78.50;

Tipo de dato char

Este tipo de dato es utilizado para representar caracteres simples, es decir todos los conjuntos de letras, numeros y símbolos del código ASCII.

El código ASCII representa todos los caracteres imprimibles a través de la computadora. Estos tienen un código numérico que los identifica, por ejemplo el símbolo @ tiene el valor 64. Mientras que la letra A tiene el valor 65.

Para asignar un valor a una variable char es necesario escribir el caracter entre comillas simples:'a', 'b', 'c','@'

Es importante mencionar que los números también se pueden representar como caracteres, sin embargo, es necesario diferenciarlos de los tipos enteros. Ejemplo:

  • Son caracteres'1','2','3'

  • Son valores numéricos: 1,2,3

Nota como el valor numérico es tal cual el número, mientras que los caracteres tienen comillas simples.

Ejemplos:

// Declaracion de variables de tipo char
char letra = 'a';
char variable = '$';
char caracter_de_numero = '9';

Mal uso de los caracteres:

// Es un error tratar de hacer operaciones algebraicas
// usando variables de tipo char representando números

char numero1 = '1';
char numero2 = '3';
char suma;

suma = numero1 + numero2;

cout << "El resultado es: " << suma;

La salida del programa sería

El resultado es d

Nota como el programa si compila y se ejecuta, sin embargo, el resultado no es el que se esperaría. Se estaría esperando un '4'. El problema es que se están sumando caracteres.

Lo que en realidad pasa al ejecutar la operación, es que se suma el valor númerico de los caracteres en el código ASCII. Como se observa en la imagen previa, el caracter '1' vale 49, mientras que el '3' vale 51. El resultado de sumarlos es 100. El caracter correspondiente al valor 100 en el código ASCII es la letra 'd'.

Tipo de dato bool

El tipo de dato bool es el más sencillo de aprender. Ya que su valor solo puede ser true o false.

Suele utilizarse para guardar el resultado de evaluar condiciones.

Ejemplo:

bool variable = false;
bool resultado = true;
bool resultado = 5 > 3;//La variable almacenara true, ya que la condicion se cumple

Referencias:

DEITEL, Harvey M y DEITEL, Paul J Cómo programar en C++. 9a ed. Pearson Educación

Last updated