PROGRAMACIÓN EN C
  • PROGRAMACIÓN EN C

PROGRAMACIÓN EN C

32,88 € - 5% 34,62 € impuestos incl

Disponibilidad de 3 a 7 días aproximadamente

Código 11692
9788419034250
Agregar a favoritos

Santiago Higuera de Frutos

Septiembre de 2025        Páginas: 498

Código 11692      ISBN/EAN: 9788419034250

CONTENIDO:

Este libro introduce al lector en la programación en C de manera gradual, sin necesidad de conocimientos previos. A lo largo de sus capítulos se incluyen cientos de ejemplos repartidos estratégicamente para ilustrar cada idea, junto con más de 200 ejercicios propuestos cada uno acompañado de su solución, que permiten practicar y afianzar los contenidos, de manera que el lector pueda comprobar su progreso y, al mismo tiempo, aprender distintas formas de abordar un mismo problema.

El lenguaje C tiene una larga tradición en el mundo de la ingeniería y la computación, y en el se apoyan otros muchos lenguajes modernos. Aprender C significa adquirir un conocimiento profundo de los fundamentos de la programación, de la relación entre el código y la máquina, y de los principios que siguen vigentes en entornos actuales. C, con su sencillez y potencia, ofrece al principiante una oportunidad única de comprender de verdad cómo se construye un programa desde sus cimientos.

Este libro no pretende únicamente enseñar a programar en C, sino formar en el arte de pensar de manera algorítmica, rigurosa y creativa. Su meta es que el lector, desarrolle una herramienta intelectual que les sea útil durante toda su vida profesional como ingeniero.


INDICE EXTRACTADO:

1 Introducción a los ordenadores y los lenguajes de programación
1.1 Sistemas de numeración. El sistema binario

1.2 El Ordenador
1.3 El sistema operativo
1.4 El sistema de archivos
1.5 Lenguajes de programación
1.6 Algoritmos

2 Instalación y primeros pasos
2.1 Herramientas de trabajo

2.2 El primer programa: Hola mundo
2.3 Comentarios en los programas
2.4 Recursos online
2.5 Conclusión

3 Tipos de datos y variables
3.1 Lenguajes completos

3.2 Expresiones
3.3 Introducción a los tipos de datos
3.4 Tipos de datos primitivos
3.5 Variables y asignación de valores
3.6 Operadores en C
3.7 Orden de precedencia de los operadores
3.8 Tipos personalizados con el operador typedef
3.9 Entrada y salida básica: printf(), puts() y scanf()
Ejercicios propuestos

4 Bifurcaciones
4.1 Bifurcaciones

4.2 Diagramas de flujo
4.3 Instrucciones de bloque
4.4 Valores booleanos
4.5 La instrucción if ... else
4.6 Bifurcaciones if sin rama else
4.7 if anidados
4.8 La instrucción if...else if...else
4.9 Elección de alternativas con switch
4.10 El operador ternario
Ejercicios propuestos

5 Bucles
5.1 Introducción

5.2 Bucles while
5.3 El bucle for
5.4 Bucles do... while
5.5 Modificación de flujo en bucles: break, continue y return
5.6 Bucles infinitos
5.7 Algoritmos clásicos basados en bucles
5.8 La instrucción goto
Ejercicios propuestos

6 Arrays
6.1 Definición de array en C

6.2 Creación de variables de tipo array
6.3 Acceso a las componentes de un array
6.4 El tamaño del array
6.5 Arrays multidimensionales
6.6 Tipos de arrays personalizados con typedef
6.7 Algoritmos básicos que utilizan arrays
6.8 Algoritmos de conteo y búsqueda secuencial
Ejercicios propuestos

7 Funciones
7.1 Motivación: ¿por qué utilizar funciones?

7.2 Definición de funciones
7.3 Declaración (prototipo) de funciones
7.4 Ámbito y duración de las variables
7.5 Funciones recursivas
7.6 Arrays como parámetros de funciones
7.7 Buenas prácticas en la definición de funciones
7.8 Parámetros en la función main()
7.9 Organización modular del código fuente
Ejercicios propuestos

8 Cadenas de caracteres
8.1 Declaración e inicialización de cadenas

8.2 Entrada y salida de cadenas
8.3 Recorrido y manipulación de cadenas
8.4 Tipos de datos personalizados para cadenas
Ejercicios propuestos

9 Estructuras
9.1 El concepto de la lógica de negocio

9.2 Definición de estructuras
9.3 Estructuras complejas
9.4 Utilización del operador de asignación con estructuras
9.5 El operador typedef con estructuras
9.6 Uso de estructuras en funciones
9.7 Formas singulares de declaración de estructuras
9.8 Campos de bits en estructuras
9.9 Notación UML
Ejercicios propuestos

10 Uniones y enumeraciones
10.1 Introducción

10.2 Enumeraciones (enum)
10.3 Uniones (union)
10.4 Combinación de enum y union: uniones etiquetadas
10.5 Aplicaciones prácticas
10.6 Buenas prácticas y estilo
Ejercicios propuestos

11 Punteros
11.1 Introducción: ¿Por qué se necesitan punteros?
11.2 Direcciones de memoria y el operador &
11.3 Declaración e inicialización de punteros
11.4 Inicialización de punteros
11.5 El operador de indirección *
11.6 Punteros y arrays. Aritmética de punteros
11.7 Punteros y funciones
11.8 Punteros a estructuras
11.9 Punteros y cadenas de caracteres
11.10 Punteros y const
11.11 Punteros nulos y punteros inválidos
11.12 Buenas prácticas y errores comunes
11.13 Tamaño de tipos y memoria: sizeof y
size_t

11.14 Punteros a void
11.15 Punteros a funciones
Ejercicios propuestos

12 Funciones para manipular cadenas de caracteres
12.1 Introducción

12.2 Medir la longitud de una cadena
12.3 Comparar cadenas
12.4 Concatenar cadenas
12.5 Buscar caracteres y subcadenas
12.6 Inicialización de cadenas
12.7 Casos prácticos
12.8 Consideraciones sobre seguridad y portabilidad
12.9 Resumen y tabla de funciones
12.10 Otras funciones de string.h
Ejercicios propuestos

13 Estructuras complejas de datos
13.1 Introducción

13.2 Arrays estáticos
13.3 Arrays con huecos
13.4 Arrays compactados
13.5 Soluciones mixtas
Ejercicios propuestos

14 Entrada y salida por pantalla
14.1 Introducción

14.2 E/S de caracteres individuales
14.3 Salidas con formato: printf()
14.4 Entradas con formato: scanf()
14.5 Entrada y salida sobre cadenas de caracteres
Ejercicios propuestos

15 Lectura y escritura de ficheros
15.1 Forma de almacenamiento de los ficheros

15.2 Concepto de fichero
15.3 Ficheros de texto y ficheros binarios
15.4 Operativa básica con ficheros
15.5 Apertura de un fichero
15.6 Cierre del fichero
15.7 Escritura de ficheros binarios
15.8 Lectura de ficheros binarios
15.9 El cursor del fichero
15.10 Comprobación de errores de lectura o escritura
15.11 Escritura de ficheros de texto
15.12 Lectura de ficheros de texto con f s c a n f () y f g e t s()
Ejercicios propuestos

16 Asignación dinámica de memoria
16.1 ¿Por qué necesitamos memoria dinámica?

16.2 Conceptos básicos
16.3 Funciones para asignar memoria
16.4 Algunos ejemplos
16.5 Errores comunes y problemas típicos
16.6 Herramientas para detectar errores
16.7 Asignación dinámica en estructuras complejas
Ejercicios propuestos

17 La biblioteca estándar de C
17.1 Introducción

17.2 Funciones para cálculos matemáticos
17.3 Números complejos: complex.h
17.4 Generación de números aleatorios
17.5 La biblioteca time.h
17.6 Tipos y conversiones
17.7 Utilidades varias
Ejercicios propuestos

18 Programación modular en C
18.1 Introducción a la programación modular

18.2 Estructura básica de un programa modular en C
18.3 La directiva include
18.4 Guardas de inclusión
18.5 Declaraciones y definiciones
18.6 La palabra clave extern
18.7 Proceso de compilación y enlace
18.8 Organización de proyectos
18.9 Ejemplos prácticos
18.10 Resumen y buenas prácticas
Ejercicios propuestos

19 Caracteres y cadenas Unidoce
19.1 Introducción

19.2 Conceptos sobre codificación de caracteres
19.3 Unicode y codificaciones UTF-8, UTF-16 y UTF-32
19.4 Caracteres y cadenas multibyte en C
19.5 El tipo wchar_t y las cadenas de caracteres anchos
19.6 La función setlocale() y el entorno regional
19.7 Entrada y salida con cadenas anchas
19.8 Code Pages en la consola de Windows
19.9 Conversión entre codificaciones
19.10 Buenas prácticas para trabajar con Unicode en C
19.11 Análisis de compatibilidad y portabilidad
Ejercicios propuestos

También le puede interesar