0% encontró este documento útil (0 votos)
2 vistas10 páginas

C

C++ es un lenguaje de programación de alto nivel, compilado y de tipado estático, conocido por su eficiencia en aplicaciones de alto rendimiento como videojuegos y sistemas operativos. El documento cubre aspectos fundamentales como la sintaxis básica, estructuras de control, arrays, vectores, funciones y punteros. Se presentan ejemplos prácticos para ilustrar cada concepto y su uso en el desarrollo de software.

Cargado por

maceituno
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
2 vistas10 páginas

C

C++ es un lenguaje de programación de alto nivel, compilado y de tipado estático, conocido por su eficiencia en aplicaciones de alto rendimiento como videojuegos y sistemas operativos. El documento cubre aspectos fundamentales como la sintaxis básica, estructuras de control, arrays, vectores, funciones y punteros. Se presentan ejemplos prácticos para ilustrar cada concepto y su uso en el desarrollo de software.

Cargado por

maceituno
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

=============================================================================

===

C++ - ESENCIALES BÁSICOS

=============================================================================
===

¿Qué es C++?

C++ es un lenguaje de programación de alto nivel, compilado, de tipado estático y fuerte. Fue
creado por Bjarne Stroustrup en 1985 como una extensión del lenguaje C. Es conocido por su
alto rendimiento y control sobre el hardware.

Características principales:
- Compilado (no interpretado)

- Manejo manual de memoria (punteros, new/delete)

- Soporta programación orientada a objetos (clases, herencia, polimorfismo)

- Soporta programación genérica (plantillas/templates)

- Muy eficiente para sistemas, videojuegos y aplicaciones de tiempo real

Usos típicos:

- Videojuegos (Unreal Engine)

- Sistemas operativos

- Motores de bases de datos

- Aplicaciones de alto rendimiento

=============================================================================
===

SINTAXIS BÁSICA Y VARIABLES

Estructura mínima de un programa:

#include <iostream>

using namespace std;


int main() {

cout << "Hola mundo" << endl;

return 0;

Comentarios:

// Comentario de una línea

/* Comentario

de múltiples líneas */

Variables (deben declarar tipo):

string nombre = "Ana"; // Nota: requiere #include <string>

int edad = 25; // entero

double altura = 1.65; // decimal de doble precisión

bool activo = true; // booleano

Tipos de datos básicos:

int -> números enteros (4 bytes): 10, -3, 0

double -> decimales (8 bytes): 3.14, -0.5

float -> decimales de menor precisión (4 bytes): 3.14f

char -> un solo carácter (1 byte): 'A', 'b'

bool -> true o false (1 byte)

string -> cadena de texto, requiere #include <string>

Tamaños aproximados (dependen del sistema):

cout << sizeof(int) << endl; // normalmente 4

cout << sizeof(double) << endl; // normalmente 8

Entrada y salida por consola:

#include <iostream>
#include <string>

using namespace std;

int main() {

string nombre;

int edad;

cout << "¿Cómo te llamas? ";

getline(cin, nombre); // Lee línea completa

cout << "¿Cuántos años tienes? ";

cin >> edad; // Lee número

cout << "Hola " << nombre << ", tienes " << edad << " años" << endl;

return 0;

=============================================================================
===

ESTRUCTURAS DE CONTROL

Condicional if / else if / else:

int edad = 18;


if (edad < 12) {

cout << "Niño" << endl;

} else if (edad < 18) {

cout << "Adolescente" << endl;

} else {

cout << "Adulto" << endl;


}

Switch:

int dia = 3;

switch(dia) {

case 1:

cout << "Lunes" << endl;

break;

case 2:

cout << "Martes" << endl;

break;

case 3:

cout << "Miércoles" << endl;

break;

default:

cout << "Día inválido" << endl;

Operador ternario:

int edad = 20;

string mensaje = (edad >= 18) ? "Mayor de edad" : "Menor de edad";

cout << mensaje << endl;

Bucle for clásico:

for (int i = 0; i < 5; i++) {

cout << i << endl; // 0,1,2,3,4

Bucle for con rango (C++11):

int numeros[] = {1, 2, 3, 4, 5};

for (int num : numeros) {


cout << num << endl;

Bucle while:

int contador = 0;

while (contador < 3) {

cout << contador << endl;

contador++;

Bucle do-while (ejecuta al menos una vez):

int x = 10;

do {

cout << "Se ejecuta una vez" << endl;

} while (x < 5);

break y continue:

for (int i = 0; i < 5; i++) {

if (i == 2) continue; // Salta el 2

if (i == 4) break; // Termina en 4

cout << i << endl; // 0,1,3

=============================================================================
===

ARRAYS Y VECTORES

Arrays estáticos (tamaño fijo en tiempo de compilación):

// Declaración

int numeros[5]; // {? , ? , ? , ? , ?}
int valores[3] = {10, 20, 30};

string nombres[] = {"Ana", "Luis", "Carlos"};

// Acceso por índice

cout << nombres[0] << endl; // Ana

// Modificar

nombres[0] = "Maria";

// Recorrer

for (int i = 0; i < 3; i++) {

cout << nombres[i] << endl;

// Tamaño calculado

int tamano = sizeof(nombres) / sizeof(nombres[0]);

Array dinámico (con punteros, memoria manual):

int* miArray = new int[5]; // Asigna memoria

miArray[0] = 10;

delete[] miArray; // Libera memoria (¡importante!)

Vector (tamaño dinámico, recomendado):

#include <vector>

vector<string> frutas;

frutas.push_back("manzana");

frutas.push_back("pera");

frutas.push_back("plátano");

cout << frutas[0] << endl; // manzana


cout << [Link]() << endl; // 3

frutas.pop_back(); // Elimina el último

// Recorrer vector

for (int i = 0; i < [Link](); i++) {

cout << frutas[i] << endl;

// Recorrer con for rango (C++11)

for (string fruta : frutas) {

cout << fruta << endl;

=============================================================================
===

FUNCIONES Y PUNTEROS

Funciones básicas:

#include <iostream>

using namespace std;

// Declaración (prototipo)

int sumar(int a, int b);

void saludar(string nombre);

int main() {

cout << sumar(3, 5) << endl; // 8

saludar("Ana"); // Hola Ana

return 0;

}
// Definición

int sumar(int a, int b) {

return a + b;

void saludar(string nombre) {

cout << "Hola " << nombre << endl;

Parámetros por valor vs por referencia:

// Por valor (copia, no modifica original)

void duplicarValor(int x) {

x = x * 2;

// Por referencia (modifica original)

void duplicarReferencia(int &x) {

x = x * 2;

int main() {

int a = 5;

duplicarValor(a);

cout << a << endl; // 5 (no cambió)

duplicarReferencia(a);

cout << a << endl; // 10 (cambió)

Parámetros por defecto:


void saludar(string nombre = "Invitado") {

cout << "Hola " << nombre << endl;

saludar(); // Hola Invitado

saludar("Ana"); // Hola Ana

Punteros básicos (guardan direcciones de memoria):

int numero = 42;

int* puntero = &numero; // puntero guarda la dirección de 'numero'

cout << numero << endl; // 42 (el valor)

cout << &numero << endl; // dirección de memoria

cout << puntero << endl; // misma dirección

cout << *puntero << endl; // 42 (el valor al que apunta)

// Modificar a través del puntero

*puntero = 100;

cout << numero << endl; // 100

Ejemplo práctico (factorial):

int factorial(int n) {

int resultado = 1;

for (int i = 1; i <= n; i++) {

resultado *= i;

return resultado;

cout << factorial(5) << endl; // 120

=============================================================================
===
FIN DEL DOCUMENTO C++

=============================================================================
===

También podría gustarte