Índice del manual de aprendizaje del lenguaje C
Conceptos básicos de la parte 1
Capítulo 1 Introducción al lenguaje C 16
1.1 Introducción al lenguaje C 17
1.1.1 Breve descripción de la programación idiomas 17
1.1.2 El surgimiento del lenguaje C 18
1.1.3 Características del lenguaje C 19
1.2 Razones para elegir el lenguaje C 21
p>
1.2.1 Tendencia de desarrollo del lenguaje C 21
1.2.2 Historias de éxito del lenguaje C 23
1.2.3 Campos de aplicación de C Idioma 25
1.3 Cómo aprender bien el lenguaje C 25
1.3.1 Establecer una actitud de aprendizaje 26
1.3.2 Establecer una buena base 26
1.3.3 Pide más consejos, comunica más 26
1.3.4 Desarrolla buenos hábitos de programación 27
1.3.5 Haz más y piensa más 27
1.3.6 Dominar los métodos de aprendizaje 27
1.4 Resumen de este capítulo 28
Capítulo 2 Preparación para la programación en lenguaje C 29
2.1 Formato de escritura de programas 30
2.1.1 Un programa simple en C 31
2.1.2 Identificadores y palabras clave 34
2.2 Entorno de desarrollo 37
2.2. 1 Turbo C 2.0 38
2.2.2 Visual C++ 6.0 42
2.3 Un programa completo en C 48
2.4 Ejercicios prácticos 52
2.4.1 Escribir un programa C simple 52
2.4.2 Familiarizarse con las herramientas de desarrollo 53
2.5 Resumen de este capítulo 53
Capítulo 3 El alma de C lenguaje - Algoritmo 54
3.1 Conceptos básicos de los algoritmos 55
3.1.1 Características de los algoritmos 55
3.1.2 Ventajas y desventajas de los algoritmos 57
3.2 Describir algoritmos 57 p>
3.2.1 Lenguaje natural 58
3.2.2 Dibujar diagrama de flujo 58
3.2.3 Dibujar diagrama de flujo N-S 64 p>
3.2.4 Pseudocódigo 68
3.3 Resumen de este capítulo 69
Capítulo 4 Constantes y variables 70
4.1 Comprensión de los tipos de datos 71 p>
4.2 Interpretación de constantes 72
4.2.1 Constantes enteras 72
4.2.2 Constantes reales 75
4.2.3 Constantes de caracteres 76 p>
4.2.4 Carácter de escape 80
4.2.5 Constante simbólica 81
4.2.6 Aplicación de escenario uno: use la función putchar para generar "I LOVE C" 82
4.2.7 Aplicación de escenario 2: función printf combinada con caracteres de escape 83
4.3 Variables 83
4.3.1 Variables enteras 84
4.3.2 Aplicación de escenario: Encuentre la cantidad de dinero gastada en comprar frutas 86
4.3.3 Variables reales 87
4.3.4 Variables de carácter 89
4.4 Dominar operaciones mixtas 91
4.5 Ejercicios prácticos 93
4.5.1 Usar sentencias printf para generar variables 93
4.5.2 Usar variables de caracteres para generar cadenas 94
4.6 Resumen de este capítulo 94
Capítulo 5 Expresiones y operadores 95
5.1 Interpretación de expresiones 96
5.2 Operadores de asignación y expresión de asignación 98
5.2.1 Asignación de valor inicial a la variable 98
5.2.2 Conversión de tipo automática 100
5.2.3 Conversión de tipo forzada 100
p >5.3 Dominar operadores y expresiones aritméticas 102<
/p>
5.3.1 Operadores aritméticos 102
5.3.2 Expresiones aritméticas 102
5.3.3 Prioridad y asociatividad 104
5.3.4 Auto Operadores de incremento y autodecremento 105
5.3.5 Aplicación de escenario: encontrar los valores de 4 variables después de la operación 107
5.4 Comprensión de los operadores y expresiones relacionales 108
5.4.1 Operadores relacionales 108
5.4.2 Expresiones relacionales 109
5.4.3 Prioridad y asociatividad 110
5.5 Interpretar operadores y expresiones lógicas 111
5.5.1 Operadores lógicos 111
5.5.2 Expresiones lógicas 112
5.5.3 Prioridad Y Asociatividad 112
5.6 Uso bit a bit operadores lógicos y expresiones 113
5.6.1 Operadores lógicos bit a bit 114
5.6.2 Expresiones lógicas bit a bit 114
5.7 Introducción a operadores y expresiones de coma 114 p>
5.8 Usar operadores de asignación compuestos 116
5.9 Operadores de condición de juicio 117
5.10 Comprender la precedencia y asociatividad de los operadores 118
5.11 Ejercicios prácticos 119
5.11.1 Utilice operadores de asignación compuesta para encontrar resultados de cálculo 119
5.11 .2 Utilice operadores de incremento y decremento automático para encontrar resultados de cálculo 120
5.11.3 Escriba un programa simple para calcular los salarios de horas extras 121
5.12 Resumen de este capítulo 122
Capítulo 6 Funciones de entrada y salida 123
6.1 Interpretación de sentencias 124
6.1.1 Sentencias de expresión 124
6.1.2 Sentencias vacías 124
6.1.3 Sentencias compuestas 124
6.2 Entrada y salida de datos de caracteres 125
6.2.1 Salida de datos de caracteres 125
6.2.2 Entrada de datos de caracteres 126
6.2.3 Aplicación de escenario: uso la función getchar para cancelar la adquisición de la clave Entet 127
6.3 Cadenas de entrada y salida 128
6.3.1 Usando cadenas Función de salida 128
6.3.2 Dominar la función de entrada de cadenas 130
6.4 Introducir la función de salida de formato 131
6.5 Explicar la función de entrada de formato 134
6.6 Programación de secuencia de aplicaciones 138
6.7 Ejercicios prácticos 141
6.7.1 Convertir caracteres ingresados en minúsculas a mayúsculas 141
6.7.2 Simulación Calculadora de salario 142
6.7.3 Entrada y generar dichos antiguos 142
6.8 Resumen de este capítulo 143
Capítulo 7 Programación de la estructura de selección 144
7.1 if declaración de selección 145
7.2 Diferentes formas de declaración if 145
7.2.1 Declaración if de una sola rama condicional 146
7.2.2 Declaración If con una sola condición y dos ramas 149
7.2.3 Declaración If con múltiples condiciones y múltiples ramas 153
7.2.4 Aplicación de escenario: ingrese un valor numérico para verificar el tipo de carácter 156
7.3 Domine la forma anidada de declaraciones if 157
7.4 Preste atención a errores comunes en declaraciones if 160
7.4.1 Precauciones para el uso de punto y coma 161
7.4.2 Precauciones para la colocación condicional 161
7.4.3 Precauciones para el emparejamiento if y else 162
7.4.4 La importancia de las llaves 162
7.5 Sentencia de cambio de selección de rama de juicio 163
7.5 .1 Forma básica de declaración de cambio
Fórmula 163
7.5.2 Declaración de cambio en modo de cambio multidireccional 167
7.6 Distinguir entre declaración if...else y declaración de cambio 169
7.7 Aplicación programa de estructura de selección 171
7.8 Ejercicio práctico 173
7.8.1 Calcular la función y encontrar el valor de Y 173
7.8.2 Generar el número más grande entre los tres variables 174
p>
7.8.3 Calcular el aumento de salario 175
7.9 Resumen de este capítulo 175
Capítulo 8 Declaración de bucle 176 p>
8.1 Escribir sentencia de bucle 177
8.2 Implementar bucle de tipo while 177
8.2.1 La forma general de sentencia de bucle while 178
8.2 .2 Aplicación de escenario: encontrar todos los valores positivos dentro del valor La suma de números enteros 180
8.2.3 Evitar el bucle infinito de la declaración de bucle while 182
8.2.4 Comprender el cuerpo del bucle vacío de la sentencia del bucle while 183
8.2. 5 Preste atención a los errores comunes en las sentencias del bucle while 183
8.3 Interpretación de sentencias del bucle de tipo for 185
8.3.1 La forma general de las sentencias de bucle for 185
8.3.2 Variable de flexibilidad para sentencias de bucle 189
8.3.3 Aplicación de comas en sentencias for 192
8.4 Introducción de sentencias do- while 193
8.5 Comparación de tres tipos de bucles 195
8.6 Uso del anidamiento de bucles 195
8.6.1 Anidamiento de bucles de varios estructuras 195
8.6.2 Ejemplos de anidamiento de bucles 197
8.7 Declaración de transferencia 199
8.7.1 Declaración goto 200
8.7.2 instrucción break 202
8.7.3 instrucción continuar 203
8.8 Distinguir tres tipos de declaraciones de salto 205
8.9 Ejercicios prácticos 205
8.9.1 Imprima la tabla de comparación de códigos ASCII de letras mayúsculas 205
8.9.2 Imprima la tabla de comparación de códigos ASCII de letras minúsculas 206
8.9.3 Imprima los números entre 0 y 100 que no son divisibles por 3 207
8.10 Resumen de este capítulo 209
Parte 2 Capítulo principal
Capítulo 9 Matrices 212
9.1 Introducción al concepto de arrays 213
9.1.1 Clasificación de arrays 213
p>9.1.2 Dimensiones de los arrays 213
9.2 Aplicación de one- matrices dimensionales 214
9.2.1 Definición de matrices unidimensionales 214
9.2 .2 Referencia a matrices unidimensionales 215
9.2.3 Inicialización de una matriz bidimensional 217
9.2.4 Aplicación de matriz unidimensional 220
9.3 Matriz maestra bidimensional 222
9.3.1 Definición de matriz bidimensional 222
9.3.2 Referencia de matriz bidimensional 223
9.3.3 Inicialización de matriz bidimensional 223
9.3.4 Aplicación de matriz bidimensional arrays 227
9.4 Interpretación de arrays multidimensionales 228
9.5 Uso de arrays de caracteres 229
9.5 1 Definición de array de caracteres 229
9.5.3 Inicialización de la matriz de caracteres 229
9.5.4 Fin de la matriz de caracteres Bandera 231
9.5.5 Salida de matriz de caracteres 232
9.5.6 Entrada de matriz de caracteres 233
9.5.7 Salida de caracteres completos con espacios Cadena 234
9.5.8 Aplicación de caracteres matriz 2
35
9.6 Función de procesamiento de cadenas 236
9.6.1 Copia de cadena 237
9.6.2 Conexión de cadena 238
9.6. 3 Comparación de cadenas 240
9.6.4 Conversión de mayúsculas y minúsculas 241
9.6.5 Obtención de la longitud de la cadena 243
9.7 Aplicación competente Array 245
9.7.1 Cadena de salida inversa 245
9.7.2 Usar matriz para contar las puntuaciones de los estudiantes 246
9.7.3 Aplicación de escenario: cifrado y descifrado de cadenas 248
9.8 Ejercicios prácticos 250
9.8.1 Implementando la función strcpy 250
9.8.2 Contando el número de elementos en caracteres 251
9.8. 3 Reorganizar cadenas 251
9.9 Resumen de este capítulo 252
Capítulo 10 Funciones 253
10.1 Descripción general de funciones 254
10.2 Definición de funciones 256
10.2.1 La forma de definición de función 256
10.2.2 Definición y declaración 259
10.3 Comprensión de la declaración de devolución 262
10.3.1 Regresar de una función 262
10.3.2 Valor de retorno 266
10.4 Pasar parámetros de función 269
10.4.1 Parámetros formales y parámetros reales 269
10.4.2 Matrices como parámetros de función 271
10.4.3 Comprender los parámetros principales 276
10.5 Llamar a funciones 276
10.5.1 Función método de llamada 277
10.5.2 Llamadas anidadas 280
10.5.3 Llamadas recursivas 282
10.6 Aplicación flexible de funciones 285
10.6 .1 Aplicación de funciones 285
10.6.2 Aplicación de escenarios: usar funciones de caracteres para determinar los caracteres de entrada 290
10.7 Práctica y ejercicios 292
10.7.1 Salida el entero mayor 292
10.7.2 Calcular la puntuación promedio de 10 estudiantes 292
10.7.3 Verificar 6174 293
10.8 Resumen de este capítulo 294 p>
Capítulo 11 Punteros 296
11.1 Comprender los conceptos relacionados con los punteros 297
11.1.1 Introducción a direcciones y punteros 297
11.1.2 Interpretar variables y punteros 298
11.1.3 Usar variables de puntero 299
11.1.4 Operación de autoincremento y autodecremento del puntero 303
11.1. aplicación: Dirección de variable entera de salida 304
11.2 Matrices maestras y punteros 305
11.2.1 Matrices unidimensionales y punteros 306
11.2.2 Escenario Aplicación uno : Elementos de matriz de salida 309
11.2.3 Matriz bidimensional y puntero 310
11.2.4 Aplicación de escenario dos: convertir una matriz bidimensional con 3 filas y 5 columnas p>
p>
La segunda fila de elementos genera 313
11.2.5 Cadenas y punteros 314
11.2.6 Matriz de cadenas 316
11.3 Puntero Puntero a puntero 318
11.3.1 Introducción a la aplicación Puntero a puntero 318
11.3.2 Aplicación de escenario: salida de números pares 320
11.4 Variable de puntero como parámetro de función 321
11.5 Funciones que devuelven valores de puntero 331
11.5.1 Introducción a funciones que devuelven valores de puntero 331
11.5.2 Aplicación de escenario: encontrar el perímetro de un rectángulo 332
11.6
Matriz de punteros como parámetro de la función principal 333
11.7 Ejercicios prácticos 335
11.7.1 Almacenar los valores de los elementos en la matriz en orden inverso 335
11.7 .2 Concatenar dos cadenas y generar salida 336
11.7.3 Usar punteros para copiar cadenas 336
11.8 Resumen de este capítulo 337
Capítulo 12 Estructura y ** * uso 338
12.1 Estructura de la aplicación 339
12.1.1 El concepto de tipo de estructura 339
12.1.2 Definición de variables de estructura 340
12.1.3 Referencia de variables de estructura 342
12.1.4 Inicialización del tipo de estructura 344
12.1.5 Aplicación de escenario: salida de información del estudiante 345
12.2 Dominar matrices de estructuras 348
12.2.1 Definir matrices de estructuras 348
12.2.2 Inicializar matrices de estructuras 349
12.2.3 Aplicación de escenario: generar información del estudiante 351
12.3 Interpretar puntero de estructura 353
12.3.1 Puntero a variable de estructura 353
12.3 2 Puntero a matriz de estructura 356
12.3. 3 Estructura como parámetro de función 358
12.4 Introducción a estructuras que contienen estructuras 360
12.5 Aplicación*** Objeto 362
12.5.1 ***El concepto de objeto 362
12.5.2 ***Referencia de variable de objeto 363
12.5.3 ***Inicialización de variables de usuario 364
12.5.4 ** *Características de los datos de los tipos de usuarios 365
12.6 Interpretación de los tipos de enumeración 365
12.7 Ejercicios prácticos 366
12.7.1 Conteo de votos de los candidatos 366
12.7.2 Sistema de almacenamiento de información de profesores y estudiantes 367
12.7.3 Calcular las puntuaciones integrales de los estudiantes 368
12.8 Resumen de este capítulo 368
Capítulo 13 Listas enlazadas y algoritmos 369
13.1 Introducción a las listas enlazadas 370
13.1.1 Descripción general de las listas enlazadas 370
13.1.2 Crear una lista enlazada dinámica 371
13.1.3 Salida de lista enlazada 374
13.2 Realizar operaciones relacionadas con lista enlazada 376
13.2.1 Operación de inserción de lista enlazada 377
13.2.2 Operación de eliminación de lista enlazada 380
13.3 Uso del algoritmo de clasificación de matrices 384
13.3.1 Clasificación por selección 385
p>13.3.2 Clasificación por burbujas 387
13.3.3 Clasificación por intercambio 389
13.3.4 Clasificación por inserción 391
13.3 5 Clasificación a mitad de camino 394
13.3. 6 Algoritmo comparativo de clasificación de matrices 396
13.4 Ejercicios prácticos 397
13.4.1 Operación de eliminación de lista enlazada 397
13.4.2 Ordenar usando el método de selección 398 p>
13.4.3 Ordenar usando algoritmos como burbujeo, intercambio, inserción y plegado por la mitad 399
13.5 Secciones de este capítulo 399
Parte 3 Capítulo avanzado p>
Capítulo 14 Operaciones de bits 402
14.1 Interpretación de bits y bytes 403
14.2 Dominio de los operadores de operaciones de bits 403
14.2.1 Operador "Y" 404
14.2.2 Operador "OR" 405
14.2.3 Operador "Negación" 407
p>14.2.4 Operador "XOR" 409<
/p>
14.2.5 Operador "Desplazamiento a la izquierda" 412
14.2.6 Operador "Desplazamiento a la derecha" 413
14.2.7 Operador de asignación compuesta de operación de bits 415
14.2.8 Operaciones de bits en datos de diferentes longitudes 415
14.3 Desplazamiento circular 416
14.4 Qué es un campo de bits 418
14.4.1 El concepto y definición de campos de bits 419
14.4.2 Instrucciones relacionadas para campos de bits 420
14.5 Ejercicios prácticos 421
14.5.1 Encuentra dos números El resultado después de las operaciones "Y" y "O" 421
14.5.2 Encuentra el resultado después de "desplazamiento a la izquierda" y "desplazamiento a la derecha" de un número 422
14.5.3 Encuentra el resultado de "desplazamiento de bucle a la izquierda" y "desplazamiento de bucle a la derecha" de un número 422
14.6 Resumen de este capítulo 423
Capítulo 15 Gestión de almacenamiento 424
15.1 Memoria organización 425
15.1.1 Comprender la organización de la memoria 425
15.1.2 Interpretar el montón y la pila 425
15.2 Gestión dinámica 428
15.2 .1 Asignar dinámicamente una sección de espacio de memoria - función malloc 428
15.2.2 Asignar dinámicamente una matriz de espacio de memoria continua - función calloc 429
15.2.3 Cambiar el puntero ptr que apunta al espacio tamaño - función realloc 431
15.2.4 Aplicación de escenario: utilizar la función realloc para reasignar memoria 432
15.2.5 Liberar y asignar espacio de memoria de variable entera - función libre 432
15.3 Pérdida de memoria 433
15.4 Categoría de almacenamiento de variables 434
15.4.1 Almacenamiento dinámico y almacenamiento estático 435
15.4.2 Modificación de una variable local es una variable automática automática 435
15.4.3 Variables estáticas con diferentes ubicaciones de declaración y diferentes significados 436
15.4.4 Variables de registro de la clase de almacenamiento de registros 437
15.4.5 Variables externas almacenadas externamente 437
15.5 Ejercicios prácticos 438
15.5.1 Asignar memoria dinámicamente para arreglos 438
15.5.2 Los arreglos se asignan dinámicamente y liberar memoria 439
15.5.3 Usar variables enteras locales estáticas para calcular el cuadrado y el cubo de 3 440
15.6 Resumen de este capítulo 440
Capítulo 16 Capítulo Tipos de funciones y preprocesamiento 441
16.1 Funciones internas y externas 442
16.1.1 Introducción a las funciones internas 442
16.1.2 Interpretación de funciones externas 443
16.2 Uso flexible de la definición de macro 444
16.2.1 Definición de macro sin parámetros 445
16.2.2 Definición de macro con parámetros 446
16.3 Escribir directivas #include 448
16.4 Dominar la compilación condicional 450
16.4.1 Comando #if 450
16.4.2 Comandos #ifdef y #ifndef 453
16.4.3 Comando #undef 455
16.4.4 Comando #line 455
16.4.5 Comando #pragma 456
16.5 Práctico ejercicios 457
16.5.1 Encuentra el producto de dos números 457
16.5.2 Encuentra el número más pequeño de 3 números 457
16.5.3 Encuentra el mayor número de 3 números 458
16.6 Resumen de este capítulo 459
Capítulo 17 Lectura y escritura de archivos 460
17.1 Descripción general de archivos 461
17.2 Dominar las operaciones básicas de archivos 462
17.3 Usar punteros de archivos 463
17.4 Abrir y cerrar archivos 464
17.4.1 Apertura de archivos 464
17.4.2 Cierre de archivos 465
17.5 Lectura y escritura de archivos 466
17.5.1 Escritura Función de caracteres - función fputc 466
17.5.2 Función de lectura de caracteres - función fgetc 468
17.5.3 Función de escritura de cadenas - función fputs 469
17.5.4 Función de lectura de cadena——función fgets 470
17.5.5 Función de escritura de formato——función fprintf 472
17.5.6 Función de lectura de formato—— función fscanf 474
17.5.7 Funciones de lectura y escritura de bloques de datos: función fread y función fwrite 475
17.6 Localización de archivos 478
17.6.1 Operación de lectura y escritura aleatoria: función fseek 479
17.6.2 Puntero de posición de retorno - función de rebobinado 481
17.6.3 Función ftell 483
17.7 Ejercicios prácticos 485
p>17.7.1 Copiar contenido del archivo 485
17.7.2 Guardar información del estudiante 486
17.8 Resumen de este capítulo 487
Parte 4 Capítulo práctico
Capítulo 18 Sistema de gestión de estudiantes 490
18.1 Análisis de requisitos 491
18.2 Diseño del sistema 491
18.3 Diseño del módulo funcional 492
18.3.1 Interfaz de selección de funciones 492
18.3.2 Ingresar información de desempeño de los estudiantes 494
18.3.3 Consultar información de desempeño de los estudiantes 496
18.3 4 Eliminar información de desempeño de los estudiantes 497<. /p>
18.3.5 Modificar información de desempeño de los estudiantes 499
18.3.6 Insertar información de desempeño de los estudiantes 501
18.3.7 Contar el número de estudiantes 504
18.4 Resumen de este Capítulo 505
Apéndice Un glosario de términos profesionales 506