C++ Básicoc++estructurabásicosintaxis

Estructura de un Programa en C++

Aprende la estructura básica de un programa en C++ para programación competitiva

OOI Oaxaca9 de febrero de 20264 min read

Estructura básica

Todo programa en C++ sigue una estructura fundamental:

#include <iostream>
using namespace std;

int main() {
    // Tu código aquí
    return 0;
}

Analicemos cada parte:

Directivas de preprocesador

#include <iostream>

Las directivas #include importan bibliotecas. Las más comunes son:

BibliotecaUso
<iostream>Entrada/salida (cin, cout)
<cmath>Funciones matemáticas
<string>Manejo de cadenas
<vector>Arreglos dinámicos
<algorithm>Algoritmos (sort, find)

Para competencias, usamos el header que incluye todo:

#include <bits/stdc++.h>

Espacio de nombres

using namespace std;

Esto nos permite usar cout en lugar de std::cout.

Función main

int main() {
    // Código
    return 0;
}
  • int indica que devuelve un entero
  • main() es el punto de entrada del programa
  • return 0 indica que el programa terminó correctamente

Template para competencias

Este es el template recomendado para programación competitiva:

#include <bits/stdc++.h>
using namespace std;

// Macros útiles
#define int long long
#define endl '\n'
#define pb push_back
#define all(x) (x).begin(), (x).end()

void solve() {
    // Tu solución aquí
}

signed main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);

    int t = 1;
    // cin >> t; // Descomenta si hay múltiples casos
    while (t--) {
        solve();
    }

    return 0;
}

Explicación del template

Optimización de entrada/salida

ios_base::sync_with_stdio(false);
cin.tie(NULL);

Estas líneas aceleran significativamente la lectura y escritura de datos.

Macro para evitar overflow

#define int long long

Redefine int como long long para evitar errores de overflow.

Usar signed main

signed main()

Necesario cuando usamos #define int long long.

Comentarios

// Esto es un comentario de una línea

/*
   Esto es un comentario
   de múltiples líneas
*/

Ejemplo completo: Hola Mundo

#include <iostream>
using namespace std;

int main() {
    cout << "¡Hola, Mundo!" << endl;
    return 0;
}

Salida:

¡Hola, Mundo!

Ejemplo: Sumar dos números

#include <iostream>
using namespace std;

int main() {
    int a, b;
    cin >> a >> b;
    cout << a + b << endl;
    return 0;
}

Entrada:

5 3

Salida:

8

Errores comunes

1. Olvidar el punto y coma

// ❌ Error
cout << "Hola"

// ✅ Correcto
cout << "Hola";

2. Usar comillas incorrectas

// ❌ Error (comillas tipográficas)
cout << "Hola";

// ✅ Correcto (comillas rectas)
cout << "Hola";

3. Case sensitivity

// ❌ Error (C++ es sensible a mayúsculas)
Int main()
COUT << "Hola";

// ✅ Correcto
int main()
cout << "Hola";

4. Olvidar incluir bibliotecas

// ❌ Error (no se incluyó iostream)
int main() {
    cout << "Hola";
}

// ✅ Correcto
#include <iostream>
using namespace std;
int main() {
    cout << "Hola";
}

Compilación y ejecución

En terminal (Linux/Mac)

# Compilar
g++ -o programa programa.cpp

# Ejecutar
./programa

Con flags de competencia

g++ -std=c++17 -O2 -Wall programa.cpp -o programa
FlagSignificado
-std=c++17Usar estándar C++17
-O2Optimización nivel 2
-WallMostrar todas las advertencias

Ejercicio de práctica

Escribe un programa que lea tu nombre y lo salude:

Entrada:

Juan

Salida:

¡Hola, Juan!
Ver solución
#include <iostream>
#include <string>
using namespace std;

int main() {
    string nombre;
    cin >> nombre;
    cout << "¡Hola, " << nombre << "!" << endl;
    return 0;
}

Siguiente paso

Aprende sobre Tipos de Datos y Variables para almacenar información en tus programas.