IntroducciónCómo usar este libro
1. El entorno de programación
1.1. Introducción
1.2. El entorno de programación
1.3. Introducción a los ficheros ejecutables
1.4. Depuración de un programa
2. Introducción a la programación en lenguaje C
2.1. Introducción
2.2. Introducción al lenguaje C
2.2.1. Cabecera del programa
2.2.2. Declaración de ficheros INCLUDE
2.2.3. Declaración de constantes y variables globales
2.2.4. Declaración de funciones
2.2.5. El programa principal
2.3. Elementos de un programa en lenguaje C
2.3.1. Palabras clave o reservadas del lenguaje C
2.3.2. Identificadores
2.3.3. Los operadores
2.3.4. Las expresiones
2.3.5. Los signos de puntuación
2.3.6. Los datos
2.3.7. Los comentarios
2.4. Escritura y ejecución del primer programa
3. Variables y constantes
3.1. Introducción
3.2. Los datos en lenguaje C
3.3. Los datos simples en el lenguaje C
3.3.1. Los datos simples ordinales en el lenguaje C
3.3.2. Los datos simples reales en el lenguaje C
3.4. Nombres de las variables
3.5. Las constantes
3.6. Declaración de variables
3.7. El almacenamiento de datos
3.7.1. Tipos de constantes y variables según el tipo de almacenamiento
4. Las expresiones y operadores
4.1. Introdución
4.2. Las expresiones y los operadores
4.2.1. Operadores aritméticos
4.2.2. Operadores de relación
4.2.3. Operadores lógicos
4.2.4. Operadores de asignación
4.2.5. Operadores direccionales
4.2.6. Prioridad en la ejecución de los operadores
5. Variables estructuradas
5.1. Introducción a las variables estructuradas
5.2. Variables estructuradas de tipo array
5.3. Variables de registro
5.4. Uniones
5.5. Campos de bits
5.6. Listas enumeradas
5.7. Sinónimos de tipos de datos (typedef)
5.8. La documentación interna de un programa
5.9. Laboratorio de lenguaje C
5.9.1 Enunciado
5.9.2. Solución al laboratorio 5.8
5.10. Laboratorio de lenguaje C.
5.10.1. Enunciado
5.10.2. Solución al laboratorio 5.9.2
5.11. Laboratorio de lenguaje C
5.11.1. Enunciado
5.11.2. Solución al laboratorio 5.10
6. Control de un flujo de programa
6.1. Introducción
6.2. Introducción a la programación estructurada
6.3. El control de flujo de un programa
6.4. Ejecución condicionada de una sentencia: if ... else
6.5. Control de flujo en bloques alternativos
6.5.1. Sentencia if ... else
6.5.2. Sentencia switch ... case
6.6. Laboratorio de lenguaje C
6.6.1. Enunciado
6.6.2. Solución al laboratorio 6.6
7. Estructuras de bloques repetitivos
7.1. Introducción
7.2. Introducción a los bloques repetitivos
7.3. Bloques repetitivos con contador; la sentencia for(...)
7.3.1. La sentencia continue
7.4. Bloques repetitivos condicionados con la evaluación de la condición al final del bloque; la sentencia do...while(...)
7.5. Bloques repetitivos condicionados con la evaluación de la condición al inicio del bloque: la sentencia while(...)
7.6. Laboratorio de Lenguaje C
7.6.1. Enunciado
7.6.2. Solución al laboratorio 7.6
7.7. Laboratorio de Lenguaje C
7.7.1. Enunciado
7.7.2. Solución al laboratorio 7.7
7.8. Laboratorio de Lenguaje C
7.8.1. Enunciado
7.8.2. Solución al laboratorio 7.8
8. Las funciones
8.1. Introducción
8.2. Introducción al uso de funciones
8.2.1. Ventajas de la utilización de funciones
8.3. Paso de argumentos por valor
8.4. Paso de argumentos por referencia
8.5. Punteros a funciones
8.6. Programación estructurada con funciones
8.7. Laboratorio de lenguaje C
8.7.1. Enunciado
8.7.2. Solución al laboratorio 8.7
9. Punteros
9.1. Introducción
9.2. Aritmética de punteros
9.2.1. Puntero a una cadena de caracteres
9.2.2. Puntero a un array de enteros
9.3. Paso de punteros en argumentos de funciones
9.4. Punteros a estructuras
9.5. Puntero a una función
9.6. Puntero de un puntero
10. Envío de textos y caracteres a la pantalla
10.1. Introducción
10.2. Escritura de textos en la pantalla
10.2.1. La escritura de textos en la pantalla; la función printf
10.2.2. La escritura de textos en la pantalla; la función wprintf
10.3. La escritura de caracteres en la pantalla; la función putc y putwc
10.4. Laboratorio de lenguaje C
10.4.1. Enunciado
11. Entrada de datos a través del teclado
11.1. Introducción
11.2. Lectura de respuestas desde el teclado
11.3. La familia de funciones scanf
11.4. Lectura de cadenas de caracteres en la consola; la función gets
11.5. Lectura de un carácter en la consola; la función getchar
11.6. Entrada de datos a través de los argumentos de ejecución del programa
11.7. Laboratorio de lenguaje C
11.7.1. Enunciado
11.7.2. Solución al laboratorio 11.7
12. Gestión de caracteres y cadenas
12.1. Introducción
12.2. Funciones que permiten investigar la naturaleza de un carácter
12.3. Funciones de gestión de cadenas de caracteres
12.4. Laboratorio de lenguaje C
12.4.1. Enunciado
12.4.2. Solución al laboratorio 12.4
12.5. Laboratorio de lenguaje C
12.5.1. Enunciado
12.5.2. Solución al laboratorio 12.5
13. Gestión de bloques de memoria
13.1. Introducción
13.2. Introducción a la gestión de memoria
13.3. Reserva de memoria con la función malloc
13.4. Reserva de memoria con la función calloc
13.5. Funciones que permiten copiar, rellenar e investigar bloques de memoria
13.5.1. Funciones que copian bloques de memoria; memcpy y memmove
13.5.2. Función de búsqueda de un carácter; memchr
13.5.3. Función de relleno con un carácter memset
13.6. Laboratorio de lenguaje C
13.6.1. Enunciado
13.6.2. Solución al laboratorio 13.6
13.7. Laboratorio de lenguaje C
13.7.1. Enunciado
13.7.2. Solución al laboratorio 13.7
14. Funciones matemáticas y de conversión de textos a valores numéricos
14.1. Introducción
14.2. Funciones matemáticas
14.2.1. Las funciones de redondeo; ceil y floor
14.2.2. Valor absoluto de un número
14.2.3. Descomposición de un número real en parte entera y parte decimal
14.2.4. Raíz cuadrada de un número real
14.2.5. División entre enteros
14.2.6. Funciones trigonométricas
14.2.7. Logaritmos
14.2.8. Descomposición de un número real en mantisa y exponente
14.3. Funciones que obtienen el valor numérico de una cadena de dígitos
15. Tiempos, fechas y números aleatorios
15.1. Introducción
15.2. Funciones de gestión de tiempos y fechas
15.2.1. Fecha y hora del sistema
15.2.2. Fecha y hora UTC
15.2.3. Fecha y hora local
15.2.4. Construcción de una fecha y hora
15.2.5. Medición del tiempo transcurrido en un programa
15.2.6. Diferencia entre dos datos de fecha y hora
15.3. Números aleatorios
16. Ficheros de texto
16.1. Introducción
16.2. Introducción al uso de ficheros
16.3. Técnicas para el manejo de ficheros
16.4. Asignación de un canal a un fichero
16.5. Escritura de datos en un fichero
16.6. Lectura de datos en un fichero de texto
16.7. Escritura de ficheros con formato
16.8. Laboratorio de lenguaje C
16.8.1. Enunciado
16.8.2. Solución al laboratorio 16.6
16.9. Laboratorio de lenguaje C
16.9.1. Enunciado
16.9.2. Solución al laboratorio 16.9
17. Ficheros de acceso directo
17.1. Introducción
17.2. Ficheros de acceso directo
17.3. Control de la posición del cursor en un fichero
17.4. Ficheros de acceso directo
18. Recursividad y métodos de ordenación
18.1. Introducción
18.2. Funciones recursivas
18.3. Métodos de ordenación
18.3.1. Ordenación de un array; función qsort
18.4. Métodos de ordenación implementados por el programador
18.4.1. Método de la burbuja
18.4.2. Método de la concha
18.4.3. Método de la inserción
18.4.4. Método QuickSort
18.4.5. Eficacia de los métodos de ordenación
18.5. Laboratorio de lenguaje C
18.5.1. Enunciado
18.5.2. Solución al laboratorio de lenguaje C 18.5
18.6. Laboratorio de lenguaje C
18.6.1. Enunciado
18.6.2. Solución al laboratorio de lenguaje C 18.6
19. Listas estructuradas
19.1. Introducción
19.2. Estructuras dinámicas
19.3. Listas de enlace simple
19.3.1. Operaciones elementales con listas de enlace simple
19.4. Listas de enlace doble
19.5. Árboles binarios
20. Llamadas al sistema operativo
20.1. Introducción
20.2. La función system
20.3. Investigación y cambio de las variables de entorno del sistema operativo
20.4. Creación de un nuevo proceso; función spawn
20.5. Terminación de un proceso; funciones exit y atexit
21. Directrices para el preprocesador
21.1. Introducción
21.2. Directrices para el preprocesador
21.2.1. Directriz #define
21.2.2. Directriz #undef
21.2.3. Compilación condicional
21.2.4. Directrices #ifdef e #ifndef
21.2.5. Directriz #line
21.2.6. Directriz #error
21.2.7. Directriz #pragma
Apéndice. Funciones del lenguaje C incorporadas a la norma ANSI
Índice alfabético