El lenguaje de programación
C++ es un lenguaje de propósito general con una rica historia que se remonta a
principios de la década de 1980.
Origen:
Fue desarrollado por Bjarne Stroustrup en los Laboratorios Bell de
AT&T.
Base:
Inicialmente se llamó "C con Clases" (C with Classes), ya que
fue diseñado como una extensión del lenguaje C. Stroustrup buscaba agregar
características de la Programación Orientada a Objetos (POO) a la
eficiencia y el bajo nivel de C.
Nombre:
El nombre C++ se adoptó en 1983. El ++
proviene del operador de incremento en C, simbolizando que es una versión
incrementada y mejorada de C.
Características
Principales: C++ es conocido por ser un lenguaje híbrido que soporta:
Programación
Orientada a Objetos (POO): Con conceptos como clases, herencia,
polimorfismo y encapsulamiento.
Programación
Imperativa: Heredada de C.
Programación
Genérica: Introducida por las plantillas (templates).
Uso:
C++ es ampliamente utilizado en sistemas operativos, desarrollo de juegos
(motores como Unreal Engine), sistemas embebidos, software de alto
rendimiento, y aplicaciones con restricciones de recursos o de tiempo.
Un programa en C++ mínimo tiene la siguiente estructura:
cpp
#include <iostream>
int main() {
// Tu código aquí
return 0;
}
#include <iostream>:
Esta es una directiva del preprocesador. Le dice al compilador que
incluya la biblioteca estándar de entrada/salida (iostream), que nos
permite realizar operaciones de entrada y salida, como imprimir en la
consola o leer datos del teclado.
int main(): Esta es la función principal. Todo programa en C++ debe tener una función main. La ejecución del programa comienza aquí. El tipo de retorno int
indica que la función debe devolver un valor entero. Por convención, un
retorno de 0 indica que el programa terminó exitosamente.
{ }: Las llaves delimitan el cuerpo de la función.
return 0;: Esta sentencia devuelve el valor 0 al sistema operativo, indicando que el programa terminó sin errores.
std::cout: Es el objeto de flujo de salida estándar (standard output) que se utiliza para imprimir en la consola. Los datos se envían a cout usando el operador de inserción <<.
"Hola Mundo!": Es una cadena de caracteres (string) que queremos imprimir.
std::endl: Inserta un salto de línea y vacía el buffer de salida. También se puede usar el carácter \n para un salto de línea, pero sin vaciar el buffer. Por ejemplo: "Hola Mundo!\n".
std::: Indica que cout y endl pertenecen al espacio de nombres estándar (std). Podemos evitar escribir std:: cada vez si usamos using namespace std; al principio del programa, aunque no siempre es recomendable en proyectos grandes por posibles conflictos de nombres.
4. Variables y Tipos de Datos
En
C++, las variables son contenedores para almacenar datos. Cada variable
tiene un tipo, que determina el tamaño y la forma en que se almacena.
Algunos tipos básicos:
int: Números enteros.
float: Números de punto flotante (precisión simple).
double: Números de punto flotante (precisión doble).
Las operaciones aritméticas en C++ se realizan utilizando operadores estándar que actúan sobre variables numéricas (enteros y flotantes). Operadores Básicos Operación Operador Ejemplo (int a = 10, b = 3) Resultado Suma + a + b 13 Resta - a - b 7 Multiplicación * a * b 30 División / a / b 3 (en enteros) Módulo (Residuo) % a % b 1 Consideraciones Importantes
División Entera vs. Flotante: Si divides dos números enteros, el resultado será un entero (se pierde la parte decimal). Para obtener decimales, al menos uno de los valores debe ser float o double. Ejemplo: 10 / 3 es 3, pero 10.0 / 3.0 es 3.3333. Operador Módulo (%): Solo se puede utilizar con tipos de datos enteros (int, char, long). No funciona con float o double. Precedencia: C++ sigue el orden matemático estándar (PEMDAS): multiplicación, división y módulo se ejecutan antes que la suma y la resta, a menos que se usen paréntesis ().
Ejemplo de Código cpp
#include <iostream>
int main() { int x = 15; int y = 4;
std::cout << "Suma: " << x + y << std::endl; // 19 std::cout << "Resta: " << x - y << std::endl; // 11 std::cout << "Multiplicación: " << x * y << std::endl; // 60 std::cout << "División: " << x / y << std::endl; // 3 std::cout << "Residuo: " << x % y << std::endl; // 3
return 0; }
Usa el código con precaución. Operadores de Asignación Compuesta C++ permite abreviar operaciones que actualizan el valor de una variable:
a += b; es equivalente a a = a + b; a -= b; es equivalente a a = a - b; a *= b; es equivalente a a = a * b; a /= b; es equivalente a a = a / b;
Semana No. 7: Operadores Relacionales Desde 02/02/2026 al 07/02/2026
Básicamente, los operadores relacionales son los "jueces" de la programación. Su único trabajo es tomar dos valores, compararlos y decirnos si la relación entre ellos es verdadera o falsa.
En el mundo de la lógica y el código, el resultado de estas comparaciones siempre es un valor booleano: True (Verdadero) o False (Falso).
En C++,
los operadores relacionales funcionan casi igual que en otros
lenguajes, pero tienen un par de detalles "de bajo nivel" que es bueno
conocer si quieres dominar el lenguaje.
Aquí tienes el desglose técnico pero digerible:
La lista oficial en C++
C++ utiliza estos seis operadores estándar. Todos devuelven un valor de tipo bool (true o false).
Operador
Nombre
Ejemplo
Resultado si a=5, b=10
==
Igualdad
a == b
false
!=
Desigualdad
a != b
true
>
Mayor que
a > b
false
<
Menor que
a < b
true
>=
Mayor o igual
b >= 10
true
*<=
Menor o igual
a <= 5
true
Tres cosas que debes saber (El "toque" C++)
1. ¿Booleanos o Números?
En C++, los booleanos están muy ligados a los enteros.
Internamente, false es 0.
true es 1 (o cualquier número que no sea 0).
Si haces un cout << (5 > 3);, C++ imprimirá un 1, no la palabra "true", a menos que uses el manipulador std::boolalpha.
2. El operador "Spaceship" (<=>)
Si usas C++20 o más reciente, existe un nuevo juguete llamado Three-way comparison operator. Se ve así: <=>.
Te dice de un solo golpe si algo es menor, igual o mayor, devolviendo un objeto que puedes comparar con 0. Es súper eficiente para ordenar estructuras de datos complejas.
3. Cuidado con los punteros y C-Strings
Este es el error donde todos caemos:
Si comparas dos std::string con ==, C++ compara el contenido (lo cual está perfecto).
Si comparas dos cadenas de "vieja escuela" (char*), C++ comparará las direcciones de memoria, no el texto. ¡Ojo ahí!
Semana No. 8: Estructura condiconal CASE 09/02/2026 14/02/2026
Clase: Estructura Condicional switch (CASE) en C++
Objetivo: Que el estudiante aprenda a seleccionar una opción entre múltiples
alternativas utilizando switch, evitando cadenas largas de if-else.
Primero aclara esto (MUY importante)
En C++ no existe CASE como palabra clave independiente.
Lo correcto es:
switch → estructura
case → cada opción
Muchos alumnos dicen “case”, pero debes enseñarles el nombre real:
Estructura SWITCH
¿Cuándo usar switch?
Usa switch cuando:
Existe una variable
Tiene varios valores posibles
Debes elegir uno
Semana No. 9: Tipos de Ciclos en C++ Desde 16/02/2026 al 21/02/2026
Se utiliza cuando no sabemos exactamente cuántas veces se repetirá el bloque, ya que depende de una condición lógica. Si la condición es falsa desde el inicio, el código nunca se ejecuta.
while (condicion) {
// Código a repetir
}
Ciclo do-while
Es el hermano rebelde del while. La diferencia clave es que se ejecuta al menos una vez, porque la condición se evalúa al final del bloque.
C++
do {
// Código a repetir
} while (condicion);
Ciclo for
Es el estándar cuando sabemos el número exacto de iteraciones (por ejemplo, del 1 al 100). Agrupa la inicialización, la condición y el incremento en una sola línea.
for (inicializacion; condicion; incremento) {
// Código a repetir
}
Ciclo for basado en rangos (C++11 en adelante)
Ideal para recorrer contenedores (como vectores o arreglos) de forma elegante y segura.
C++
for (tipo elemento : contenedor) {
// Uso de elemento
}
Semana No. 10: Ciclos Desde 23/02/2026 al 28/02/2026