Sie sind auf Seite 1von 16

ISBN 978-84-9747-287-6

9 788497 472876

M Carmen Aranda Antonio L. Carrillo Jos Galindo Jos A. Gmez Jos L. Leiva

90

M CARMEN ARANDA GARRIDO


ANTONIO LUIS CARRILLO LEN
JOS GALINDO GMEZ
JOS ANTONIO GMEZ RUIZ
JOS LUIS LEIVA OLIVENCIA

FUNDAMENTOS DE
INFORMTICA

FUNDAMENTOS DE INFORMTICA

Este libro se centra fundamentalmente en la enseanza de la programacin


estructurada en el lenguaje C. Su principal valor es el enfoque pedaggico que
presenta, muy apropiado para alumnos de primero de cualquier ingeniera.
El libro est estructurado en 10 captulos y tres apndices. El primer captulo
es de introduccin e inicia al lector en diversos temas que constituyen la base
de conocimientos generales que un ingeniero de cualquier especialidad debe
manejar sobre informtica (sistemas operativos, bases de datos, perifricos,
redes, Internet, etc.). El segundo de los captulos introduce algunos conceptos
de ingeniera del software de modo que el lector toma conciencia de los
problemas que puede acarrear una programacin desestructurada y carente de
una metodologa de diseo. Los captulos 3 al 6 aportan todos los conceptos
necesarios para poder desarrollar programas que no necesiten gestin dinmica
de la memoria en lenguaje C. Los captulos 7 al 10 aportan tcnicas ms
avanzadas de programacin (ficheros, recursividad y gestin dinmica de la
memoria) que permiten desarrollar programas con una mayor funcionalidad.
Al final de cada captulo se incluye un apartado de ejercicios resueltos que,
adems de ilustrar los conceptos explicados a lo largo del captulo, van
introduciendo buenas prcticas de programacin, cuyo aprendizaje concluye
con la inclusin de un apndice con normas de estilo recomendadas. Esta lista
de ejercicios se completa con otros propuestos, pero no resueltos, clasificados
por niveles de dificultad, lo que puede ayudar al lector a realizar una
autoevaluacin de su nivel de conocimientos de cada captulo. Finalmente,
cada captulo se completa con un cuestionario resuelto que, junto a los ejemplos
que inundan el texto, sirven para entender y afianzar los conceptos expuestos.

UNIVERSIDAD DE MLAGA / MANUALES

M carmen aranda garrido


antonio luis carrillo len
jos galindo gmez
jos antonio gmez ruiz
jos luis leiva olivencia

fundamentos de
informtica

universidad de mlaga / manuales

Los autores
Servicio de Publicaciones e Intercambio Cientfico
de la Universidad de Mlaga
Imprime: Imagraf Impresores, S.A. Tel.: 952 32 85 97
I.S.B.N.: 978-84-9747-287-6
Depsito Legal: MA-2.967-2009
Diseo de la coleccin: J.M. Mercado

ndice General

Captulo 1: Introduccin y conceptos bsicos .......................................................1


1.1 Conceptos bsicos. ........................................................................................2
1.2 Evolucin histrica .......................................................................................5
1.2.1 Hechos histricos .............................................................................5
1.2.2 Generacin de computadoras ...........................................................8
1.3 Clasificacin de los ordenadores.................................................................10
1.4 Estructura funcional de un ordenador .........................................................12
1.5 Representacin de la informacin...............................................................14
1.5.1 Proceso de codificacin. Cdigos de E/S.......................................14
1.5.2 Sistemas de numeracin usuales en informtica ............................17
1.5.3 Conversin de decimal a base b .....................................................18
1.5.4 Conversin de base b a decimal .....................................................18
1.5.5 Cambio rpido de base ...................................................................19
1.5.6 Operaciones aritmticas y lgicas en binario .................................21
1.5.7 Tipos de informacin y su representacin......................................22
1.6 La memoria en el ordenador .......................................................................24
1.6.1 Caractersticas generales de la memoria RAM ..............................24
1.6.2 Tipos de memoria principal............................................................25
1.6.3 Tipos de memoria ROM.................................................................26
1.6.4 Jerarqua de memoria .....................................................................27
1.7 Unidad central de proceso (CPU) ...............................................................28
1.7.1 Unidad de control...........................................................................29
1.7.2 Unidad aritmtico-lgica................................................................31

1.7.3 El bus del sistema y la placa base ..................................................32


1.7.4 Conectores y puertos de comunicacin ..........................................35
1.8 Perifricos ...................................................................................................36
1.8.1 Perifricos de entrada .....................................................................38
1.8.2 Perifricos de salida .......................................................................40
1.8.3 Memoria masiva.............................................................................42
1.8.3.1 Discos magnticos ................................................................42
1.8.3.2 Discos pticos.......................................................................43
1.8.3.3 Dispositivos basados en memoria flash ................................44
1.9 Redes...........................................................................................................45
1.9.1 Tipos de redes ................................................................................46
1.9.2 Elementos para conectar un ordenador en una red.........................46
1.9.3 Topologas de una red local ...........................................................46
1.9.4 Tipos de cables-conexin ...............................................................48
1.10 Software ....................................................................................................49
1.11 Sistemas Operativos..................................................................................50
1.11.1 Definicin de sistema operativo ...................................................51
1.11.2 Gestin de procesos......................................................................52
1.11.3 Gestin de la memoria principal ..................................................54
1.11.4 Gestin de la entrada/salida (E/S) ................................................55
1.11.5 Gestin de ficheros.......................................................................55
1.11.6 Sistemas operativos Windows......................................................56
1.11.7 Sistemas operativos Unix .............................................................56
1.11.8 Sistemas operativos Linux ...........................................................57
1.12 Bases de datos ...........................................................................................57
1.12.1 Introduccin .................................................................................57
1.12.2 Terminologa bsica .....................................................................58
1.12.3 Sistemas de gestin de bases de datos..........................................59
1.12.4 Relacin entre datos. Sistema relacional......................................61
1.13 Internet ......................................................................................................62
1.13.1 Historia.........................................................................................62
1.13.2 Servicios de Internet.....................................................................64
1.13.3 Direccionamiento en Internet .......................................................66
1.14 Cuestiones resueltas ..................................................................................67
1.15 Ejercicios propuestos ................................................................................68

Captulo 2: Algoritmos y programas ...................................................................71


2.1 Algoritmos .................................................................................................72
2.1.1 Definicin de algoritmo ................................................................72
2.1.2 Propiedades de los algoritmos .......................................................72
2.1.3 Estructura general de un algoritmo ................................................73
2.1.4 Diferencia entre un algoritmo y un programa ...............................73
2.1.5 Aspectos previos a considerar en el desarrollo de un algoritmo ...74
2.1.6 Ejemplos de algoritmos .................................................................74
2.2 Ciclo de vida del software...........................................................................76
2.2.1 Fase de anlisis del problema ........................................................77
2.2.2 Fase de desarrollo...........................................................................77
2.2.2.1 Diseo...................................................................................77
2.2.2.2 Codificacin .........................................................................77
2.2.2.3 Prueba ..................................................................................78
2.2.3 Fase de mantenimiento ..................................................................78
2.2.4 Consideraciones. Aplicacin a los problemas de este libro ..........78
2.2.5 Paradigmas alternativos..................................................................79
2.3 Metodologa de diseo. Programacin estructurada ..................................79
2.3.1 Diseo descendente .......................................................................80
2.3.2 Estructuras de control ....................................................................83
2.4 Herramientas para la representacin de algoritmos ....................................83
2.4.1 Organigramas o diagramas de flujo ..............................................84
2.4.2 Pseudocdigo o pseudolenguaje ....................................................88
2.5 Programas y lenguajes de programacin ...................................................91
2.6 Clasificacin de los lenguajes de programacin .........................................91
2.6.1 Tipos de lenguajes segn su nivel de abstraccin .........................91
2.6.1.1 Lenguaje mquina.................................................................92
2.6.1.2 Ensambladores .....................................................................93
2.6.1.3 Lenguajes de alto nivel ........................................................94
2.6.2 Tipos de lenguajes segn su paradigma de programacin ............95
2.6.2.1 Lenguajes imperativos o procedurales .................................95
2.6.2.2 Lenguajes declarativos .........................................................96
2.7 Traductores: compiladores e intrpretes ....................................................97
2.7.1 Compiladores ................................................................................97
2.7.2 Intrpretes ......................................................................................97

2.8 Ejercicios resueltos ....................................................................................98


2.8.1 Comprobar propiedad.....................................................................98
2.8.2 Ecuacin de segundo grado .........................................................100
2.8.3 Media aritmtica ..........................................................................101
2.8.4 Mayor de diez valores .................................................................102
2.8.5 Producto de los mil primeros nmeros naturales ........................103
2.9 Cuestiones resueltas .................................................................................104
2.10 Ejercicios propuestos .............................................................................106
2.10.1 Nivel fcil...................................................................................106
2.10.2 Nivel intermedio.........................................................................106
2.10.3 Nivel avanzado...........................................................................106
Captulo 3: Introduccin al lenguaje C ............................................................109
3.1 Conceptos bsicos: datos, tipos de datos, variables y constantes..............110
3.2 El compilador, la librera estndar y el preprocesador de C .....................111
3.2.1 El compilador ...............................................................................111
3.2.2 Librera estndar...........................................................................111
3.2.3 El preprocesador de C ..................................................................113
3.2.3.1 Directiva #include............................................................113
3.2.3.2 Directiva #define ..............................................................114
3.3 Estructura general de un programa en C ...................................................115
3.3.1 La funcin main() .....................................................................116
3.4 Componentes sintcticos: tokens ..............................................................117
3.4.1 Identificadores..............................................................................117
3.4.2 Palabras reservadas ......................................................................118
3.4.3 Constantes ....................................................................................118
3.4.4 Operadores ...................................................................................119
3.4.5 Comentarios .................................................................................119
3.5 Tipos de datos en C. Declaracin de variables .........................................120
3.5.1 Declaracin de variables ..............................................................121
3.5.2 Tipos de datos enteros y enteros sin signo (positivos) .................121
3.5.2.1 Constantes enteras.................................................................122
3.5.3 Tipos de datos reales (o de punto flotante)...................................123
3.5.3.1 Constantes de punto flotante .................................................125

3.5.4 El tipo de dato carcter.................................................................126


3.5.4.1 Constantes de tipo carcter ...................................................127
3.5.5 El tipo void ................................................................................127
3.5.6 Constantes de tipo cadena de caracteres.......................................128
3.5.7 Conversiones de tipo implcitas y explcitas (casting) .................128
3.6 Operadores, expresiones y sentencias .......................................................129
3.6.1 Operadores ...................................................................................129
3.6.1.1 Operadores de asignacin .....................................................130
3.6.1.2 Operadores aritmticos .........................................................131
3.6.1.3 Operadores incrementales .....................................................132
3.6.1.4 Operadores relacionales ........................................................133
3.6.1.5 Operadores lgicos................................................................135
3.6.1.6 Otros operadores ...................................................................136
3.6.2 Expresiones ..................................................................................137
3.6.2.1 Expresiones aritmticas.........................................................137
3.6.2.2 Expresiones lgicas...............................................................138
3.6.2.3 Expresiones generales ...........................................................138
3.6.3 Reglas de precedencia y asociatividad .........................................138
3.6.4 Sentencias.....................................................................................139
3.7 Funciones bsicas de entrada/salida..........................................................140
3.7.1 Funcin printf().....................................................................140
3.7.2 Funcin scanf().......................................................................143
3.7.2.1 El buffer de teclado (stdin) ...............................................144
3.7.3 Otras funciones de entrada/salida.................................................146
3.8 Funciones matemticas .............................................................................148
3.9 Ejercicios resueltos ...................................................................................149
3.9.1 Corregir errores en un programa ..................................................149
3.9.2 Pasar una palabra de cuatro letras a mayscula ...........................149
3.9.3 Tiempo transcurrido en un viaje...................................................152
3.9.4 Operaciones bsicas con dos enteros ...........................................152
3.9.5 Nmero de bytes de un tipo entero con signo y sin signo ............153
3.9.6 Distancia eucldea de dos puntos .................................................153
3.10 Cuestiones resueltas ................................................................................154
3.11 Ejercicios propuestos ..............................................................................156
3.11.1 Nivel fcil...................................................................................156

3.11.2 Nivel intermedio.........................................................................157


3.11.3 Nivel avanzado...........................................................................158
Captulo 4: Estructuras de control.....................................................................161
4.1 Estructura secuencial.................................................................................161
4.2 Estructura de seleccin..............................................................................162
4.2.1 Estructura de seleccin simple: if ..............................................163
4.2.2 Estructura de seleccin doble: if-else ....................................164
4.2.3 Estructura de seleccin mltiple ..................................................166
4.2.4 Estructura de seleccin anidadas..................................................167
4.2.5 El operador condicional ?:..........................................................168
4.2.6 La sentencia switch ..................................................................169
4.3 Estructuras repetitivas, iterativas o bucles ................................................172
4.3.1 El bucle while............................................................................173
4.3.2 El bucle do..while ..................................................................174
4.3.3 El bucle for ................................................................................176
4.3.4 Sentencias break y continue.................................................178
4.4 Diseo de bucles .......................................................................................180
4.4.1 Anidamiento de bucles .................................................................180
4.4.2 Bucles infinitos.............................................................................181
4.4.3 Contadores....................................................................................181
4.4.4 Acumuladores ..............................................................................182
4.4.5 Interruptores o centinelas .............................................................183
4.4.6 Valores mximos y mnimos........................................................183
4.5 Ejercicios resueltos ...................................................................................184
4.5.1 Edad de una persona.....................................................................184
4.5.2 Pascua de resurreccin .................................................................185
4.5.3 Pirmide .......................................................................................187
4.5.4 Sucesin de Fibonacci..................................................................188
4.5.5 Nmero primo ..............................................................................188
4.6 Cuestiones resueltas ..................................................................................189
4.7 Ejercicios propuestos ................................................................................192
4.7.1 Nivel fcil.....................................................................................192
4.7.2 Nivel intermedio...........................................................................193
4.7.3 Nivel avanzado.............................................................................195

Captulo 5: Subprogramas: Las Funciones en C ..............................................197


5.1 El concepto de subprograma como abstraccin de operaciones. ..............198
5.2 Las funciones en C....................................................................................199
5.2.1 Un ejemplo simple .......................................................................199
5.2.2 Definicin y llamada a una funcin .............................................200
5.2.3 Ejemplo: factorial y nmeros combinatorios ...............................202
5.3 Variables locales: mbito y visibilidad ....................................................204
5.4 Declaracin o prototipo de funciones .......................................................205
5.5 Dnde definir las funciones en C? ..........................................................206
5.6 Funciones de tipo void............................................................................207
5.7 Introduccin a los punteros: Operadores de direccin e indireccin ........209
5.7.1 Punteros: Concepto y declaracin ................................................210
5.7.2 El operador de direccin & ...........................................................211
5.7.3 El operador de indireccin * ........................................................212
5.8 Paso de argumentos a funciones ...............................................................215
5.8.1 Paso de argumentos por valor ......................................................215
5.8.1.1 Caractersticas del paso de argumentos por valor...............217
5.8.2 Paso de argumentos por referencia...............................................217
5.8.2.1 Caractersticas del paso de argumentos por referencia .......219
5.8.3 Paso de argumentos por referencia en C++..................................220
5.8.3 Resumen de los tipos de paso de argumentos ..............................221
5.9 Tipos de argumentos: De entrada, de salida, de entrada/salida.................222
5.10 Variables globales ...................................................................................223
5.11 Ejercicios resueltos .................................................................................224
5.11.1 Nmeros amigos.........................................................................224
5.11.2 Aos bisiestos.............................................................................225
5.11.3 Ecuacin de segundo grado........................................................225
5.11.4 Suma y multiplicacin de nmeros complejos...........................227
5.12 Cuestiones resueltas ................................................................................227
5.13 Ejercicios propuestos ..............................................................................231
5.13.1 Nivel fcil...................................................................................231
5.13.2 Nivel intermedio.........................................................................235
5.13.3 Nivel avanzado...........................................................................238

Captulo 6: Tipos de Datos Estructurados ........................................................241


6.1 Datos estructurados frente a datos simples ...............................................241
6.2 El tipo array...............................................................................................243
6.2.1 Arrays unidimensionales ..............................................................243
6.2.1.1 Declaracin y acceso.............................................................243
6.2.1.2 Inicializacin de arrays .........................................................246
6.2.1.3 Asignacin y comparacin de arrays ....................................248
6.2.1.4 Nombres de arrays ................................................................249
6.2.1.5 Aritmtica de punteros ..........................................................250
6.2.1.6 Acceso a un array con punteros ............................................251
6.2.1.7 Arrays como argumentos en funciones .................................254
6.2.2 Arrays multidimensionales...........................................................256
6.2.2.1 Concepto y declaracin.........................................................256
6.2.2.2 Acceso a los elementos .........................................................257
6.2.2.3 Inicializacin de arrays .........................................................258
6.2.2.4 Arrays multidimensionales como argumentos en funciones.260
6.3 Cadenas de caracteres ...............................................................................262
6.3.1 Concepto y declaracin............................................................262
6.3.2 Lectura de cadenas de caracteres por teclado ..........................264
6.3.3 Escritura por pantalla ...............................................................265
6.3.4 Cadenas de caracteres como argumentos en funciones............266
6.3.5 Funciones relacionadas ............................................................267
6.4 Estructuras o registros...............................................................................270
6.4.1 Declaracin, acceso e inicializacin.............................................270
6.4.2 Asignacin y comparacin de estructuras ....................................272
6.4.3 Punteros a estructuras...................................................................273
6.4.4 Estructuras como argumentos y retorno en funciones..................274
6.5 Anidamiento de estructuras de datos estticas ..........................................277
6.5.1 Estructuras con campos de tipo estructura ...................................277
6.5.2 Estructuras con campos array.......................................................278
6.5.3 Arrays de estructuras....................................................................279
6.6 Algoritmos de bsqueda............................................................................280
6.6.1 Bsqueda secuencial o lineal........................................................280
6.6.2 Bsqueda binaria ..........................................................................282
6.7 Algoritmos de ordenacin.........................................................................283

6.7.1 Algoritmo de ordenacin por seleccin .......................................283


6.8 Ejercicios resueltos ...................................................................................285
6.8.1 Clculos diversos en un array.......................................................285
6.8.2 Dgitos repetidos ..........................................................................286
6.8.3 Borrar carcter en una cadena ......................................................288
6.8.4 Insertar una cadena en otra...........................................................289
6.8.5 Distancia entre estaciones ............................................................290
6.8.6 Colores de coches.........................................................................292
6.8.7 Gestin de un videoclub...............................................................295
6.9 Cuestiones resueltas ..................................................................................304
6.10 Ejercicios propuestos ..............................................................................306
6.10.1 Nivel fcil...................................................................................306
6.10.2 Nivel intermedio.........................................................................307
6.10.3 Nivel avanzado...........................................................................310
Captulo 7: Ficheros ............................................................................................313
7.1 Tipos de ficheros.......................................................................................314
7.1.1 Clasificacin de ficheros segn su contenido...............................314
7.1.1.1 Ficheros de texto ................................................................314
7.1.1.2 Ficheros binarios ................................................................316
7.1.2 Clasificacin de ficheros segn su acceso....................................316
7.1.2.1 Ficheros secuenciales .........................................................316
7.1.2.2 Ficheros de acceso directo o aleatorio ...............................316
7.2 Operaciones bsicas con ficheros ............................................................317
7.2.1 El manejador de un fichero ..........................................................317
7.2.2 El indicador de posicin de un fichero.........................................318
7.2.3 Apertura de ficheros ....................................................................318
7.2.4 Cierre de ficheros ........................................................................320
7.2.5 Lectura y escritura en archivos de texto.......................................322
7.2.5.1 Lectura y escritura de caracteres ........................................322
7.2.5.2 Lectura y escritura de cadenas de caracteres .....................324
7.2.5.3 Lectura y escritura de datos, con formato...........................327
7.2.6 Deteccin del final del fichero ....................................................329
7.2.7 Rebobinado de un fichero ...........................................................331

7.2.8 Lectura y escritura en ficheros binarios ......................................332


7.2.9 Funciones para trabajar con ficheros de acceso directo ...............335
7.3 Gestin de ficheros de texto secuenciales, estructurados en registros ......337
7.3.1 Definiciones, declaraciones y funcin principal ..........................338
7.3.2 Lectura y escritura de un registro, en un fichero de texto ............340
7.3.3 Lectura por teclado y escritura en pantalla de un registro ...........341
7.3.4 Crear o inicializar un fichero .......................................................342
7.3.5 Adicin de un nuevo registro al final del fichero (alta) ..............342
7.3.6 Bsqueda y visualizacin de un registro (consulta) ....................343
7.3.7 Borrado de un registro (baja) ......................................................343
7.3.8 Modificacin de un registro (modificacin).................................345
7.3.9 Listado del fichero (listado) ........................................................346
7.4 Gestin de ficheros binarios secuenciales, estructurados en registros .....346
7.5 Ejercicios resueltos ..................................................................................347
7.5.1 Nmero de lneas de un fichero ...................................................347
7.5.2 Copia de un fichero ......................................................................348
7.5.3 Escritura de los valores de un array en un fichero de texto .........349
7.5.4 Escritura de los valores de un array en un fichero binario ...........349
7.5.5 Parejas de nmeros ......................................................................350
7.5.6 Palabras y veces que aparecen ....................................................352
7.5.7 Mezcla de ficheros ordenados ......................................................354
7.5.8 Formula 1 .....................................................................................356
7.6 Cuestiones resueltas .................................................................................362
7.7 Ejercicios propuestos ................................................................................364
7.7.1 Nivel fcil ....................................................................................364
7.7.2 Nivel intermedio ..........................................................................365
7.7.3 Nivel avanzado ............................................................................367
Captulo 8: Recursividad ....................................................................................373
8.1 Concepto de recursividad..........................................................................373
8.2 Diseo y verificacin de algoritmos recursivos ........................................376
8.2.1 Caso base mltiple .......................................................................377
8.2.2 Recursividad directa e indirecta ...................................................378
8.3 Funcionamiento interno de los algoritmos recursivos ..............................380
8.3.1 Asignacin esttica de memoria...................................................380

8.3.2 Asignacin dinmica de memoria ................................................381


8.3.3 La recursividad y la pila ...............................................................382
8.4 Iteracin frente a recursin .......................................................................386
8.5 Ejemplos de algoritmos recursivos ...........................................................389
8.5.1 Bsqueda secuencial ....................................................................389
8.5.2 Bsqueda binaria ..........................................................................390
8.5.3 El algoritmo de ordenacin Quick Sort........................................391
8.5.4 Las Torres de Hanoi .....................................................................393
8.6 Cuestiones resueltas ..................................................................................396
8.7 Ejercicios propuestos ................................................................................399
8.7.1 Nivel fcil.....................................................................................399
8.7.2 Nivel intermedio...........................................................................400
8.7.3 Nivel avanzado.............................................................................402
Captulo 9 Gestin Dinmica de Memoria ........................................................405
9.1 Tipos de datos estticos y dinmicos. .......................................................405
9.1.1 Tipos de datos estticos................................................................405
9.1.2 Tipos de datos dinmicos .............................................................406
9.2 Gestin dinmica de memoria...................................................................406
9.2.1 Asignar y liberar bloques de memoria: las funciones
malloc() y free() ............................................................406
9.2.2 La funcin calloc() ................................................................412
9.2.3 La funcin realloc()..............................................................414
9.3 Listas enlazadas dimicas .........................................................................416
9.3.1 Clasificacin de las listas enlazadas.............................................417
9.3.2 Operaciones..................................................................................418
9.3.2.1 Declaracin de los tipos de datos........................................418
9.3.2.2 Creacin de la lista..............................................................419
9.3.2.3 Creacin de un nodo ...........................................................419
9.3.2.4 Insertar un elemento en la lista ...........................................420
9.3.2.5 Eliminar un elemento de la lista .........................................424
9.3.2.6 Nmero de elementos de la lista .........................................428
9.3.2.7 Buscar un elemento en la lista ............................................428
9.3.2.8 Imprimir los elementos de una lista....................................429
9.3.2.9 Destruir la lista....................................................................430

9.4 Ejercicios resueltos ...................................................................................430


9.4.1 Agenda de contactos ....................................................................430
9.4.2 Numero de elementos de una lista (recursivamente)....................432
9.4.3 Ordenar los elementos de una lista enlazada................................432
9.4.4 Concatenar dos listas enlazadas ...................................................433
9.4.5 Simplificacin de las listas enlazadas (uso de typedef
y paso por referencia de C++) .....................................................435
9.5 Cuestiones resueltas ..................................................................................437
9.6 Ejercicios propuestos ................................................................................438
9.6.1 Nivel fcil.....................................................................................438
9.6.2 Nivel intermedio...........................................................................439
9.6.3 Nivel avanzado.............................................................................441
Captulo 10: Otros Conceptos ............................................................................445
10.1 Operadores a nivel de bits.......................................................................445
10.2 Uniones ...................................................................................................447
10.3 Campos de bits........................................................................................449
10.4 Tipos de almacenamiento de variables ...................................................450
10.5 Definicin de macros con #define......................................................451
10.6 Tipos enumerados: enum .......................................................................453
10.7 Definicin de tipos: typedef ...............................................................454
10.8 Algunas caractersticas de C99 ...............................................................455
10.8.1 Ficheros de encabezamiento estndares .....................................456
10.8.2 Nuevos tipos de datos.................................................................456
10.8.3 Funciones inline ....................................................................458
10.8.4 Arrays de longitud variable ........................................................459
10.9 Simulacin de nmeros aleatorios ..........................................................460
10.10 Ejercicios resueltos ..............................................................................461
10.10.1 Adivina un nmero aleatorio sin repetir...................................461
10.11 Cuestiones resueltas .............................................................................463
10.12 Ejercicios propuestos ............................................................................465
10.12.1 Nivel fcil.................................................................................465
10.12.2 Nivel intermedio.......................................................................467
10.12.3 Nivel avanzado.........................................................................469

Apndice A: Normas de Estilo en C...................................................................471


A.1 Identificadores significativos. ..................................................................472
A.2 Constantes y macros.................................................................................472
A.3 Comentarios. ............................................................................................473
A.4 Estructura del programa. ..........................................................................474
A.5 Indentacin o sangrado. ...........................................................................476
A.6 Presentacin. ............................................................................................477
Apndice B: Soluciones a las Cuestiones de cada Captulo .............................481
B.1 Soluciones del Captulo 1.........................................................................481
B.2 Soluciones del Captulo 2.........................................................................482
B.3 Soluciones del Captulo 3.........................................................................483
B.4 Soluciones del Captulo 4.........................................................................484
B.5 Soluciones del Captulo 5.........................................................................485
B.6 Soluciones del Captulo 6.........................................................................487
B.7 Soluciones del Captulo 7.........................................................................488
B.8 Soluciones del Captulo 8.........................................................................489
B.9 Soluciones del Captulo 9.........................................................................490
B.10 Soluciones del Captulo 10.....................................................................491
Apndice C: Tabla de Cdigos ASCII ...............................................................493
Bibliografa...........................................................................................................495

Das könnte Ihnen auch gefallen