C/C++ : curso de programación / Fco. Javier Ceballos Sierra.

AUTOR: Francisco Javier Ceballos Sierra
ISBN: 9788478977628
EDITOR: Ra-Ma
IDIOMA: spa
PÁGINAS: XIX, 685
AÑO: 2007

 
   
RECOMENDADO EN LAS SIGUIENTES ASIGNATURAS
Informática (079)
 
RESUMEN

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, para realizar una programación orientada a objetos, los conocimientos nuevos que hay que adquirir son cuantiosos.
 
INDICE

CAPÍTULO 1. FASES EN EL 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
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
short
int
long
enum
Creación de una enumeración
float
double
Ejemplo: tipos de datos
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 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 FICHEROS
Á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
ENTRADA CON FORMATO
CARÁCTER FIN DE FICHERO
CARÁCTER \n
Limpiar el buffer de la entrada estándar
LEER UN CARÁCTER DE LA ENTRADA ESTÁNDAR
ESCRIBIR UN CARÁCTER EN LA SALIDA ESTÁNDAR
FUNCIONES getch y getche
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
Iniciar una matriz
Matrices asociativas
CADENAS DE CARACTERES
Leer y escribir una cadena de caracteres
Funciones gets y XXXXX
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
Crear una estructura
Definir variables de un tipo de estructura
Acceso a los miembros de una 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
Punteros constantes
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Ó
Matrices estáticas
Matrices dinámicas
PASAR UN PUNTERO COMO ARGUMENTO A UNA FUNCIÓI\
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 RECURSIVAS
PUNTEROS A FUNCIONES
EJERCICIOS RESUELTOS
EJERCICIOS PROPUESTOS


CAPÍTULO 9. TRABAJAR CON FICHEROS

VISIÓN GENERAL DE LOS FLUJOS DE E/S
VISIÓN GENERAL DE UN FICHERO
ABRIR UN FICHERO
XXXXX
freopen
CERRAR UN FICHERO
fclose
MANIPULACIÓN DE ERRORES
ferror
clearerr
feof
perror
POSICIÓN DEL PUNTERO DE L/E
ftel l
fseek
rewind
E/S CARÁCTER A CARÁCTER
fputc
XXXXX
E/S DE CADENAS DE CARACTERES
fputs
XXXXX
ENTRADA/SALIDA CON FORMATO
fprintf
XXXXXX
E/S UTILIZANDO REGISTROS
XXXXXX
XXXXX
ABRIENDO FICHEROS PARA ACCESO SECUENCIAL
Un ejemplo de acceso secuencial
ESCRIBIR DATOS EN LA IMPRESORA
CONTROL DEL BUFFER ASOCIADO CON UN FLUJO
setvbuf
fflush
FICHEROS TEMPORALES
tmpfile
ABRIENDO FICHEROS PARA ACCESO ALEATORIO
EJERCICIOS RESUELTOS
EJERCICIOS PROPUESTOS


CAPÍTULO 10. EL PREPROCESADOR DE C

DIRECTRIZ #define
Macros predefinidas
El operador #
El operador ##
DIRECTRIZ #undef
DIRECTRIZ #include
COMPILACIÓN CONDICIONAL
Operador defined
CONSTANTE DEFINIDA EN LA ORDEN DE COMPILACIÓN
DIRECTRICES #ifdef e #ifndef
DIRECTRIZ #line
DIRECTRIZ #error
UTILIZACIÓN DE FICHEROS DE CABECERA
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

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 FICHEROS EN DISCO
Ordenación de ficheros. Acceso secuencial
Ordenación de ficheros. 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ÉNDICES

A. ALGUNAS FUNCIONES DE LA BIBLIOTECA DE C

FUNCIONES DE CADENAS Y DE CARACTERES
FUNCIONES MATEMÁTICAS
NÚMEROS SEUDOALEATORIOS
FUNCIONES DE FECHA Y HORA
FUNCIONES PARA MANIPULAR BLOQUES DE MEMORIA..

B. ENTORNOS DE DESARROLLO

Dev-C++
Microsoft Visual C++
AÑADIR FICHEROS A UN PROYECTO
DEPURAR LA APLICACIÓN
INTERFAZ DE LÍNEA DE ÓRDENES EN WINDOWS
INTERFAZ DE LÍNEA DE ÓRDENES EN UNIX/LINUX
El depurador gdb de Unix/Linux
CREAR UNA BIBLIOTECA DE FUNCIONES
C. 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