C/C++

C/C++

Curso de programación

  • Author: Ceballos Sierra, Fco. Javier
  • Publisher: Rama Editorial
  • Serie: Profesional
  • ISBN: 9788499648262
  • Place of publication:  Madrid , Spain
  • Year of publication: 2019
  • Pages: 806
C es uno de los lenguajes de programación más populares. Permite realizar una programación estructurada sin límite a la creatividad del programador; además, los compiladores C tienen la ventaja de producir programas reducidos y muy rápidos en su ejecución. Por ello, muchos paquetes de software están escritos en C. Puesto que C++ fue desarrollado a partir del lenguaje de programación C, con pocas excepciones incluye a C, de ahí el título de este libro. Esta parte de C incluida en C++ es conocida como C– y podría compilarse como C++ sin problemas. No obstante, cuando se utiliza C++ para lo que fue pensado, esto es, para realizar una programación orientada a objetos, los conocimientos nuevos que hay que adquirir son cuantiosos. Este libro es el primero de una colección de tres: 1. C/C++: Curso de programación 2. Programación orientada a objetos con C++ 3. Enciclopedia de C++ que cubren el camino que hay que recorrer para llegar a desarrollar aplicaciones orientadas a objetos. El libro tercero incluye a los dos anteriores pero con un nuevo enfoque, ya que está basado exclusivamente en la biblioteca de C++. C/C++: Curso de programación es un libro: • Totalmente actualizado al estándar ISO/IEC 9899:2011, relativo al lenguaje C estándar (C11). • Con ejemplos claros y sencillos, fáciles de entender, que ilustran los fundamentos de la programación C. • Que le permitirá aprender lógica de programación. • Que le enseñará a trabajar con estructuras estáticas y dinámicas de datos y con archivos, y a utilizar algoritmos de uso común. • Con el que adquirirá unos elevados conocimientos en esta materia. • Con el que aprenderá a desarrollar aplicaciones. • Y con el que adquirirá la base necesaria para pasar a la programación orientada a objetos con C++. Incluye material adicional con todos los ejemplos realizados y con los URL del software necesario para que el lector pueda reproducirlos durante el estudio.
  • CONTENIDO
  • PRÓLOGO
    • Para quién es este libro
    • Cómo está organizado el libro
    • Sobre los ejemplos del libro
    • Agradecimientos
  • CAPÍTULO 1. DESARROLLO DE UN PROGRAMA
    • QUÉ ES UN PROGRAMA
    • LENGUAJES DE PROGRAMACIÓN
      • Compiladores
      • Intérpretes
    • ¿QUÉ ES C?
    • HISTORIA DEL LENGUAJE C
      • Lenguaje C++
    • REALIZACIÓN DE UN PROGRAMA EN C
      • Edición de un programa
        • ¿Qué hace este programa?
      • Guardar el programa escrito en el disco
      • Compilar y ejecutar el programa
        • Biblioteca de funciones
      • Guardar el programa ejecutable en el disco
      • Depurar un programa
    • UN AVANCE SOBRE LA PROGRAMACIÓN CON C
      • Entrada y salida
      • Sentencias de control
      • Funciones
      • Matrices
    • EJERCICIOS RESUELTOS
    • EJERCICIOS PROPUESTOS
  • CAPÍTULO 2. ELEMENTOS DEL LENGUAJE C
    • PRESENTACIÓN DE LA SINTAXIS DE C
    • CARACTERES DE C
      • Letras, dígitos y carácter de subrayado
      • Espacios en blanco
      • Caracteres especiales y signos de puntuación
      • Secuencias de escape
    • TIPOS DE DATOS
      • Tipos primitivos
        • char
        • bool
        • short
        • int
        • long
        • long long
        • enum
          • Creación de una enumeración
        • float
        • double
        • long double
      • Ejemplo: tipos de datos
      • Otros tipos enteros
      • Tipos complejo e imaginario
      • Tipos derivados
    • SINÓNIMOS DE UN TIPO
    • LITERALES
      • Literales enteros
      • Literales reales
      • Literales de un solo carácter
      • Literales de cadenas de caracteres
    • IDENTIFICADORES
    • PALABRAS CLAVE
    • COMENTARIOS
    • DECLARACIÓN DE CONSTANTES SIMBÓLICAS
      • Constantes C++
      • ¿Por qué utilizar constantes?
    • DECLARACIÓN DE UNA VARIABLE
      • Iniciación de una variable
    • EXPRESIONES NUMÉRICAS
    • OPERADORES
      • Operadores aritméticos
      • Operadores de relación
      • Operadores lógicos
      • Operadores unitarios
      • Operadores a nivel de bits
      • Operadores de asignación
      • Operador condicional
      • Otros operadores
        • Operador sizeof
        • Operador coma
        • Operador dirección-de
        • Operador de indirección
    • PRIORIDAD Y ORDEN DE EVALUACIÓN
    • CONVERSIÓN ENTRE TIPOS DE DATOS
    • EJERCICIOS RESUELTOS
    • EJERCICIOS PROPUESTOS
  • CAPÍTULO 3. ESTRUCTURA DE UN PROGRAMA
    • ESTRUCTURA DE UN PROGRAMA C
      • Directrices para el preprocesador
        • Directriz de inclusión
        • Directriz de sustitución
      • Definiciones y declaraciones
      • Sentencia simple
      • Sentencia compuesta o bloque
      • Funciones
        • Declaración de una función
        • Definición de una función
        • Llamada a una función
      • Función main
      • Un ejemplo
    • PASANDO ARGUMENTOS A LAS FUNCIONES
    • PROGRAMA C FORMADO POR MÚLTIPLES ARCHIVOS
    • ÁMBITO DE UNA VARIABLE
      • Variables globales y locales
    • CLASES DE ALMACENAMIENTO DE UNA VARIABLE
      • Calificación de variables globales
      • Calificación de variables locales
      • Calificación de funciones
    • EJERCICIOS RESUELTOS
    • EJERCICIOS PROPUESTOS
  • CAPÍTULO 4. ENTRADA Y SALIDA ESTÁNDAR
    • DATOS NUMÉRICOS Y CADENAS DE CARACTERES
    • FLUJOS DE E/S ESTÁNDAR
    • SALIDA CON FORMATO
      • Infinito y NaN
      • Macros para código independiente de la plataforma
    • ENTRADA CON FORMATO
    • CARÁCTER FIN DE ARCHIVO
    • CARÁCTER \n
    • LEER UN CARÁCTER DE LA ENTRADA ESTÁNDAR
    • LIMPIAR EL BUFFER DE LA ENTRADA ESTÁNDAR
    • ESCRIBIR UN CARÁCTER EN LA SALIDA ESTÁNDAR
    • LEER UNA CADENA DE CARACTERES
    • VALIDAR UN DATO DE ENTRADA
    • REUTILIZAR CÓDIGO
    • LIMPIAR LA PANTALLA
    • EJERCICIOS RESUELTOS
    • EJERCICIOS PROPUESTOS
  • CAPÍTULO 5. SENTENCIAS DE CONTROL
    • SENTENCIA if
    • ANIDAMIENTO DE SENTENCIAS if
    • ESTRUCTURA else if
    • SENTENCIA switch
    • SENTENCIA while
      • Bucles anidados
    • SENTENCIA do ... while
    • SENTENCIA for
    • SENTENCIA break
    • SENTENCIA continue
    • SENTENCIA goto
    • EJERCICIOS RESUELTOS
    • EJERCICIOS PROPUESTOS
  • CAPÍTULO 6. TIPOS ESTRUCTURADOS DE DATOS
    • INTRODUCCIÓN A LAS MATRICES
    • MATRICES NUMÉRICAS UNIDIMENSIONALES
      • Definir una matriz
      • Acceder a los elementos de una matriz
      • Trabajar con matrices unidimensionales
      • Matrices de longitud variable
      • Iniciar una matriz
      • Matrices asociativas
    • CADENAS DE CARACTERES
      • Leer y escribir una cadena de caracteres
        • Funciones gets_s y fgets
        • Función puts
      • Trabajar con cadenas de caracteres
      • Funciones de la biblioteca de C
    • TIPO Y TAMAÑO DE UNA MATRIZ
    • MATRICES MULTIDIMENSIONALES
      • Matrices numéricas multidimensionales
      • Matrices de cadenas de caracteres
    • COPIAR MATRICES
    • TRABAJAR CON BLOQUES DE BYTES
    • ESTRUCTURAS
      • Acceso a los miembros de una estructura
      • Crear una estructura
      • Definir variables de un tipo de estructura
      • Miembros que son estructuras
      • Operaciones con estructuras
      • Matrices de estructuras
    • UNIONES
      • Estructuras variables
    • CAMPOS DE BITS
    • EJERCICIOS RESUELTOS
    • EJERCICIOS PROPUESTOS
  • CAPÍTULO 7. PUNTEROS
    • CREACIÓN DE PUNTEROS
      • Operadores
      • Importancia del tipo del objeto al que se apunta
    • OPERACIONES CON PUNTEROS
      • Operación de asignación
      • Operaciones aritméticas
      • Comparación de punteros
      • Punteros genéricos
      • Puntero nulo
      • Calificadores
    • PUNTEROS Y MATRICES
      • Punteros a cadenas de caracteres
    • MATRICES DE PUNTEROS
      • Punteros a punteros
      • Matriz de punteros a cadenas de caracteres
      • Ordenar matrices de cadenas de caracteres
    • ASIGNACIÓN DINÁMICA DE MEMORIA
      • Funciones para administrar dinámicamente la memoria
        • malloc
        • free
      • Reasignar un bloque de memoria
    • MATRICES DINÁMICAS
      • Matrices dinámicas numéricas
        • Matrices dinámicas de una dimensión
        • Matrices dinámicas de dos dimensiones
      • Matrices dinámicas de cadenas de caracteres
    • PUNTEROS A ESTRUCTURAS
    • PUNTEROS COMO PARÁMETROS EN FUNCIONES
    • DECLARACIONES COMPLEJAS
    • EJERCICIOS RESUELTOS
    • EJERCICIOS PROPUESTOS
  • CAPÍTULO 8. MÁS SOBRE FUNCIONES
    • PASAR UNA MATRIZ COMO ARGUMENTO A UNA FUNCIÓN
      • Matrices estáticas
      • Matrices dinámicas
    • PASAR UN PUNTERO COMO ARGUMENTO A UNA FUNCIÓN
    • PASAR UNA ESTRUCTURA A UNA FUNCIÓN
    • DATOS RETORNADOS POR UNA FUNCIÓN
      • Retornar una copia de los datos
      • Retornar un puntero al bloque de datos
      • Retornar la dirección de una variable declarada static
    • ARGUMENTOS EN LA LÍNEA DE ÓRDENES
    • REDIRECCIÓN DE LA ENTRADA Y DE LA SALIDA
    • FUNCIONES EN LÍNEA
    • FUNCIONES RECURSIVAS
      • Nivel de recursión Proceso de ida (pila de llamadas) Proceso de vuelta
    • PUNTEROS A FUNCIONES
    • EJERCICIOS RESUELTOS
    • EJERCICIOS PROPUESTOS
  • CAPÍTULO 9. TRABAJAR CON ARCHIVOS
    • VISIÓN GENERAL DE LOS FLUJOS DE E/S
      • Flujo Dispositivo al que está vinculado
    • VISIÓN GENERAL DE UN ARCHIVO
    • ABRIR UN ARCHIVO
      • fopen
      • freopen
    • CERRAR UN ARCHIVO
      • fclose
    • MANIPULACIÓN DE ERRORES
      • ferror
      • clearerr
      • feof
      • perror
    • POSICIÓN DEL PUNTERO DE L/E
      • ftell
      • fseek
      • rewind
    • E/S CARÁCTER A CARÁCTER
      • fputc
      • fgetc
    • E/S DE CADENAS DE CARACTERES
      • fputs
      • fgets
    • ENTRADA/SALIDA CON FORMATO
      • fprintf
      • fscanf
    • E/S UTILIZANDO REGISTROS
      • fwrite
      • fread
    • ABRIENDO ARCHIVOS PARA ACCESO SECUENCIAL
      • Un ejemplo de acceso secuencial
    • ESCRIBIR DATOS EN UNA IMPRESORA
      • Escribir en una impresora USB
    • CONTROL DEL BUFFER ASOCIADO CON UN FLUJO
      • setvbuf
      • fflush
    • ARCHIVOS TEMPORALES
      • tmpfile
    • ABRIENDO ARCHIVOS PARA ACCESO ALEATORIO
    • EJERCICIOS RESUELTOS
    • EJERCICIOS PROPUESTOS
  • CAPÍTULO 10. EL PREPROCESADOR DE C
    • DIRECTRIZ #define
      • Macros predefinidas
      • Funciones en línea frente a macros
      • El operador #
      • El operador ##
    • DIRECTRIZ #undef
    • DIRECTRIZ #include
    • COMPILACIÓN CONDICIONAL
      • Operador defined
    • DIRECTRIZ #pragma
    • CONSTANTE DEFINIDA EN LA ORDEN DE COMPILACIÓN
    • DIRECTRICES #ifdef e #ifndef
    • DIRECTRIZ #line
    • DIRECTRIZ #error
    • EJERCICIOS RESUELTOS
    • EJERCICIOS PROPUESTOS
  • CAPÍTULO 11. ESTRUCTURAS DINÁMICAS
    • LISTAS LINEALES
      • Listas lineales simplemente enlazadas
      • Operaciones básicas
        • Inserción de un elemento al comienzo de la lista
        • Buscar en una lista un elemento con un valor x
        • Inserción de un elemento en general
        • Borrar un elemento de la lista
        • Recorrer una lista
        • Borrar todos los elementos de una lista
    • UN EJEMPLO CON LISTAS LINEALES
      • Interfaz genérica para listas lineales
    • LISTAS CIRCULARES
      • Interfaz para manipular una lcse
    • PILAS
    • COLAS
      • Ejemplo
    • LISTA DOBLEMENTE ENLAZADA
      • Lista circular doblemente enlazada
        • Interfaz para manipular una lcde
        • Ejemplo
    • ÁRBOLES
      • Árboles binarios
      • Formas de recorrer un árbol binario
    • ÁRBOLES BINARIOS DE BÚSQUEDA
      • Interfaz para manipular un árbol binario de búsqueda
      • Buscar un nodo en el árbol
      • Insertar un nodo en el árbol
      • Borrar un nodo del árbol
      • Utilización de la interfaz abb
    • ÁRBOLES BINARIOS PERFECTAMENTE EQUILIBRADOS
      • Interfaz para manipular un árbol perfectamente equilibrado
      • Utilización de la interfaz abe
    • EJERCICIOS RESUELTOS
    • EJERCICIOS PROPUESTOS
  • CAPÍTULO 12. ALGORITMOS DE USO COMÚN
    • RECURSIVIDAD
    • ORDENACIÓN DE DATOS
      • Método de la burbuja
      • Método de inserción
      • Método quicksort
      • Comparación de los métodos expuestos
    • BÚSQUEDA DE DATOS
      • Búsqueda secuencial
      • Búsqueda binaria
      • Búsqueda de cadenas
    • ORDENACIÓN DE ARCHIVOS EN DISCO
      • Ordenación de archivos. Acceso secuencial
      • Ordenación de archivos. Acceso aleatorio
    • ALGORITMOS HASH
      • Matrices hash
      • Método hash abierto
      • Método hash con desbordamiento
      • Eliminación de elementos
      • Interfaz hash abierto
      • Un ejemplo de una matriz hash
    • EJERCICIOS RESUELTOS
    • EJERCICIOS PROPUESTOS
  • APÉNDICE A. NOVEDADES DE C
    • COMENTARIOS DE UNA SOLA LÍNEA
    • LITERALES COMPUESTOS
    • INICIADORES DESIGNADOS
    • NUEVOS ÁMBITOS PARA DECLARACIONES
    • SOPORTE PARA TIPOS DE DATOS
      • Alineación
    • LITERALES EN COMA FLOTANTE EN HEXADECIMAL
    • MATRIZ DE LONGITUD VARIABLE
    • IDENTIFICADOR __func__ PREDEFINIDO
    • FUNCIONES EN LINEA
    • MACROS CON UN NÚMERO VARIABLE DE ARGUMENTOS
    • OPERADOR DE PREPROCESAMIENTO _Pragma
    • NÚMEROS COMPLEJOS
    • PUNTEROS RESTRICTIVOS
    • FUNCIONES SEGURAS
    • SE ELIMINA LA FUNCIÓN gets
    • ESTRUCTURAS Y UNIONES ANÓNIMAS
    • ESPECIFICADOR DE FUNCIÓN _Noreturn
    • SOPORTE PARA UNICODE
    • AFIRMACIONES ESTÁTICAS
    • MACROS GENÉRICAS
    • PROGRAMACIÓN CONCURRENTE
  • APÉNDICE B. ALGUNAS FUNCIONES DE LA BIBLIOTECA DE C
    • FUNCIONES DE CADENAS Y DE CARACTERES
      • strcat
      • strncat
      • strcpy
      • strncpy
      • strchr
      • strrchr
      • strcmp
      • strncmp
      • strcspn
      • strspn
      • strlen
      • strstr
      • strtok
      • Funciones para conversión de datos
      • atoi
      • atol
      • atof
      • sprintf
      • Funciones de caracteres
      • tolower
      • toupper
    • FUNCIONES MATEMÁTICAS
      • acos
      • asin
      • atan
      • atan2
      • cos
      • sin
      • tan
      • cosh
      • sinh
      • tanh
      • exp
      • log
      • log10
      • ceil
      • fabs
      • floor
      • pow
      • sqrt
    • NÚMEROS SEUDOALEATORIOS
      • rand
      • srand
    • FUNCIONES DE FECHA Y HORA
      • clock
      • time
      • ctime
      • localtime
      • asctime
    • FUNCIONES PARA MANIPULAR BLOQUES DE MEMORIA
      • memset
      • memcpy
      • memcmp
  • APÉNDICE C. ENTORNOS DE DESARROLLO
    • MICROSOFT VISUAL STUDIO
      • Instalación
      • Escribir una aplicación
      • Depurar la aplicación
      • A tener en cuenta
      • Interfaz de línea de órdenes
    • CREAR UNA BIBLIOTECA
    • CODEBLOCKS
      • Instalación
        • MinGW
        • CodeBlocks
      • Escribir una aplicación
    • LINUX: INTERFAZ DE LÍNEA DE ÓRDENES
      • El depurador gdb de GNU
  • APÉNDICE D . CÓDIGOS DE CARACTERES
    • UTILIZACIÓN DE CARACTERES ANSI CON WINDOWS
    • JUEGO DE CARACTERES ANSI
    • UTILIZACIÓN DE CARACTERES ASCII
    • JUEGO DE CARACTERES ASCII
    • JUEGO DE CARACTERES UNICODE
  • ÍNDICE

SUBSCRIBE TO OUR NEWSLETTER

By subscribing, you accept our Privacy Policy