CodeGym /Cursos /C++ SELF /Tipos de variables en C++: int, double y std::string

Tipos de variables en C++: int, double y std::string

C++ SELF
Nivel 1, Lección 4
Disponible

1. Declaración de variables

Repasemos otra vez cómo crear variables. Para crear una variable, hay que escribir este comando: tipo nombre;.

Ejemplos:

Comando Explicación
std::string s;
Se crea la variable s del tipo std::string. Esta variable puede almacenar texto.
int x;
Se crea la variable x del tipo int. Esta variable puede contener números enteros.
int a, b, c; int d;
Se crean las variables a, b, c, d del tipo int. Estas variables pueden guardar números enteros.
¡Importante!

No puedes crear dos variables con el mismo nombre en un mismo bloque de código. En bloques diferentes sí es posible. Es como cajas que están en casas distintas. Más detalles sobre los bloques de código — en las siguientes lecciones.

También hay restricciones sobre el nombre de la variable. Por un lado, puede ser casi cualquier cosa; por otro — no puede contener espacios, ni símbolos como +, -, etc. Lo mejor es usar en el nombre de la variable solo letras latinas y cifras.

Y recuerda: en el lenguaje C++ importa qué letras escribes — si son mayúsculas o minúsculas. int a no es lo mismo que int A.

Por cierto, en C++ puedes crear una variable y asignarle un valor al mismo tiempo. Esto ahorra tiempo y líneas:

Código compacto Código largo, equivalente al de la izquierda
int a = 5;
int a; a = 5;
int b = 6;
int b; b = 6;
int c = 7;
int c; c = 7;
int d = c + 1;
int d; d = c + 1;
std::string s = "I'm Amigo";
std::string s; s = "I'm Amigo";

Así es mucho más compacto y claro.

Ya que entendimos cómo crear variables, conozcamos los dos tipos más usados en C++. Son los tipos int (números enteros) y std::string (texto/cadenas).

2. Tipo int

En una variable del tipo int puedes guardar números enteros: 5, -10, 100500. Además, sobre el tipo int puedes realizar varias operaciones aritméticas: suma, resta, multiplicación, división y otras. Ejemplos:

int main() {
    {
        int x = 1;                  // x valdrá 1
        int y = x * 2;              // y valdrá 2
        int z = 5 * y * y + 2 * y + 3; // z valdrá 20+4+3, valdrá 27
    }

    {
        int a = 5;                  // a valdrá 5
        int b = 1;                  // b valdrá 1
        int c = (a - b) * (a + b);  // c valdrá 4*6, valdrá 24
    }

    {
        int a = 64;                 // a valdrá 64
        int b = a / 8;              // b valdrá 8
        int c = b / 4;              // c valdrá 2
        int d = c * 3;              // d valdrá 6
    }
}

Si no faltaste a las clases de matemáticas, todo esto te debería resultar claro 🧐

Y si faltaste, aquí tienes la lista de operaciones permitidas:

  • + — suma
  • - — resta
  • * — multiplicación
  • / — división
  • % — resto de la división

3. Tipo double

El tipo int guarda solo números enteros. ¿Y si necesitamos números con parte fraccionaria? Para eso existe el tipo double.

Almacena números reales:

double x = 3.14;
double y = -0.5;
double z = 2.0;

Particularidad del double

Los números del tipo double se almacenan en memoria de forma aproximada. A veces pueden aparecer efectos inesperados:

double x = 0.1 + 0.2;  // 0.300000004

Puedes esperar exactamente 0.3, pero internamente se guarda un valor aproximado. Es normal. Así funciona la representación de números fraccionarios en el ordenador.

4. Tipo std::string

El tipo std::string permite almacenar cadenas de texto. Para especificar una cadena en C++ hay que escribir el texto entre comillas dobles.

Código Explicación
std::string s = "Amigo";
s contendrá el texto Amigo
std::string s = "123";
s contendrá el texto 123
std::string s = "Bond 007";
s contendrá el texto Bond 007

No parece complicado, ¿verdad? Si es así, aquí tienes otro dato interesante.

Las cadenas en C++ se pueden concatenar con el signo más — +. Ejemplo:

#include <string>

int main() {
    std::string s1 = std::string("Amigo") + " the best"; // s contendrá Amigo the best
  
    std::string s2 = ""; // s contendrá una cadena vacía — sin caracteres.
  
    int x = 333;
    std::string s3 = std::string("Amigo") + std::to_string(x); // s contendrá Amigo333
}

Fíjate en el último ejemplo: concatenamos una cadena y un número. Aquí también es simple: el número se convierte a cadena y luego se concatenan las dos cadenas. Al sumar cadenas y números siempre se obtiene una cadena.

5. Imprimir una variable en pantalla

Parece todo tan obvio y elemental. Entonces, ¿adivinas qué comando usamos para imprimir una variable en pantalla?

En realidad es sencillo. Para imprimir algo usamos std::cout, a donde pasamos lo que queremos mostrar. Para un salto de línea es conveniente añadir '\n'.

#include <iostream>
#include <string>

int main() {
    std::cout << "Amigo\n";              // Amigo

    std::cout << "Ami" << "go" << '\n';  // Amigo

    std::string s1 = "Amigo";
    std::cout << s1 << '\n';          	// Amigo

    std::string s2 = "Am";
    std::cout << s2 << "igo" << '\n'; 	// Amigo

}

Espero que ahora esté un poco más claro. Para comprobar si lo entendiste bien, lo vamos a verificar. La práctica es el criterio de la verdad: solo practicando puedes comprobar si lo has entendido bien.

6. Operaciones de asignación abreviadas (+=, -=, *=, /=)

En C++ existe una forma conveniente de escribir operaciones del tipo:

x = x + 5;

Se puede escribir de forma más corta:

x += 5;

Esto se llama asignación abreviada.

Ejemplos:

int x = 10;

x += 5;  // x = 15
x -= 3;  // x = 12
x *= 2;  // x = 24
x /= 4;  // x = 6

Es decir:

x += a   →   x = x + a
x -= a   →   x = x - a
x *= a   →   x = x * a
x /= a   →   x = x / a

No es solo "belleza del código" — estas formas son más cortas, más claras y se usan constantemente.

Las operaciones abreviadas funcionan también con cadenas:

std::string s = "Hello";
s += " World";   // "Hello World"

En CodeGym estudias la versión más reciente de C++ (C++23), por eso tienes disponibles desde el principio todas las características molonas. ¡Disfruta! 😎

1
Tarea
C++ SELF, nivel 1, lección 4
Bloqueada
Tres réplicas
Tres réplicas
1
Tarea
C++ SELF, nivel 1, lección 4
Bloqueada
Reparación del banner
Reparación del banner
1
Tarea
C++ SELF, nivel 1, lección 4
Bloqueada
Secciones del informe
Secciones del informe
1
Tarea
C++ SELF, nivel 1, lección 4
Bloqueada
Postal ASCII
Postal ASCII
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION