DMarlon Studio

Curso de C

El lenguaje de los sistemas: rápido, cercano a la máquina y la base de casi todo lo demás.

En DMarlon Studio, C se escribe en la consola: el estudio compila y ejecuta con un clic y muestra los errores en la línea donde están.

Curso de C básico

20 lecciones

Desde cero: lo imprescindible para escribir sus primeros programas.

  1. 1Hola, mundoEscriba su primer programa en C: incluya stdio.h, cree la función main y muestre texto en pantalla con printf, \n y \t.Lección 1
  2. 2Variables y tipos básicosDeclare variables en C con los tipos int, double y char, cambie su valor, use const y vea con sizeof cuántos bytes ocupa cada tipo.Lección 2
  3. 3Aritmética y conversionesHaga cuentas en C: suma, resta, producto, la división entera, el resto con %, las conversiones (cast) a double e int y los atajos += y ++.Lección 3
  4. 4Formatos de printfDomine los especificadores de printf en C: %d, %f, %c y %s, los decimales con %.2f, los anchos de columna, %% y otros formatos para un tique.Lección 4
  5. 5Leer datos con scanfPida datos al usuario en C con scanf: palabras con %s, enteros con %d y decimales con %lf, y compruebe cuántos valores se han leído.Lección 5
  6. 6Decisiones con if y switchTome decisiones en C con if, else if y else, y elija entre varios casos con switch, case, break y default: temperaturas, notas y horarios.Lección 6
  7. 7Comparaciones y lógicaCompare valores en C con ==, !=, <, >= y combine condiciones con &&, || y !. Verdadero es 1 y falso es 0; además, el operador ternario ?:.Lección 7
  8. 8Bucles while y do-whileRepita código en C mientras se cumpla una condición con while, y con do-while cuando el bloque deba ejecutarse al menos una vez.Lección 8
  9. 9Bucles forUse el bucle for de C para contar hacia arriba y hacia abajo, sumar, saltar vueltas con continue, salir con break y anidar bucles.Lección 9
  10. 10ArraysGuarde muchos valores del mismo tipo en un array de C: las temperaturas de una semana, su media y su máximo, con índices que empiezan en 0.Lección 10
  11. 11Cadenas de caracteresTrabaje con textos en C como arrays de char terminados en '\0', con las funciones de string.h: strlen, strcpy, strcat y strcmp.Lección 11
  12. 12FuncionesAgrupe código en funciones de C: funciones void sin valor de vuelta, funciones con un parámetro y funciones que devuelven un resultado con return.Lección 12
  13. 13Parámetros, retorno y prototiposDeclare prototipos en C para escribir las funciones después de main, pase varios parámetros por valor y use varios return en una función.Lección 13
  14. 14Ámbito y variables staticEntienda dónde vive cada variable en C: globales, locales, de bloque y static, que conservan su valor entre llamadas a una función.Lección 14
  15. 15Punteros: dirección y valorAprenda qué es un puntero en C: la dirección de una variable con &, el valor con *, funciones que cambian variables ajenas y NULL.Lección 15
  16. 16Punteros y arraysDescubra la relación entre punteros y arrays en C: el nombre del array como dirección, la aritmética de punteros y arrays como parámetros.Lección 16
  17. 17EstructurasAgrupe datos relacionados en una struct de C: los productos de una tienda con nombre, precio y existencias, el punto, la flecha y punteros.Lección 17
  18. 18Enumeraciones y typedefDé nombre a valores fijos con enum en C y cree nombres de tipo cortos con typedef: un semáforo y los pedidos de una cafetería.Lección 18
  19. 19Escribir y leer archivosGuarde y lea datos en un archivo de texto en C con fopen, fprintf, fscanf y fclose, y añada líneas al final con el modo "a".Lección 19
  20. 20Proyecto: cuaderno de notasCombine todo lo aprendido en C en un cuaderno de notas: structs, arrays, enum, funciones, punteros y un informe guardado en un archivo.Lección 20

Para quien ya domina lo básico: las técnicas que se usan en proyectos reales.

  1. 1Punteros a punteros y aritméticaRecorra arrays en C con aritmética de punteros, reste punteros y use un puntero a puntero para que una función cambie a dónde apunta otro.Lección 1
  2. 2Memoria dinámica: malloc, calloc y freeReserve memoria en tiempo de ejecución en C con malloc y calloc, compruebe NULL y libérela con free: las notas de una clase y su histograma.Lección 2
  3. 3realloc y un array que creceConstruya en C un array dinámico que crece con realloc, duplicando su capacidad, para guardar lecturas de un sensor sin saber cuántas llegarán.Lección 3
  4. 4Cadenas a fondoTrocee líneas con strtok, construya textos con snprintf sin desbordar el búfer y copie con strncpy de forma segura en C, con strchr y strstr.Lección 4
  5. 5const y punterosDistinga en C entre puntero a const, puntero const y los dos a la vez, y use const en los parámetros para prometer que una función solo lee.Lección 5
  6. 6Punteros a funciones y callbacksGuarde funciones en variables y arrays con punteros a funciones en C y páselas como callbacks: reglas de precios aplicadas por pasos.Lección 6
  7. 7qsort y bsearch con comparadoresOrdene un array de structs en C con qsort y una función comparadora, y busque en él con bsearch: los productos de una tienda por precio y por código.Lección 7
  8. 8Structs con punteros en el montónCree en C un array de structs en el montón cuyos campos también son memoria dinámica, y libérelo todo en el orden correcto.Lección 8
  9. 9Una lista enlazadaPrograme en C una lista enlazada de tareas: nodos en el montón, añadir al final y al principio, borrar por id y liberar la lista entera.Lección 9
  10. 10Una pila y una colaUse una pila en C para comprobar si los paréntesis de una expresión están equilibrados y una cola circular para los trabajos de una impresora.Lección 10
  11. 11Un árbol binario de búsquedaConstruya en C un árbol binario de búsqueda que cuenta palabras: inserción recursiva, búsqueda, recorrido en orden y liberación del árbol.Lección 11
  12. 12Una tabla hashPrograme en C una tabla hash con encadenamiento: la función djb2, cubetas con listas enlazadas, colisiones y búsqueda de precios de bebidas.Lección 12
  13. 13Uniones y campos de bitsGuarde valores de distinto tipo en una unión con etiqueta y empaquete una fecha en bits con campos de bits en C, comprobando su tamaño con sizeof.Lección 13
  14. 14Operadores de bits y banderasGuarde varios permisos en un solo entero con banderas de bits en C: activar con |, quitar con & y ~, alternar con ^ y comprobar con &.Lección 14
  15. 15El preprocesadorUse el preprocesador de C: constantes y macros con parámetros, # y ##, compilación condicional con #if y guardas de inclusión en las cabeceras.Lección 15
  16. 16Funciones variádicasEscriba en C funciones con un número variable de argumentos usando stdarg.h: una media de n valores y un registro de mensajes al estilo de printf.Lección 16
  17. 17Errores: códigos de retorno y errnoGestione errores en C con códigos de retorno propios, errno, strtol y strerror: validar cantidades de un pedido y avisar si falta un archivo.Lección 17
  18. 18Archivos binarios: fwrite y freadGuarde structs en un archivo binario con fwrite, léalos con fread y salte a un registro con fseek en C para modificarlo sin reescribir el archivo.Lección 18
  19. 19Recursión y vuelta atrásResuelva el problema de las N reinas en C con recursión y vuelta atrás (backtracking): probar una opción, seguir y deshacerla si no lleva a nada.Lección 19
  20. 20Proyecto: gestor de inventarioUn pequeño gestor de inventario en C que reúne structs, memoria dinámica, una lista enlazada y archivos, y libera toda la memoria al terminar.Lección 20