La Red de Conocimientos Pedagógicos - Conocimientos universitarios - 2014 ¿Tiempo de registro y examen de nivel 2 de computadora (Jiangsu)? Aprende a revisar "trucos" y bases de datos ~ ~ ¡Urgente en línea! ! ~~

2014 ¿Tiempo de registro y examen de nivel 2 de computadora (Jiangsu)? Aprende a revisar "trucos" y bases de datos ~ ~ ¡Urgente en línea! ! ~~

Plan Examination Center 1C

Un programa escrito en lenguaje C se denomina programa fuente en lenguaje C y el sufijo del archivo del programa fuente es "." c". Compile el programa fuente para generar un archivo objeto con el sufijo ".".obj", y luego conecte el archivo objeto con varias funciones de la biblioteca para generar un archivo ejecutable ".exe". El lenguaje C tiene tres estructuras básicas: estructura secuencial, estructura de selección y estructura de bucle. Funciones principales del punto de prueba 2

También conocida como función principal, es la entrada al programa C. Principal va seguido de un par de paréntesis y un par de llaves. La parte encerrada entre llaves se denomina cuerpo de función de la función principal. Un programa en C comienza desde la función principal y termina con el cuerpo de la función principal, independientemente de la posición de la función principal en todo el programa. Cada programa tiene una y sólo una función principal, y todas las demás funciones cumplen la función principal. Formulario de almacenamiento del sitio de prueba 3

La computadora guarda datos en forma binaria en la computadora. El número binario compuesto por 0 o 1 se llama bit, 8 bits constituyen un byte, 1 byte = 8 bits. Los binarios, octales y hexadecimales se convierten a decimales mediante multiplicación, y los decimales se convierten a binarios, octales y hexadecimales mediante división. La ubicación donde se almacenan los datos es su dirección.

Notas sobre el punto de prueba 4

Es una descripción del programa y puede aparecer en cualquier parte del programa. Los comentarios comienzan desde "/*" hasta el último "*/". Durante este período, la computadora no ejecutará nada. Los comentarios no se pueden anidar. Formato de escritura del punto de prueba 5

Cada declaración debe ir seguida de un punto y coma, que es parte de la declaración. Se pueden escribir varias declaraciones en una línea y una declaración se puede escribir en varias líneas. El identificador del punto de prueba 6

es una secuencia de caracteres válida que identifica un nombre, que puede entenderse como una palabra en un programa C. Las reglas de nomenclatura para los identificadores son:

(1) Los identificadores solo pueden constar de letras, números y guiones bajos, y las letras distinguen entre mayúsculas y minúsculas. (2) El primer carácter del identificador debe ser una letra o un guión bajo, no un número. Los identificadores del lenguaje C se dividen en las siguientes tres categorías.

(1)Palabras clave. Tienen un significado fijo dentro del programa y no pueden utilizarse para otros fines. Como int, for, switch, etc. (2) Identificadores predefinidos. Un identificador predefinido con un significado específico. Como definición, inclusión, etc. (3)Identificador de usuario. Los identificadores definidos por los usuarios según sus necesidades cumplen con las reglas de nomenclatura y son diferentes de las palabras clave. Centro de pruebas 7 Constantes y variables

Una constante es una cantidad cuyo valor no se puede cambiar mientras el programa está en ejecución. Las constantes se dividen en cinco tipos: constantes enteras, constantes reales, constantes de caracteres, constantes de cadena y constantes simbólicas. Una cantidad cuyo valor puede cambiar durante la ejecución de un programa se llama variable. No hay variables de cadena en lenguaje C. Utilice matrices de caracteres para almacenar cadenas. Sitio de prueba 8 Datos enteros

Las constantes enteras se representan en formas decimal, octal y hexadecimal; no existe forma binaria. Las constantes enteras octales suman el dígito inicial 0 y las constantes hexadecimales agregan el dígito inicial 0X.

Las variables enteras se pueden dividir en tipos enteros básicos (int), tipos enteros cortos (short), tipos enteros largos (long) y tipos enteros sin signo. Un número entero básico ocupa 4 bytes. Para conocer el número de bytes y el rango de valores ocupados por otros tipos de números enteros, consulte el libro de texto.

Revisión de conocimientos del lenguaje C

V

Las variables de puntero se utilizan para almacenar direcciones, mientras que las variables generales almacenan valores. Una variable de puntero puede apuntar a cualquier tipo de datos, pero no importa cuántos bytes ocupen los datos a los que apunta, una variable de puntero ocupa cuatro bytes. La definición de variable de puntero en Test Center 2

El formato es: nombre de tipo * nombre de variable de puntero. Puntero bidimensional int * * p; se puede entender que el tipo base es (int *). Inicialización de variables de puntero en Test Center 3

Las variables de puntero deben inicializarse antes de su uso y se les debe asignar una dirección específica; de lo contrario, habrá efectos secundarios al hacer referencia. Si no apuntan a ningún dato, se les asignará el "valor nulo" NULL.

Consulte la variable de puntero en el Centro de pruebas 4

amp es el operador de dirección y * es el operador de acceso indirecto. Son dos operadores recíprocos. Agregue un operador de acceso indirecto antes del nombre de la variable del puntero, que equivale a la cantidad a la que apunta. Operación del puntero en el punto de prueba 5

*p y (*p): la diferencia entre *p es el cambio de dirección y (*p) es el cambio en los datos señalados por la variable del puntero. Agregar un número entero a una variable puntero no es una simple suma matemática, sino un movimiento continuo de varias direcciones. Cuando dos punteros apuntan a la misma matriz, se pueden comparar y restar.

Capítulo 8 Matriz

1 Definición de puntos de prueba de matriz

Una matriz es un grupo de datos del mismo tipo, llamados elementos de matriz. El formato es: nombre de tipo nombre de matriz [expresión constante]. El número de bytes ocupados por una matriz es el producto del número de elementos por el número de bytes ocupados por el tipo base. Inicialización de la matriz del centro de pruebas 2

No es necesario escribir la longitud de la primera dimensión, pero sí se deben escribir otras dimensiones. int a[]={1, 2}; int a[][3]={2, 3, 4}; int a[2][]={2, 3, 4}; El valor predeterminado de los elementos inicializados de la matriz es 0 y el valor de los elementos no inicializados es aleatorio. Por ejemplo, en int a[5]={0, 1, 2}; donde el valor del elemento a[4] es 0 y en int a[5], el valor del elemento a[4] es uno; Número aleatorio incierto. Consulte los elementos del centro de pruebas 3

Los subíndices de los elementos de la matriz comienzan desde 0 y terminan con la longitud de la matriz menos 1. Entonces int a[5]; el último elemento de la matriz es a[4]. Para ver los elementos de la matriz como un todo, podemos tratar a[4] como una variable entera. Ubicación de prueba 4 matriz bidimensional

Matriz a[2][3]={1, 2, 3, 4, 5, 6}; contiene 6 elementos, 2 filas y 3 columnas. La primera fila es la fila a[0] y la segunda fila es la fila a[1]. a[0] y a[1] se denominan la primera dirección de la fila y son constantes de dirección. *(a[0] 1) significa que el primer elemento de la primera fila retrocede una columna, es decir, el valor del elemento a[0][1] es 2, *(a[0] 3) significa que el El primer elemento de la primera fila salta hacia atrás. Vuelve a tres, el elemento a[1][0] puntero de 5 filas del punto de prueba

es una variable de puntero que ocupa cuatro bytes y el puntero de fila apunta a una fila de datos continuos en forma de int (*p)[2]; p solo puede almacenar la primera dirección de una matriz unidimensional de dos elementos enteros. Tenga en cuenta que los corchetes a ambos lados de (*p) no se pueden omitir; de lo contrario, se convertirá en una matriz de puntero, que es una colección de varios elementos de puntero. Sitio de prueba 6 Nombre de la matriz

El nombre de la matriz es la primera dirección de la matriz. No se puede hacer referencia a los nombres de las matrices individualmente y no se pueden representar todos los elementos con un nombre de matriz. El nombre de la matriz es una dirección constante y no se puede asignar un valor al nombre de la matriz, por lo que a es incorrecto. Pero el nombre de la matriz se puede agregar como una dirección a un número entero para obtener una nueva dirección. Método mnemotécnico para la transformación de formas de elementos en el punto de prueba 7: "Regla de desvestirse" a[2] se convierte en *(a 2), a[2][3] se convierte en *(a 2)[3] y luego se convierte en *(* ( un 2) 3).

Capítulo 9 Cadenas

Punto de prueba 1 Constantes de cadena y sus representaciones

Las constantes de cadena son cadenas entre comillas dobles, como "ABC". Al almacenar una cadena, el sistema automáticamente

c revisión de conocimientos del idioma

agrega un valor nulo ' \0 ' al final, y el valor nulo también ocupa Un byte, es decir, la cadena "ABC" requiere cuatro bytes.

Matriz de caracteres del sitio de prueba 2

El lenguaje C no tiene variables de cadena y solo puede usar matrices de caracteres para almacenar cadenas. El tamaño de la matriz debe ser un elemento más que la cadena más larga que realmente contiene, para poder contener "\0".

Asignación de cadena del punto de prueba 3

La asignación puede adoptar la siguiente forma: charstr [] = "hello!" o char * p = "Hello!";, pero no la siguiente forma: char str; [10 ]; str = "Hola, debido a que str es una dirección constante, no se puede asignar. Entrada y salida de cadenas del centro de pruebas 4

Puedes usar las funciones scanf y printf, como scanf ("s " , str); también puedes usar dos funciones, get y puts, que tratan específicamente con cadenas. También puedes asignar valores a las matrices de caracteres uno por uno, pero debes asignar un "\0" al final. la función gets para recibir espacios y la función puts al final. Genera un carácter de nueva línea. Función de cadena del sitio de prueba 5

Cuatro funciones de cadena que deben dominarse: función de copia de cadena strcpy(), función de longitud de cadena. strlen(), función de enlace de cadena strcat(), función de comparación de cadenas strcmp() Para utilizar estas funciones, debe incluir el archivo de encabezado "string.h" en la parte de preprocesamiento. la cadena debe ser más pequeña que la longitud de la matriz de caracteres, por ejemplo: charstr[10] = " hola "; el valor de sizeof(str) es 10 (longitud de la matriz) y el valor de strlen(str) es 5 ( longitud de la cadena). Estas funciones se usan comúnmente en los exámenes y todos deben dominar el uso de estas funciones.

Capítulo 10 Estructura y * * * Uso

1 Descripción del tipo de estructura del punto de prueba.

Una estructura es una colección de varios tipos de datos. El formato de descripción del tipo de estructura es el siguiente: Nombre del tipo de estructura {tipo 1 nombre de miembro 1; tipo 2 nombre de miembro 2;}; un tipo de datos, en la misma posición que el entero int Typedef se puede usar para reemplazar el tipo de estructura con un identificador corto de solo unas pocas letras. Punto de prueba 2 Definición de variables de estructura

Las variables de estructura son variables definidas. por el tipo de estructura descrito, que es diferente del tipo de estructura. El número de bytes ocupados por una variable de estructura es el número de bytes ocupados por todos sus miembros. Por ejemplo, struct stu {char name[10]; } a, b; significa que se definen dos variables de estructura A y B, cada una de las cuales ocupa 14 bytes; la variable I. En la misma ubicación que J.

Referencia del componente estructural del Centro de pruebas 3

Hay tres formas de hacer referencia a miembros: (1) nombre de miembro; (2) nombre de variable de puntero ->; (3) (*nombre de variable de puntero). operador, y la flecha (->;) se llama operador que apunta a la estructura

.

La lista vinculada se compone de nodos y cada nodo se puede dividir en dos partes: campo de datos y campo de puntero. El campo de datos se usa para almacenar los datos que se almacenarán y el campo de puntero se usa para apuntar al siguiente nodo. Las listas enlazadas son una parte difícil del examen. Tanto el lenguaje C como el público * * Se evaluarán las "Partes básicas", por lo que debes dominarlas. Centro de pruebas 5***Asunto

* * *El formato de uso y la estructura del tema son similares * * *La palabra clave definida por el tema es unión y el número de bytes ocupados por el tema es. el más grande entre todos los miembros.

Archivo XI

Puntero de tipo de archivo del sitio de prueba 1

El puntero de archivo es un puntero al tipo de estructura y el formato de definición es: archivo * variable de puntero nombre. El texto que se utiliza

Revisión de conocimientos del lenguaje C

Siete

Cuando crea un archivo, primero debe definir un puntero de archivo. Sitio de prueba 2 archivos de texto y archivos binarios

El formato de texto almacena el código ASCII de caracteres y el formato binario almacena el binario de datos. Por ejemplo, "100" es un código ASCII (001100101100000 0065438), que almacena tres caracteres "1".

Centro de pruebas 3 Abrir archivo

El formato de apertura del archivo es el siguiente: ARCHIVO * fpfp=fopen("c:\\lab.c","Rb");. La primera parte de la función fopen es el nombre del archivo y la segunda parte es cómo utilizar el archivo. Para conocer el método de apertura, consulte la página 127 del libro de texto, donde R significa lectura, W significa escritura, A significa suma y B significa binario. Función de archivo del sitio de prueba 4

Juzgue el final de la función feof del archivo, mueva la función fseek de la posición del puntero del archivo para obtener la función ftell de la posición del archivo, mueva la posición del archivo al principio, la función de rebobinado, la entrada de caracteres del archivo y función fgetc de salida y función fputc, función fgets y función fputs de entrada de archivo, función fscanf de salida y función fprintf, función fgets de entrada y salida de cadena de archivo y función fputs de lectura y escritura de archivos binarios y función fwrite.

La función anterior necesita saber si el formato se puede utilizar, ya sea para archivos binarios o archivos de texto. Debemos revisar cuidadosamente los materiales y documentos didácticos de este capítulo y no confundir las funciones de estos documentos durante el examen.

Capítulo 12 Discusión en profundidad

Compilación y preprocesamiento del punto de prueba 1

Cada línea que comienza con # es la línea de comando para la compilación y el preprocesamiento. sin firmar y no ocupa tiempo de ejecución. Las sustituciones de macros son simplemente sustituciones de texto simples, como #define f(x) (x)*(x) y #define f(x) x*x reemplazando f(2 2). El primero se expande a (2 2)*(2 2), y el segundo es 2 2*2 2.

Si hay #include "f1.c" en el archivo fuente f2.c, se puede entender que el archivo fuente f1.c está incluido en f2.c tal como está, por lo que f 1 C y f2.c se pueden combinar en un programa C y compilar. Por lo tanto, un programa en C debe tener una función principal, pero un archivo fuente en C puede no tener una función principal.

Alcance del identificador del sitio de prueba 2

Una variable local es una variable definida en una función o declaración compuesta, y su alcance está en la función en la que está definida. Hay tres tipos de variables locales: automáticas, de registro y estáticas.

Las variables automáticas desaparecen con el uso de funciones; las variables de registro se asignan en la CPU y no tienen direcciones de memoria; las variables estáticas ocupan unidades de almacenamiento fijas y no se liberan durante la ejecución del programa hasta el final del programa.

Las variables globales son variables definidas fuera de la función. Su alcance es desde la ubicación donde se define hasta el final de todo el archivo fuente, y su vida útil es todo el tiempo de ejecución del programa. Las variables globales son variables estáticas. Asignación de almacenamiento dinámico del sitio de prueba 3

Malloc (tamaño) se utiliza para crear un área de almacenamiento de bytes de tamaño continuo y el tipo de valor de retorno es nulo *. La función Malloc se usa a menudo para crear dinámicamente nodos de listas vinculadas, como int * p; p = (int *) malloc (sizeof (int));

Calloc(n, size) crea n espacios de almacenamiento del mismo tipo, que pueden entenderse como n mallocs. Free(p) libera unidades de memoria asignadas dinámicamente.

Parte 2 Pública * * *Materiales de conocimientos básicos

Capítulo 1 Estructura de datos y algoritmo

Centro de examen 1 Conceptos básicos de algoritmos

Algoritmo: se refiere a un conjunto de instrucciones limitado, que es una descripción precisa y completa de la solución. Los algoritmos no son iguales a los programas, ni tampoco a los métodos de cálculo. Características básicas del algoritmo:

Determinismo, cada paso del algoritmo debe estar claramente definido, no se permite ambigüedad;

Es finito, el algoritmo debe completarse en un tiempo limitado , Es decir, se puede terminar después de ejecutar un número limitado de pasos; en principio, el algoritmo se puede ejecutar con precisión y hay suficiente información disponible;

Elementos de un algoritmo: Un algoritmo consta de dos partes: los cálculos y operaciones de un objeto de datos y su estructura de control. Operaciones básicas y operaciones de algoritmos: operaciones aritméticas, operaciones lógicas, operaciones relacionales y transmisión de datos.

Estructuras básicas de control de algoritmos: secuencia, selección y bucle.

Métodos básicos de diseño de algoritmos: técnicas de enumeración, inducción, recursividad, recursividad y recursividad a la mitad. Punto de prueba 2: Complejidad del algoritmo

Medición de la eficiencia del algoritmo - complejidad del algoritmo: complejidad del tiempo y complejidad del espacio.

La complejidad temporal de un algoritmo: se refiere al esfuerzo computacional necesario para ejecutar el algoritmo. Por lo general, el tiempo que tarda un algoritmo incluye el tiempo de compilación y el tiempo de ejecución.

Complejidad del espacio del algoritmo: se refiere al espacio de memoria necesario para ejecutar este algoritmo. Incluyendo el espacio ocupado por el programa del algoritmo, el espacio ocupado por los datos iniciales de entrada y el espacio adicional requerido durante la ejecución del algoritmo. La complejidad del espacio y la complejidad del tiempo no están relacionadas. Conceptos básicos de la estructura de datos del centro de pruebas 3

Datos: Los datos son una representación simbólica de cosas objetivas. Es un término general para símbolos que pueden ingresarse en una computadora y ser reconocidos y procesados ​​por un programa informático, como. como documentos, sonidos, vídeos, etc.

Elemento de datos: El elemento de datos es la unidad básica de datos.

Objeto de datos: Un objeto de datos es una colección de elementos de datos con los mismos atributos.

Estructura de datos: se refiere a la colección de relaciones entre todos los miembros de datos en un objeto de datos. Estructura lógica y estructura de almacenamiento del centro de pruebas 4

La estructura de datos se puede dividir en estructura lógica y estructura de almacenamiento de datos.

La estructura lógica de los datos es una descripción de las relaciones lógicas entre elementos de datos. No tiene nada que ver con el almacenamiento de datos, está orientada a problemas y es independiente de las computadoras. Incluye objetos de datos y relaciones entre objetos de datos.

La estructura de almacenamiento de datos, también conocida como estructura física de los datos, es la forma en que se almacenan los datos en la computadora. Está orientada a la computadora e incluye la forma en que se almacenan los elementos de datos y la forma en que se establecen las relaciones. almacenado.

La relación entre estructura de datos y estructura lógica: una estructura lógica de datos se puede expresar como una variedad de estructuras de almacenamiento, es decir, la estructura lógica de datos y la estructura de almacenamiento no necesariamente corresponden una a una. .

Las estructuras de almacenamiento comunes incluyen: orden, enlace, índice, etc. Diferentes estructuras de almacenamiento tienen diferentes eficiencias de procesamiento de datos.

Punto de prueba 5 Estructura lineal y estructura no lineal

Condiciones para la estructura lineal (estructura de datos no vacía): (1) Solo hay un nodo raíz (2) Cada uno; El nodo tiene como máximo una. Hay como máximo una pieza delantera y una pieza trasera.

Estructura no lineal: estructura de datos que no cumple las condiciones de una estructura lineal.

Conocimientos básicos de asuntos públicos

Nueve

Las pilas, colas y listas enlazadas son estructuras lineales, mientras que los árboles y los árboles binarios son estructuras no lineales. Tabla lineal y su estructura de almacenamiento secuencial de Test Center 6

Una tabla lineal se compone de un conjunto de elementos de datos. La posición del elemento de datos solo depende de su propio número de serie y de la posición relativa entre ellos. elementos es lineal.

En una tabla lineal compleja, un elemento de datos compuesto por varios elementos de datos se denomina registro; una tabla lineal compuesta por varios registros se denomina archivo.

Características estructurales de listas lineales no vacías;

(1) Solo hay un nodo raíz a1, sin antecedente (2) Solo hay un nodo terminal an, y allí; no hay posparto;

(3) Excepto el nodo raíz y el nodo terminal, todos los demás nodos tienen un solo antecedente y una consecuencia. El número de nodos n se denomina longitud de la lista lineal, y cuando n = 0 se denomina lista vacía. La estructura de almacenamiento secuencial de una tabla lineal tiene las siguientes dos características básicas: (1) el espacio de almacenamiento ocupado por todos los elementos de la tabla lineal es continuo;

(2) los elementos de datos de la tabla lineal son almacenados en orden lógico en el espacio de almacenamiento.

La dirección de almacenamiento del elemento ai es: ADR(AI)= ADR(a1) (I-1)* k, ADR(a 1) es la dirección del primer elemento y k representa la ocupación de cada elemento número de bytes.

Operaciones de lista de secuencias: búsqueda, inserción y eliminación. Punto de prueba 7 Lista enlazada lineal

Una lista enlazada lineal es una estructura de almacenamiento enlazada de una lista lineal. Cada nodo en la estructura de datos corresponde a una unidad de almacenamiento, que se denomina nodo de almacenamiento. Un nodo consta de dos partes: (1) se utiliza para almacenar valores de elementos de datos, llamados campos de datos; (2) se usa para almacenar punteros, llamados campos de puntero, que se usan para apuntar al nodo anterior o al siguiente.

En la estructura de almacenamiento en cadena, el espacio de almacenamiento para almacenar estructuras de datos puede ser discontinuo. El orden de almacenamiento de cada nodo de datos puede ser inconsistente con la relación lógica entre los elementos de datos. inconsistentes. Las relaciones están determinadas por campos de puntero. El almacenamiento encadenado se puede utilizar para representar estructuras lineales y no lineales.

En una lista lineal enlazada individualmente, HEAD se denomina puntero principal y HEAD=NULL (o 0) se denomina lista vacía.

La lista enlazada tiene dos punteros: el puntero izquierdo (Llink) apunta al nodo antecedente y el puntero derecho (Rlink) apunta al nodo siguiente.

Lista enlazada circular: La diferencia entre una lista enlazada circular y una lista enlazada individualmente es que el campo de puntero del último nodo apunta al puntero del primer nodo, mientras que la lista enlazada individualmente almacena un puntero nulo .

Operaciones básicas de listas enlazadas lineales: búsqueda, inserción y borrado. Puntos de prueba 8 Pila 1 y los conceptos básicos de pilas.

Figura 3 La estructura de una lista enlazada circular

L D R

Figura 2 La estructura de una lista doblemente enlazada

L D R L D R

Fig. 1Estructura de una lista enlazada individualmente

Campo de puntero de campo de datos

Campo de puntero de campo de datosCampo de puntero de campo de datos