Lenguaje de programacion C
_______EL
LENGUAJE DE
PROGRAMACION
BRIAN W. KERNIGHAN
DENNIS M. RITCHIE
Pearson
Educación
EDICION EN INGLES
UNIX es una matea registrada AT & T
EL LENGUAJE 1)E PROGRAMACION C___________________
Traducido de la segunda edición en inglés de:
THE C PROGRAMMING LANGUAGE
Prohibida la reproducción total o parcial de esta obra, por cualquier medio o método
sinautorización escrita del editor
DERECHOS RESERVADOS © 1991 respecto a la segunda edición en español por
PRENTICE-HALL HISPANOAMERICANA, SA.
Atlacomulco Núm. 500-5° Piso
Col. Industrial Atoto
53519, Naucalpan de Juárez, Edo. de México
Miembro de la Cámara Nacional de la Industria Editorial, Reg. Núm. 1524
ISBN 968-880-205-0
Original English language edition published by
Copyright ©MCMLXXXVII1 by Prentice-Hall, inc.
All Rights Reserved
ISBN 0-J3-110362-8
IMPRESO EN MEXICO / PRINTED IN MEXICO
CONTENIDO
Prefacio
ix
Prefacio a la primera edición
xi
Introducción
Capítulo 1. Introducción general
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
1.10
Comencemos
Variables y expresiones aritméticas
La proposición for
Constantes simbólicas
Entrada y salida decaracteres
Arreglos
Funciones
Argumentos—llamada por valor
Arreglos de caracteres
Variables externas y alcance
Capítulo 2. Tipos, operadores y expresiones
2.1 Nombres de variables
2.2 Tipos y tamaños de datos
2.3 Constantes
2.4 Declaraciones
2.5 Operadores aritméticos
2.6 Operadores de relación y lógicos
2.7 Conversiones de tipo
2.8 Operadores de incremento y decremento
£.9Operadores para manejo de bits
2.10 Operadores de asignación y expresiones
2.11 Expresiones condicionales
2.12 Precedencia y orden de evaluación
Capítulo 3. Control de flujo
3.1
3.2
3.3
3.4
3.5
3.6
Proposiciones y bloques
If-else
Else-if
Switch
Ciclos—while y for
Ciclos—do-while
1
5
5
8
14
15
16
23
26
29
30
33
39
39
40
41
44
45
46
47
51
53
55
56
57
6161
61
63
64
66
70
3.7
3.8
Break y continué
Goto y etiquetas
Capítulo 4. Funciones y la estructura del programa
4.1 Conceptos básicos de funciones
4.2 Funciones que regresan valores no-enteros
4.3 Variables externas
4.4 Reglas de alcance
4.5 Archivos header
4.6 Variables estáticas
4.7 Variables registro
4.8 Estructura de bloque
4.9 Inicialización
4.10 Recursividad4.11 El preprocesador de C
Capítulo 5. Apuntadores y arreglos
5.1
5.2
5.3
5.4
5.5
5.6
5.7
5.8
5.9
5.10
5.11
5.12
Apuntadores y direcciones
Apuntadores y argumentos de funciones
Apuntadores y arreglos
Aritmética de direcciones
Apuntadores a caracteres y funciones
Arreglos de apuntadores; apuntadores a apuntadores
Arreglos multidimensionales
Inicialización de arreglos deapuntadores
Apuntadores vs. arreglos multidimensionales
Argumentos en la línea de comandos
Apuntadores a funciones
Declaraciones complicadas
Capítulo 6 . Estructuras
Conceptos básicos sobre estructuras
6.2 Estructuras y funciones
6.3 Arreglos de estructuras
6.4 Apuntadores o estructuras
6.5 Estructuras autorreferenciadas
6.6 Búsqueda en tablas
6.7 Typedef
6.8 Uniones
6.9 Campos debits
6.1
Capítulo 7. Entrada y salida
7.1 Entrada y salida estándar
7.2 Salida con formato—printf
7.3 Listas de argumentos de longitud variable
7.4 Entrada con formato—scanf
7.5 Acceso a archivos
7.6 Manejo de errores—stderr y exit
71
72
75
75
79
82
88
90
91
92
93
94
95
97
103
103
105
108
111
115
141
141
143
146
151
153
158
161
162
164
167167
169
171
173
176
179
7.7 Entrada y salida de líneas
7.8 Otras funciones
Capítulo 8. La interfaz del sistema UNIX
8.1
8.2
8.3
8.4
8.5
8.6
8.7
Descriptores de archivos
E/S de bajo nivel—read y write
open, creat, cióse, unlink
Acceso aleatorio—lseek
Ejemplo—una implementación de fopen y getc
Ejemplo—listado de directorios
Ejemplo—asignador de memoria
Apéndice...
Regístrate para leer el documento completo.