PopularRecorrido
Aprende programación en C
Aprende programación en C desde cero con un curso online gratis e interactivo. Domina variables, condicionales, bucles, funciones, estructuras de datos y organización de proyectos con retos prácticos, proyectos reales, pistas de IA y un certificado al terminar.
114,799+ codders inscritos
Este recorrido incluye
Ayuda de codificación con IA
Lecciones interactivas prácticas
Narración de audio en cada lección
Cuestionarios para poner a prueba tu conocimiento
Certificado gratuito de finalización
Programa
3 secciones187 lecciones163 retos1,042 preguntas de quiz01Sección 1
Fundamentals
Build a strong foundation with essential concepts and basic skillsEMPEZAR A APRENDERIntroducción
4 lecciones326- 01Lenguaje CReto
- 02¡Hola Mundo!RetoQuizAudio
- 03ComentariosQuizAudio
- 04Estructura básica de un programaRetoQuizAudio
Variables
11 lecciones1485- 01Tipos de datosRetoQuizAudio
- 02EnterosRetoQuizAudio
- 03Float - DoubleRetoMaestríaQuizAudio
- 04CaracteresRetoQuizAudio
- 05BooleanosRetoMaestríaQuizAudio
- 06ConstantesRetoQuizAudio
- 07Conceptos básicos de printfRetoQuizAudio
- 08Reglas para nombrar variablesRetoQuizAudio
- 09Conversión de tipos Parte 1RetoMaestríaQuizAudio
- 10Conversión de tipos Parte 2RetoQuizAudio
- 11Desafío de repasoReto
Operadores
9 lecciones1161- 01Operadores aritméticosRetoQuizAudio
- 02Operador de móduloRetoMaestríaQuizAudio
- 03Incremento/DecrementoRetoQuizAudio
- 04Operadores de asignaciónRetoQuizAudio
- 05Operadores relacionalesRetoQuizAudio
- 06Operadores lógicos - Parte 1RetoQuizAudio
- 07Operadores lógicos - Parte 2RetoQuizAudio
- 08Operadores lógicos - Parte 3RetoMaestríaQuizAudio
- 09Desafío de repasoReto
Flujo de control
7 lecciones944- 01Sentencia IfRetoQuizAudio
- 02If - ElseRetoQuizAudio
- 03Else-IfRetoMaestríaQuizAudio
- 04Switch CaseRetoMaestríaQuizAudio
- 05Operador condicional ternarioRetoQuizAudio
- 06Desafío de repasoReto
- 07If - Else anidadosRetoQuizAudio
Entrada y salida
5 lecciones626- 01Especificadores de formatoRetoQuizAudio
- 02Fundamentos de scanfRetoMaestríaQuizAudio
- 03Desafío de repaso #1Reto
- 04Validación de entradaRetoQuizAudio
- 05Desafío de repaso #2Reto
Bucles
9 lecciones1053- 01Bucle ForRetoMaestríaQuizAudio
- 02Bucle WhileRetoQuizAudio
- 03Bucle Do WhileRetoQuizAudio
- 04BreakRetoQuizAudio
- 05ContinueRetoQuizAudio
- 06Desafío de repaso #1Reto
- 07Bucles anidadosRetoMaestríaQuizAudio
- 08Bucles infinitosQuizAudio
- 09Desafío de repaso #2Reto
Funciones
7 lecciones1039- 01Declarar una funciónRetoQuizAudio
- 02Tipos de retornoRetoMaestríaQuizAudio
- 03ParámetrosRetoMaestríaQuizAudio
- 04Desafío de repaso n.º 1Reto
- 05Fundamentos de recursividadRetoMaestríaQuizAudio
- 06Prototipos de funcionesRetoQuizAudio
- 07Desafío de repaso n.º 2Reto
Arreglos
8 lecciones1247- 01Declaración de arreglosRetoQuizAudio
- 02Acceso a elementosRetoQuizAudio
- 03Modificación de elementosRetoMaestríaQuizAudio
- 04Arreglos multidimensionalesRetoMaestríaQuizAudio
- 05Desafío de repaso #1Reto
- 06Arreglos como argumentos de funcionesRetoMaestríaQuizAudio
- 07Algoritmos de arreglosRetoMaestríaQuizAudio
- 08Desafío de repaso #2Reto
Desafíos finales
3 lecciones3- 01CalificacionesReto
- 02PicosReto
- 03TVReto
02Sección 2
Logic & Flow
Master advanced C programming with a focus on data structures and flow control. Learn to work with complex arrays, collections, error handling, and time management.EMPEZAR A APRENDERFundamentos de Punteros
6 lecciones540- 01¿Qué es un puntero?Quiz
- 02Declaración de punterosRetoQuiz
- 03El operador de dirección (&)RetoQuiz
- 04El operador de desreferencia (*)RetoQuiz
- 05Punteros NULLRetoQuiz
- 06Resumen: Conceptos básicos de punterosReto
Punteros y Arrays
5 lecciones531- 01Nombres de Arrays como PunterosRetoQuiz
- 02Elementos de un Array - PunterosRetoQuiz
- 03Aritmética de PunterosRetoQuiz
- 04Comparación de PunterosRetoQuiz
- 05Resumen: Recorrido de Arrays con PunterosReto
Arreglos de caracteres y cadenas
8 lecciones858- 01Cadenas como arreglos de charRetoQuiz
- 02El terminador nuloRetoQuiz
- 03Entrada de cadenas con scanfRetoQuiz
- 04Uso de strlen()RetoQuiz
- 05Uso de strcpy()RetoQuiz
- 06Uso de strcat()RetoQuiz
- 07Uso de strcmp()RetoQuiz
- 08Resumen: Funciones básicas de cadenasReto
Proyecto: Utilidad de texto simple
Proyecto5 lecciones1- 01Descripción general del proyectoReto
- 02Contar caracteresProyecto
- 03Contar vocalesProyecto
- 04Convertir a mayúsculasProyecto
- 05Resultado finalProyecto
Punteros y funciones
6 lecciones641- 01Paso por valorRetoQuiz
- 02Pasar punteros a funcionesRetoQuiz
- 03Modificar variables mediante punterosRetoQuiz
- 04Un ejemplo clásico: Intercambio (Swap)RetoQuiz
- 05Pasar arrays a funcionesRetoQuiz
- 06Resumen: Argumentos de punteros a funcionesReto
Gestión de memoria
7 lecciones652- 01Memoria Stack vs. HeapQuiz
- 02Asignación dinámica - malloc()RetoQuiz
- 03Uso de sizeof() para la asignaciónRetoQuiz
- 04Comprobación de fallos de asignaciónRetoQuiz
- 05Liberación de memoria con free()RetoQuiz
- 06Asignación con calloc()RetoQuiz
- 07Resumen: Arrays dinámicosReto
Estructuras (structs)
6 lecciones540- 01¿Qué es un struct?Quiz
- 02Declaración de un structRetoQuiz
- 03Creación de variables de tipo structRetoQuiz
- 04Acceso a los miembros de un structRetoQuiz
- 05Inicialización de structsRetoQuiz
- 06Resumen: Struct de datos de estudiantesReto
Estructuras y Punteros
6 lecciones643- 01Punteros a estructurasRetoQuiz
- 02El operador flecha (->)RetoQuiz
- 03Pasar estructuras por valorRetoQuiz
- 04Pasar punteros a estructurasRetoQuiz
- 05Asignación dinámica de estructurasRetoQuiz
- 06Resumen: Modificar estructuras - PtrReto
Proyecto: Registro de contacto simple
Proyecto5 lecciones1- 01Proyecto: Definir la estructura ContactReto
- 02Función para crear un contactoProyecto
- 03Función para rellenar un contactoProyecto
- 04Función para mostrar un contactoProyecto
- 05Poniéndolo todo juntoProyecto
Enums y Typedef
6 lecciones640- 01enum para constantes con nombreRetoQuiz
- 02Declaración y uso de enumsRetoQuiz
- 03Enums en sentencias switchRetoQuiz
- 04Uso de typedef para alias de tiposRetoQuiz
- 05typedef con structsRetoQuiz
- 06Repaso: Práctica de typedef y enumsReto
Desafíos de repaso final
3 lecciones3- 01Repaso: Concatenación dinámica de stringsReto
- 02Repaso: Array de structsReto
- 03Repaso: Contador de frecuencia de palabrasReto
03Sección 3
Object Oriented Programming
Discover how to organize code with classes, objects, and reusable structuresEMPEZAR A APRENDERFundamentos de programación modular
5 lecciones433- 01Archivos de cabeceraQuiz
- 02Guardas de inclusiónRetoQuiz
- 03Archivos fuenteRetoQuiz
- 04Funciones estáticasRetoQuiz
- 05Repaso: Calculadora modularReto
Objetos y métodos
6 lecciones642- 01Structs como objetosRetoQuiz
- 02El puntero 'Self'RetoQuiz
- 03Const CorrectnessRetoQuiz
- 04Puntero vs. ValorRetoQuiz
- 05Métodos auxiliaresRetoQuiz
- 06Resumen: Point ManagerReto
Ciclo de vida de los objetos
5 lecciones533- 01Patrón ConstructorRetoQuiz
- 02Patrón DestructorRetoQuiz
- 03Inicialización en StackRetoQuiz
- 04Copia profundaRetoQuiz
- 05Resumen: String WrapperReto
Encapsulamiento
5 lecciones435- 01Concepto de punteros opacosQuiz
- 02Definición de structs opacosRetoQuiz
- 03Getters y SettersRetoQuiz
- 04Validación en settersRetoQuiz
- 05Resumen: Caja secretaReto
Proyecto: Cuenta bancaria simple
Proyecto6 lecciones1- 01Configuración del proyectoReto
- 02Implementación de la cuentaProyecto
- 03Lógica de depósitoProyecto
- 04Lógica de retiroProyecto
- 05Obtener saldoProyecto
- 06Final del proyecto: Bucle principalProyecto
Herencia mediante composición
5 lecciones531- 01Incrustación de StructsRetoQuiz
- 02La regla del primer miembroRetoQuiz
- 03Acceso a miembros padreRetoQuiz
- 04UpcastingRetoQuiz
- 05Resumen: Jerarquía de formasReto
Punteros a funciones
5 lecciones534- 01Declaración de punteros a funcionesRetoQuiz
- 02Llamada a punteros a funcionesRetoQuiz
- 03Typedef para punteros a funcionesRetoQuiz
- 04Pasar funciones como argumentosRetoQuiz
- 05Repaso: Dispatch de calculadoraReto
Polimorfismo
6 lecciones641- 01Punteros a funciones en estructurasRetoQuiz
- 02Simulando métodosRetoQuiz
- 03El concepto de interfazRetoQuiz
- 04Implementando interfacesRetoQuiz
- 05Iteración polimórficaRetoQuiz
- 06Resumen: GreeterReto
Proyecto: Dibujador de figuras
Proyecto5 lecciones1- 01Descripción general del proyectoReto
- 02Implementación del círculoProyecto
- 03Implementación del rectánguloProyecto
- 04Uso polimórficoProyecto
- 05Contenedor de figurasProyecto
Contenedores genéricos
5 lecciones534- 01Repaso de punteros voidRetoQuiz
- 02Wrapper genéricoRetoQuiz
- 03Swap genéricoRetoQuiz
- 04Comparación genéricaRetoQuiz
- 05Repaso: Array genéricoReto
Patrones de diseño en C
4 lecciones425- 01Patrón SingletonRetoQuiz
- 02Patrón FactoryRetoQuiz
- 03Patrón IteratorRetoQuiz
- 04Resumen: Logger FactoryReto
Desafíos finales
4 lecciones48- 01Personaje de RPGReto
- 02Constructor de strings dinámicoReto
- 03Pila genéricaReto
- 04Sistema de eventosRetoQuiz
Por qué aprender programación en C con Coddy
- Curso de programación en C online y gratis: sin instalación, sin configurar herramientas y sin barreras para empezar. Abre el navegador y practica desde la primera lección.
- Lecciones prácticas de programación en C que van más allá de un tutorial: cada concepto viene con un reto para escribir código real y entenderlo haciendo.
- Las pistas de IA te ayudan cuando te bloqueas en un ejercicio de programación en C, explicando el siguiente paso sin darte la solución completa.
- Certificado gratis de finalización para compartir en LinkedIn o añadir al CV como prueba de que completaste un curso interactivo de programación en C.
Preguntas frecuentes sobre aprender programación en C
¿programación en C es fácil de aprender?
Sí, puedes empezar con programación en C aunque no tengas experiencia previa. Coddy divide los conceptos en ejercicios cortos para que entiendas la sintaxis, practiques variables, condicionales, bucles, funciones, estructuras de datos y organización de proyectos y ganes confianza paso a paso.
¿Cuánto tiempo se tarda en aprender programación en C?
Los fundamentos de programación en C suelen aprenderse en una o dos semanas de práctica diaria. Para sentirte cómodo creando proyectos reales, reserva de uno a tres meses según tu ritmo y tu experiencia previa.
¿Dónde puedo aprender programación en C online gratis?
Coddy ofrece un curso online gratis de programación en C con lecciones, retos de código, cuestionarios y proyectos. No necesitas instalar nada: todo funciona en el navegador.
¿Cómo puedo aprender programación en C rápido?
La forma más rápida es practicar todos los días. En Coddy alternas explicación breve, ejercicio inmediato y feedback con pistas de IA, así que pasas más tiempo escribiendo programación en C que mirando videos largos.
¿Recibo un certificado de programación en C al terminar?
Sí. Al completar el curso de programación en C en Coddy recibes un certificado gratis de finalización que puedes compartir en LinkedIn o añadir a tu currículum.
¿Qué puedo crear después de aprender programación en C?
Después del curso podrás crear scripts útiles, pequeñas apps, automatizaciones, juegos sencillos y proyectos que puedes mostrar en tu portfolio. También tendrás una base sólida para seguir con temas más avanzados.