• 1.Introducción
    • 1.1.La programación imperativa
    • 1.2.Modelos abstractos de cómputo
    • 1.3.El lenguaje de programación C
  • 2.Composición secuencial en C
    • 2.1.Un programa simple
    • 2.2.La función main
    • 2.3.Sintaxis del lenguaje C
    • 2.4.Funciones estándar de C
    • 2.5.Variables y constantes
      • 2.5.1.Comentarios
      • 2.5.2.Declaración de variables
      • 2.5.3.Tipos de variables
      • 2.5.4.Modificadores de los tipos de variables
      • 2.5.5.Constantes
    • 2.6.Más sobre printf
    • 2.7.La función scanf
    • 2.8.La sentencia de asignación
    • 2.9.Expresiones aritméticas
    • 2.10.Reglas de precedencia y orden de evaluación
    • 2.11.Conversión de tipos: reales y enteros
    • 2.12.Operadores enteros
  • 3. Estructuras condicionales
    • 3.1.La estructura if-else
      • 3.1.1.Expresiones de condición
      • 3.1.2.Precedencia en las expresiones condicionales
      • 3.1.3.Bloques
    • 3.2.Selecciones múltiples.
      • 3.2.1.La estructura if-else-if
      • 3.2.2.La estructura switch
    • 3.3.Ejercicios-Estructuras condicionales
    • 3.4.Ejercicios propuestos-Estructuras condicionales
  • 4.Estructuras iterativas
    • 4.1.El bucle while
    • 4.2.El bucle do...while
    • 4.3.El bucle for
    • 4.4.Anidamiento de bucles
    • 4.5.La sentencia break en bucles
    • 4.6.Ejercicios-Estructuras iterativas
    • 4.7.Ejercicios propuestos-Estructuras iterativas
  • 5.Diseño descendente
    • 5.1.Funciones
    • 5.2.Ámbito de las variables
    • 5.3.Metodología del diseño descendente
    • 5.4.Ejercicios-Diseño descendente
    • 5.5.Ejercicios propuestos-Diseño descendente
  • 6.Lectura y tratamiento secuencial
    • 6.1.Entrada/salida por flujo (streaming)
    • 6.2.Entrada/salida por ficheros en C
    • 6.3.Recorrido secuencial
    • 6.4.Fusión de ficheros
    • 6.5.Ejercicios-Lectura y tratamiento secuencial
    • 6.6.Ejercicios propuestos-Lectura y tratamiento secuencial
  • 7. Tablas, matrices y punteros
    • 7.1.Array Unidimensional
    • 7.2.Array bidimensional o matriz
    • 7.3.Definición de puntero
    • 7.4.Paso de parámetros y arrays a funciones
    • 7.5.Inicialización de arrays
    • 7.6.Ejercicios-Tablas, matrices y punteros
    • 7.7.Ejercicios propuestos-Tablas, matrices y punteros
  • 8.Tipos definidos por el usuario
    • 8.1.Estructuras
    • 8.2.Punteros a estructuras
    • 8.3.Uniones
    • 8.4.Enumeraciones
    • 8.5.Definición de nuevos nombres de tipo
    • 8.6.Ejercicios-Tipos definidos por el usuario
    • 8.7.Ejercicios propuestos-Tipos definidos por el usuario