CEBALLOS SIERRA, FCO. JAVIER
Datos técnicos
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
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
UN AVANCE SOBRE LA PROGRAMACIÓN CON C
Entrada y salida
Sentencias de control
Funciones
Matrices
EJERCICIOS RESUELTOS
EJERCICIOS PROPUESTOS
VIII C/C++: CURSO DE PROGRAMACIÓN
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
CONTENIDO IX
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
X C/C++: CURSO DE PROGRAMACIÓN
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
CONTENIDO XI
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
XII C/C++: CURSO DE PROGRAMACIÓN
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
PUNTEROS A FUNCIONES
EJERCICIOS RESUELTOS
EJERCICIOS PROPUESTOS
CONTENIDO XIII
CAPÍTULO 9. TRABAJAR CON FICHEROS
VISIÓN GENERAL DE LOS FLUJOS DE E/S
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
XIV C/C++: CURSO DE PROGRAMACIÓN
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
2024 © Vuestros Libros Siglo XXI | Desarrollo Web Factor Ideas