Sintaxis básica de C++

C++C++Beginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderás la estructura fundamental de un programa en C++, explorarás los elementos básicos de sintaxis y entenderás el proceso de ejecución. Esta experiencia práctica está diseñada para principiantes y te proporcionará una base sólida para escribir y entender código en C++ utilizando un entorno WebIDE.

Configuración de tu primer programa en C++

Comencemos creando y examinando un simple programa en C++. Esto te ayudará a entender la estructura básica y los componentes de un programa en C++.

  1. En el WebIDE, debes ver un explorador de archivos en el lado izquierdo. Haz clic derecho en el área del explorador de archivos y selecciona "Nuevo archivo".
  2. Nombrar el nuevo archivo hello.cpp y presiona Enter.
  3. El nuevo archivo debería abrirse en el editor. Si no es así, haz doble clic en hello.cpp en el explorador de archivos para abrirlo.
  4. En el editor, escribe el siguiente código en C++:
#include <iostream>
using namespace std;

int main() {
    cout << "Hello, C++!" << endl;
    return 0;
}
Captura de pantalla del editor de código C++

Desglosemos este código:

  1. #include <iostream>: Esta es una directiva del preprocesador que incluye la biblioteca de flujos de entrada/salida. Es como decirle a C++ que queremos utilizar herramientas para operaciones de entrada y salida.
  2. using namespace std;: Esta línea nos permite utilizar elementos de la biblioteca estándar sin tener que anteponer std::. Es como decir "Quiero utilizar el conjunto estándar de herramientas sin tener que especificar de dónde vienen cada vez".
  3. int main() {... }: Esta es la función principal, donde comienza la ejecución del programa. Todo programa en C++ debe tener una función main. El int antes de main indica que esta función devolverá un valor entero.
  4. cout << "Hello, C++!" << endl;: Esta línea muestra el texto "Hello, C++" en la consola. cout se utiliza para la salida, << es el operador de salida y endl agrega una nueva línea después del texto.
  5. return 0;: Esto indica que el programa se ha ejecutado correctamente. Un valor de retorno de 0 se utiliza típicamente para indicar que todo salió como se esperaba.

Ahora, compilemos y ejecutemos nuestro programa:

  1. Busca un panel de terminal o consola en tu WebIDE. Si no lo ves, es posible que debas abrirlo (por lo general, hay una opción como "Nueva terminal" en un menú "Terminal" o "Ver").

  2. En la terminal, asegúrate de estar en el directorio correcto. Puedes utilizar el comando pwd para verificar tu directorio actual y cd para navegar si es necesario.

  3. Para compilar el programa, escribe el siguiente comando en la terminal:

    g++ -o hello hello.cpp
  4. Para ejecutar el programa compilado, escribe:

    ./hello

Deberías ver la salida: Hello, C++!

Terminal mostrando la salida del programa

Si encuentras algún error, revisa tu código en busca de errores tipográficos. Recuerda, C++ distingue entre mayúsculas y minúsculas, así que cout es diferente de Cout o COUT.

Comprendiendo variables y tipos de datos

En este paso, exploraremos las variables y los tipos de datos básicos en C++. Las variables se utilizan para almacenar datos en un programa, y entender los diferentes tipos de datos es crucial para una programación eficiente.

  1. En el WebIDE, crea un nuevo archivo llamado variables.cpp. Puedes hacer esto haciendo clic derecho en el explorador de archivos y seleccionando "Nuevo archivo".
  2. Abre variables.cpp en el editor y escribe el siguiente código:
#include <iostream>
#include <string>
using namespace std;

int main() {
    // Integer variable
    int age = 25;

    // Floating-point variable
    float height = 1.75;

    // Character variable
    char grade = 'A';

    // Boolean variable
    bool isStudent = true;

    // String variable (C++ string class)
    string name = "Alice";

    cout << "Name: " << name << endl;
    cout << "Age: " << age << " years" << endl;
    cout << "Height: " << height << " meters" << endl;
    cout << "Grade: " << grade << endl;
    cout << "Is a student: " << (isStudent? "Yes" : "No") << endl;

    return 0;
}

Desglosemos los diferentes tipos de datos utilizados:

  1. int: Se utiliza para números enteros. En nuestro ejemplo, age es un entero.
  2. float: Se utiliza para números decimales. Lo usamos para height. También existe double, que proporciona más precisión pero utiliza más memoria.
  3. char: Se utiliza para caracteres individuales. Nuestra variable grade es un char.
  4. bool: Se utiliza para valores verdadero/falso. isStudent es una variable booleana.
  5. string: Se utiliza para texto. Ten en cuenta que incluimos <string> en la parte superior para utilizar este tipo.

El programa demuestra cómo declarar variables de diferentes tipos y cómo mostrarlas utilizando cout.

Observa la línea cout << "Is a student: " << (isStudent? "Yes" : "No") << endl;. Esto utiliza un operador ternario ?: que es una forma abreviada de una declaración if-else. Significa "si isStudent es verdadero, imprime 'Yes', de lo contrario imprime 'No'".

Para compilar y ejecutar el programa:

  1. En el panel de terminal de tu WebIDE, asegúrate de estar en el directorio correcto.

  2. Compila el programa con:

    g++ -o variables variables.cpp
  3. Ejecuta el programa con:

    ./variables

Si ves algún error, revisa si hay errores tipográficos. Los errores comunes incluyen olvidarse de los puntos y comas al final de las declaraciones o no coincidir las comillas.

Estructuras de control - Sentencias if y bucles

Las estructuras de control te permiten controlar el flujo de tu programa. Exploremos las sentencias if y los bucles, que son fundamentales para crear programas dinámicos y receptivos.

  1. En el WebIDE, crea un nuevo archivo llamado control.cpp.
  2. Abre control.cpp en el editor y escribe el siguiente código:
#include <iostream>
using namespace std;

int main() {
    int number;
    cout << "Enter a number: ";
    cin >> number;

    // If statement
    if (number > 0) {
        cout << "The number is positive." << endl;
    } else if (number < 0) {
        cout << "The number is negative." << endl;
    } else {
        cout << "The number is zero." << endl;
    }

    // For loop
    cout << "Counting from 1 to 5:" << endl;
    for (int i = 1; i <= 5; i++) {
        cout << i << " ";
    }
    cout << endl;

    // While loop
    int count = 5;
    cout << "Countdown:" << endl;
    while (count > 0) {
        cout << count << " ";
        count--;
    }
    cout << endl;

    return 0;
}

Desglosemos las estructuras de control utilizadas:

  1. Sentencia If-Else:
    Esto permite que el programa tome decisiones. La estructura es:

    if (condition) {
        // code to execute if condition is true
    } else if (another condition) {
        // code to execute if this condition is true
    } else {
        // code to execute if no conditions are true
    }
  2. Bucle For:
    Se utiliza cuando sabes cuántas veces quieres repetir un bloque de código. La estructura es:

    for (initialization; condition; update) {
        // code to repeat
    }

    En nuestro ejemplo, int i = 1 inicializa la variable del bucle, i <= 5 es la condición para continuar el bucle y i++ actualiza la variable del bucle después de cada iteración.

  3. Bucle While:
    Se utiliza cuando quieres repetir un bloque de código mientras una condición sea verdadera. La estructura es:

    while (condition) {
        // code to repeat
    }

    En nuestro ejemplo, el bucle continúa mientras count > 0.

Para compilar y ejecutar el programa:

  1. En el panel de terminal de tu WebIDE, asegúrate de estar en el directorio correcto.

  2. Compila el programa con:

    g++ -o control control.cpp
  3. Ejecuta el programa con:

    ./control

Cuando ejecutes el programa, te pedirá que ingreses un número. Prueba con diferentes números (positivos, negativos, cero) para ver cómo funciona la sentencia if. Luego, el programa demostrará el bucle for y el bucle while independientemente de tu entrada.

Si encuentras algún error, revisa problemas comunes como puntos y comas faltantes, llaves desemparejadas o errores tipográficos en los nombres de las variables.

Funciones en C++

Las funciones son bloques de código que realizan tareas específicas. Ayudan a organizar el código, haciéndolo reutilizable y más fácil de entender. Vamos a crear un programa que demuestre el uso de funciones.

  1. En el WebIDE, crea un nuevo archivo llamado functions.cpp.
  2. Abre functions.cpp en el editor y escribe el siguiente código:
#include <iostream>
using namespace std;

// Function to calculate the square of a number
int square(int num) {
    return num * num;
}

// Function to check if a number is even
bool isEven(int num) {
    return num % 2 == 0;
}

// Function with default parameter
void greet(string name = "Guest") {
    cout << "Hello, " << name << "!" << endl;
}

int main() {
    int number = 7;

    cout << "Square of " << number << " is: " << square(number) << endl;

    if (isEven(number)) {
        cout << number << " is even." << endl;
    } else {
        cout << number << " is odd." << endl;
    }

    greet();  // Uses default parameter
    greet("Alice");  // Provides a name

    return 0;
}

Desglosemos los componentes de este programa:

  1. Definición de función:
    Una función se define con un tipo de retorno, un nombre y parámetros (si los hay). Por ejemplo:

    int square(int num) {
        return num * num;
    }

    Esta función toma un entero num, lo eleva al cuadrado y devuelve el resultado.

  2. Función con retorno booleano:

    bool isEven(int num) {
        return num % 2 == 0;
    }

    Esta función devuelve true si el número es par, false en caso contrario. El operador % da el resto de la división.

  3. Función con parámetro por defecto:

    void greet(string name = "Guest") {
        cout << "Hello, " << name << "!" << endl;
    }

    Esta función tiene un parámetro por defecto. Si no se proporciona ningún argumento al llamar a la función, utilizará "Guest".

  4. Llamadas a funciones:
    En la función main(), demostramos cómo llamar a estas funciones y utilizar sus valores de retorno.

Para compilar y ejecutar el programa:

  1. En el panel de terminal de tu WebIDE, asegúrate de estar en el directorio correcto.

  2. Compila el programa con:

    g++ -o functions functions.cpp
  3. Ejecuta el programa con:

    ./functions

Este programa demuestra cómo se pueden utilizar las funciones para organizar el código en piezas manejables y reutilizables. Si encuentras algún error, revisa errores tipográficos, puntos y comas faltantes o llaves desemparejadas. Además, asegúrate de utilizar los nombres de función correctos al llamarlos.

Operaciones básicas de entrada y salida

En este último paso, crearemos un programa que demuestre diversas operaciones de entrada y salida en C++. Entender cómo interactuar con los usuarios a través de la entrada y la salida es crucial para crear programas interactivos.

  1. En el WebIDE, crea un nuevo archivo llamado io_operations.cpp.
  2. Abre io_operations.cpp en el editor y escribe el siguiente código:
#include <iostream>
#include <iomanip>  // For setprecision
#include <string>   // For string operations
using namespace std;

int main() {
    string name;
    int age;
    double height;

    // Input operations
    cout << "Enter your name: ";
    getline(cin, name);  // Reads a full line, including spaces

    cout << "Enter your age: ";
    cin >> age;

    cout << "Enter your height in meters: ";
    cin >> height;

    // Output operations
    cout << "\n--- Your Information ---\n";
    cout << "Name: " << name << endl;
    cout << "Age: " << age << " years" << endl;

    // Setting precision for floating-point output
    cout << fixed << setprecision(2);
    cout << "Height: " << height << " meters" << endl;

    // Using width and fill for formatted output
    cout << "\nFormatted Age Display:\n";
    cout << setw(10) << setfill('.') << left << "Age" << setw(5) << right << age << endl;

    return 0;
}

Desglosemos los componentes clave de este programa:

  1. Encabezados adicionales:

    • #include <iomanip>: Este encabezado proporciona manipuladores de entrada/salida como setprecision y setw.
    • #include <string>: Este encabezado es para operaciones con cadenas, aunque a menudo se incluye implícitamente con <iostream>.
  2. Operaciones de entrada:

    • getline(cin, name): Esto lee una línea completa de entrada, incluyendo espacios. Es útil para leer nombres o frases.
    • cin >> age: Esto lee un solo valor en la variable age. El operador >> se utiliza para la entrada.
  3. Operaciones de salida:

    • cout << "Text" << variable << endl: Esta es la operación básica de salida. El operador << se utiliza para la salida.
    • endl: Esto agrega una nueva línea y vacía el búfer de salida.
  4. Formateo de la salida:

    • cout << fixed << setprecision(2): Esto establece la salida de números de punto flotante para mostrar siempre 2 decimales.
    • setw(10): Esto establece el ancho del siguiente campo de salida en 10 caracteres.
    • setfill('.'): Esto establece el carácter de relleno en '.' para cualquier espacio vacío en un campo.
    • left y right: Estos establecen la alineación de la salida dentro de su campo.

Para compilar y ejecutar el programa:

  1. En el panel de terminal de tu WebIDE, asegúrate de estar en el directorio correcto.

  2. Compila el programa con:

    g++ -o io_operations io_operations.cpp
  3. Ejecuta el programa con:

    ./io_operations

Cuando ejecutes el programa, te pedirá que ingreses tu nombre, edad y altura. Después de ingresar esta información, el programa la mostrará de nuevo en un formato adecuado.

Problemas comunes a tener en cuenta:

  • Si tu programa omite la entrada del nombre, probablemente sea debido a un carácter de nueva línea que queda en el búfer de entrada. Para solucionar esto, puedes agregar cin.ignore(); antes de getline(cin, name);.
  • Asegúrate de ingresar un número válido para la edad y la altura. Ingresar valores no numéricos puede causar un comportamiento inesperado.

Este programa demuestra cómo manejar diferentes tipos de entrada, incluyendo cadenas con espacios, y cómo formatear la salida para una mejor legibilidad. Estas habilidades son esenciales para crear programas interactivos y amigables con el usuario en C++.

Resumen

En este laboratorio, has adquirido experiencia práctica con los conceptos fundamentales de la programación en C++ utilizando un entorno WebIDE. Has aprendido:

  1. Cómo crear, compilar y ejecutar un programa básico de C++ en un WebIDE.
  2. El uso de variables y diferentes tipos de datos en C++.
  3. Cómo implementar estructuras de control como sentencias if y bucles.
  4. La creación y uso de funciones para organizar y reutilizar código.
  5. Operaciones básicas de entrada y salida, incluyendo el formateo de la salida.

Estos conceptos forman la base de la programación en C++ y serán esenciales a medida que avances hacia temas más avanzados. Recuerda, la práctica es clave en la programación. Intenta modificar estos programas o crear nuevos para reforzar tu aprendizaje. No temas experimentar y cometer errores: la depuración (debugging) es una habilidad importante que debes desarrollar.

A medida que continúes tu viaje en C++, descubrirás características más avanzadas del lenguaje, como la programación orientada a objetos, las plantillas (templates) y el trabajo con la biblioteca estándar. Sigue explorando y ¡feliz codificación!

Utilizar un WebIDE para el desarrollo en C++ puede ser muy conveniente, especialmente para los principiantes. Proporciona un entorno consistente y elimina muchos problemas de configuración. Sin embargo, a medida que avances, es posible que desees explorar entornos de desarrollo locales y IDEs como Visual Studio, CLion o Code::Blocks para obtener características más avanzadas y tiempos de compilación más rápidos.