Tutorial de Programación en C/C++. Bienvenido al tutorial de Programación en C/C++, un tutorial completo que te guiará desde los fundamentos más básicos hasta conceptos avanzados de estos lenguajes de programación. C y C++ son lenguajes de propósito general, potentes y de bajo nivel, utilizados en gran variedad de entornos como sistemas operativos, videojuegos, dispositivos embebidos y aplicaciones de alto rendimiento.
Este tutorial está diseñado tanto para principiantes que desean introducirse en la programación a nivel estructurado como para desarrolladores que desean avanzar hacia la programación orientada a objetos y conocer los recursos que ofrece C++. Iniciaremos con los conceptos esenciales de C, ya que C++ está construido sobre su base, y luego exploraremos las características específicas de C++ como la programación orientada a objetos.
A lo largo del curso realizaremos ejemplos prácticos, ejercicios que te permitirán poner en práctica lo aprendido.
Índice de Temas a Tratar
1. Introducción a C y C++
- ¿Qué es C y qué es C++?
- Diferencias clave entre C y C++
- Instalación de compiladores (GCC, MinGW, Clang)
- Entornos de Desarrollo (IDE y editores)
- Primer programa: “Hola, Mundo” en C y C++
- Compilación y ejecución de programas
2. Fundamentos del Lenguaje C
- Tipos de datos primitivos (int, float, char, etc.)
- Variables y constantes
- Operadores (aritméticos, relacionales, lógicos, bit a bit)
- Estructura general de un programa
- Entrada y salida estándar (
printf
,scanf
) - Comentarios y convenciones de código
3. Estructuras de Control
- Sentencias condicionales (
if
,else
,switch
) - Bucles (
for
,while
,do-while
) - Control de flujo (
break
,continue
,goto
)
4. Funciones en C y C++
- Declaración y definición de funciones
- Cabeceras y prototipos de funciones
- Paso de parámetros (por valor y por referencia)
- Retorno de valores
- Ámbito de las variables (global, local)
- Funciones recursivas
5. Arrays y Cadenas de Caracteres C/C++
- Arrays unidimensionales y multidimensionales
- Uso de bucles con arrays
- Cadenas de caracteres en C
- Funciones comunes de
<string.h>
(strlen
,strcpy
, etc.)
6. Punteros en C/C++
- ¿Qué es un puntero?
- Declaración, inicialización y uso
- Operadores
*
y&
- Punteros y arrays
- Punteros a funciones
- Punteros dobles y punteros a estructuras
7. Estructuras y Uniones
- Definición y uso de estructuras (
struct
) - Acceso a miembros
- Estructuras anidadas
- Uniones (
union
) - Tipos definidos por el usuario (
typedef
,enum
)
8. Memoria Dinámica
- Funciones de asignación de memoria (
malloc
,calloc
,realloc
,free
) - Gestión eficiente de memoria
- Ejemplos prácticos (listas, vectores)
9. Archivos en C/C++
- Archivos de texto y binarios
- Funciones básicas de archivo (
fopen
,fscanf
,fwrite
,fclose
) - Lectura y escritura línea a línea
- Modo de apertura (
r
,w
,a
,rb
, etc.) - Comprobación de errores
10. Introducción a C++
- Ventajas de C++ sobre C
- Sintaxis específica de C++
iostream
frente astdio.h
- Manejo de cadenas con
string
- Espacios de nombres (
namespace
) - Sobrecarga de funciones
11. Programación Orientada a Objetos en C++
- Clases y objetos
- Constructores y destructores
- Encapsulamiento
- Herencia y polimorfismo
- Sobrecarga de operadores
- Métodos estáticos y constantes
- Introducción a la programación genérica (plantillas)
12. Manejo de Excepciones
- try, catch y throw
- Captura de excepciones específicas
- Excepciones personalizadas
13. Bibliotecas Estándar y Utilidades
- STL (Standard Template Library)
- Vectores
- Listas
- Conjuntos y mapas
- Iteradores
- Algoritmos útiles (
sort
,find
, etc.) - Funciones lambda (C++11 en adelante)
14. Proyectos Prácticos
- Proyecto 1: Agenda de Contactos en C
- Proyecto 2: Calculadora Científica en C++
- Proyecto 3: Sistema de Gestión de Estudiantes con Archivos
- Proyecto 4: Simulación de Cola de Banco con Listas Dinámicas
- Proyecto 5: Juego de Adivinanza con Objetos en C++
15. Buenas Prácticas y Recursos
- Convenciones de estilo en C y C++
- Comentarios útiles y documentación
- Gestión de errores y depuración (
gdb
) - Recursos para seguir aprendiendo (documentación oficial, libros, tutoriales, foros)
Bibliografía del tutorial de C/C++.
- C/C++. Curso de programación. Autor: Miguel Angel Acera (Editorial: Anaya Multimedia)
- C/C++. Curso de programación. Autor: Francisco José Ceballos (Editorial: RA-MA)
- Un recorrido por C++. Autor Bjarne Stroustrup (Editorial: Anaya Multimedia)
- 115 Ejercicios resueltos de programación C++. Autor Jorge Fernando Betancourt e Inma Yolanda Polanco (Editorial: RA-MA)