Colección de citas famosas - Consulta de diccionarios - Preguntas del examen básico de lenguaje C de nivel dos de computadora en la segunda mitad del año

Preguntas del examen básico de lenguaje C de nivel dos de computadora en la segunda mitad del año

Preguntas básicas del examen de lenguaje C de nivel 2 de computadora en la segunda mitad del año

Cualquier actividad de diseño busca un equilibrio entre diversas limitaciones y requisitos conflictivos, y la programación no es una excepción. A continuación se muestran las preguntas de la prueba que recopilé sobre los conceptos básicos del lenguaje C de nivel 2 de computadora. Espero que las lea con atención

Preguntas 1 del examen de lenguaje C de nivel 2 de computadora básica

p>

1. Elección:

1. Dé la siguiente definición:

char acX[ ]= "abcdefg"

char acY[ ] = {'a','b','c ','d','e','f','g'}

Entonces la descripción correcta es ( )

A) La matriz acX y la matriz acY son equivalentes B ) Las longitudes de la matriz acX y la matriz acY son iguales

C) La longitud de la matriz acX es mayor que la longitud de la matriz acY D) La longitud de la matriz acX es menor que la longitud de la matriz acY

Respuesta: C

2.

void example(char acHello[])

{

printf("%d", sizeof(acHello));

return

}

void main( )

{

char acHello[] = "hello ";

example(acHello);// El nombre de la matriz se utiliza como parámetro y el se pasa la dirección. Una dirección ocupa cuatro bytes

return

}

La salida es

A 4 B 5 C 6 D. No estoy seguro

Respuesta: A

3. Existe el siguiente segmento de programa

char acArr[]= "ABCDE"

char; *pcPtr;

for(pcPtr = acArr; pcPtr < acArr + 5; pcPtr++)

{

printf("%s/n", pcPtr) ;

}

return;

Resultado de salida Sí ( )

A) ABCD B) A C) E D) ABCDE

B D BCDE

C C CDE

D B DE

E A E

Respuesta: D

4 En una interrupción, el semáforo no se puede obtener sincrónicamente, pero se puede liberar.

A. Correcto B. Incorrecto

Respuesta: A

5. ¿Cuál de las siguientes afirmaciones es incorrecta ( )

A) Las variables con el mismo nombre se pueden usar en diferentes funciones

B) Los parámetros formales en las funciones son variables locales

C) Las variables definidas dentro de una función solo están dentro del alcance de esta función Válido

D) Las variables definidas en una declaración compuesta dentro de una función son válidas dentro del alcance de esta función (una declaración compuesta se refiere al código compuesto por pares de corchetes en la función)

Respuesta: D

6. Se proporciona la siguiente definición:

unsigned long pulArray[] = {6, 7, 8, 9, 10}; unsigned long * pulPtr;

El resultado de salida del siguiente segmento del programa es ( )

pulPtr = pulArray

*(pulPtr + 2) += 2 ;

printf ("%d,%d/n", *pulPtr, *(pulPtr + 2)); 7,9 D )6,10

Respuesta: D

7. Hay varias formas de definir una estructura Por favor indique la correcta (múltiples opciones): ______

A. Cada parte de la estructura se alinea mejor con cuatro bytes;

B. La longitud total de la estructura se alinea mejor con cuatro bytes

C. Estructura; Los miembros se almacenan sin considerar la alineación de bytes

Respuesta: A, B

8.void example()

{

int i;

char acNew[20];

for(i = 0; i < 10; i++)

{

acNuevo[i] = '0';

}

printf("%d/n", strlen(acNuevo)); p>

 }

La salida es ( )

A 0 B 10 C 11 D Incierto

Respuesta: D

9. El tipo de datos de c en switch(c) puede ser char, long, float, unsigned, bool ( )

 A. Correcto B. Falso

Respuesta: B <. /p>

10. El orden de bytes transmitido en la red es byte grande de forma predeterminada. Si el host es little endian, se debe realizar la conversión del orden de bytes durante la comunicación de red. Endian, para la coherencia y portabilidad del programa, es mejor agregar una operación de conversión de orden de bytes (sin operación) en el programa.

A. Correcto B. Incorrecto

Respuesta: A

2. Complete los espacios en blanco

1. Tipo de devolución predeterminado de C función de lenguaje El tipo de definición es

2. Hay dos formas de pasar los parámetros reales de una función a los parámetros formales: y

3. El método de llamada para llamar a otra función interna se llama una función.

Llamar directa o indirectamente a la función dentro de una función se convierte en un método de llamada de función

4. Las variables del lenguaje C se dividen en y según su alcance

5. la función Categoría variables locales, su categoría de almacenamiento predeterminada es

3. Mire los resultados de escritura del programa

1. #include

Int abc(int u, int v );

Vid principal()

{int a=24,b=16,c

c=abc(a,b);

p>

printf(“valor=%d”,c

}

Int abc(int u, int v)

{int w;

Mientras(v)

{w=u%v

u=v; p>v=w;

}

Devolver u;

}

2. #include

int x1=30,x2= 40;

principal()

{int x3=10,x4=20;

sub(x3,x4);

sub(x2,x1);

printf(“%d,%d,%d,%d ”,x3,x4,x1,x2);

}

sub(int x,int y)

{x1=x;x=y;y=x1;}

3. # incluir

Main()

{int i=5

Printf(“%d ”,sub(i)); >}

sub(int n)

{int a;

Si(n==1) devuelve 1

a; =n+sub(n- 1);

return (a);

}

4. #include

Diversión nula ()

 {estático int m;

m+=2;

printf(“%d ”,m);

Main()

 {int a;

For(a=1;a<=4;a++) fun()

<; p>Printf(“ ”) ;

 }

IV. Preguntas de programación

1. Escribe una función para determinar si un número entero es primo. la función main() para llamarla y probarla.

2. Utilice el método recursivo para encontrar n!

3. Hay una matriz unidimensional que contiene 10 puntuaciones de los estudiantes. Escriba una función para encontrar la puntuación promedio, la puntuación más alta y. la puntuación más baja. La segunda mitad de la pregunta 2 de la prueba básica de lenguaje C de nivel 2 de computadora

1. ¿Cuál de las siguientes afirmaciones es correcta (?).

A. Todas las estructuras de datos deben tener nodos raíz

B. Todas las estructuras de datos deben tener nodos terminales (es decir, nodos hoja)

C. Solo una estructura de datos con un nodo raíz y solo un nodo hoja debe ser una estructura lineal

D. Una estructura de datos sin nodo raíz ni nodos hoja debe ser una estructura no lineal

Respuesta D

El análisis del ítem D es correcto. Las características de la estructura lineal son:

① Debe haber un "primer elemento" en el conjunto y es único

② Conjunto El "último elemento" debe existir y es único;

 ③Excepto el último elemento, otros elementos de datos tienen "sucesores" únicos;

 ④Excepto el primer elemento, Otro los elementos de datos tienen un "predecesor" único, por lo que una estructura de datos sin un nodo raíz o un nodo hoja debe ser una estructura no lineal. AB es incorrecto. No todas las estructuras de datos deben tener nodos raíz y nodos hoja. C El elemento es incorrecto. Si hay un nodo intermedio en la estructura de datos que no cumple la condición de tener un solo antecedente o consecuente, la respuesta es la opción D.

2. La siguiente afirmación es incorrecta ( ). /p>

A. Cada declaración ejecutable y no ejecutable en el lenguaje C eventualmente se convertirá en instrucciones binarias de máquina

B. se forma un archivo de instrucciones de máquina binaria verdaderamente ejecutable

C. Un programa escrito en lenguaje C se denomina programa fuente y se almacena en un archivo de texto en forma de código ASCII.

D. El programa fuente en lenguaje C se compila para generar un programa de destino con el sufijo .obj

Respuesta A

El elemento de análisis A es incorrecto y la declaración del comentario no se traducirá al binario. Instrucciones de la máquina. Después de que el compilador de C compila el programa fuente C, se genera un archivo binario (llamado archivo objeto) con el sufijo .obj. Luego, el software "Link" conecta el archivo .obj con varias funciones de biblioteca para generar un. archivo binario con el sufijo .obj.exe archivo ejecutable.

3. El lenguaje C utiliza principalmente las siguientes funciones () para implementar la modularización del programa. funciones

p>

B. Definición de constantes y variables externas

C. Tres declaraciones estructurales básicas

D. Tipos de datos enriquecidos

Respuesta. A

p>

La modularización del análisis de programas C se logra principalmente a través de funciones. El lenguaje C permite que las funciones se compilen por separado, por lo que la respuesta es la opción A.

4. Existen los siguientes segmentos de programa:

Char ch;

int k

ch='a'; k=12;

print("%c,%d,",h,ch,k

printf("k=%d ",k); p>

Carácter conocido a El valor decimal del código ASCII es 97, luego el resultado de salida después de ejecutar el segmento del programa anterior es ().

A. El tipo de variable dependiente no coincide con el tipo de descriptor de formato y la salida no está definida

B. El elemento de salida no coincide con el número de descriptores de formato y la salida es cero o indefinida Valor

C. a,97,12k=12

D. a,97,k=12

Respuesta. D

Análisis de variables de caracteres El valor es el valor del código ASCII del carácter, que puede participar en cualquier operación permitida por la variable entera. "ch='a",%c significa generar el valor de ch en formato de caracteres, por lo que la salida es a; %d significa generar el valor de ch en forma de código decimal, que es 97; formato de salida y no se emite. En la segunda declaración, primero se genera "k=" y luego se genera el valor de k en código decimal, que es 12. La respuesta es la opción D.

5. Cuál de las siguientes afirmaciones es correcta ( ).

A. La pila es una lista lineal "primero en entrar, primero en salir"

B. La cola es una lista lineal "primero en entrar, primero en salir"

C. La cola circular no es una estructura lineal

D. Una tabla lineal ordenada puede utilizar una estructura de almacenamiento secuencial o una estructura de almacenamiento en cadena

Respuesta D

Analizar lineal ordenado La tabla puede utilizar una estructura de almacenamiento secuencial o una estructura de almacenamiento encadenada. El elemento A es incorrecto. La pila es una lista lineal de "primero en entrar, primero en salir". El elemento B es incorrecto. La cola es una lista lineal de "primero en entrar, primero en salir". La lista lineal ordenada se puede almacenar secuencialmente, y también se puede utilizar la estructura de almacenamiento en cadena.

La respuesta es la opción D.

6. Si la secuencia en orden de un árbol binario es DCBAEFG y la secuencia posterior al orden es DCBGFEA, entonces la profundidad del árbol binario (el nodo raíz está en el primer nivel) es ( ) .

A.5

B.40

C.3

D.2

Respuesta B

La secuencia posterior al orden del árbol binario analizado es DCBGFEA, entonces A es el nodo raíz. La secuencia en orden es DCBAEFG, luego DCB es el nodo del subárbol izquierdo y EFG es el nodo del subárbol derecho. De la misma manera, B es el nodo padre de C y C es el nodo padre de D. Según el análisis, se puede dibujar el subárbol izquierdo de manera similar, E es el nodo padre de F y F es el nodo padre de G. Según el análisis, se puede dibujar el subárbol derecho, por lo que la profundidad del árbol binario es de 4 niveles. La respuesta es la opción B.

7. Dada la definición: struct{intn;floatx;}s[2],m[2]={{10,2.8},{0,0.0}};, entonces en la siguiente asignación afirmación La correcta es ( ).

A.s[0]=m[1];

B.s=m

C.s.n=m.n;

D. s[2].x=m[2].x;

Respuesta A

La matriz de tipo de estructura s está definida analíticamente, la longitud es 2 y el tipo de estructura matriz m, la longitud es 2 y la matriz m está inicializada. Las estructuras del mismo tipo se pueden asignar directamente usando nombres de variables. El elemento A es correcto; el nombre de la matriz es la primera dirección de la matriz. Las constantes de dirección no se pueden asignar entre sí. una variable de estructura y no puede hacer referencia a miembros, el elemento C es incorrecto; las matrices s[2] y m[2] están fuera de los límites, el elemento D es incorrecto. La respuesta es la opción A.

8. Respecto a los identificadores del lenguaje C, la siguiente afirmación es incorrecta ().

A. El identificador puede constar enteramente de números

B. El identificador puede constar enteramente de guiones bajos

C. El identificador puede constar enteramente de letras minúsculas

D. Los identificadores pueden estar compuestos enteramente por letras mayúsculas

Respuesta A

Al analizar el lenguaje C, los identificadores solo pueden estar compuestos por letras, números y guiones bajos, y pueden Solo comienza con una letra y un guión bajo, por lo que la respuesta es la opción A.

9. Las variables en el siguiente segmento del programa se han definido como tipo int, entonces

sum=pAd=5

pAd=sum++,++; pAd, pAd++;

printf("%d ",pAd);

El resultado de salida del segmento del programa es ().

A.6

B.4

C.5

D.7

Respuesta D

Analice los dos usos de los operadores de incremento y decremento automático: operación de prefijo, el operador se coloca antes de la variable. La regla es aumentar (o disminuir) primero el valor de la variable en 1, y luego use la expresión modificada El valor participa en otras operaciones; operación posterior a la posición, el operador se coloca después de la variable. La regla es que la variable primero participa en otras operaciones y luego el valor de la variable aumenta (o resta). por 1. La ejecución de pAd=sum++,sum++ es posterior al incremento. Después de la ejecución, pAd=5,sum=6. No hay otras operaciones en las declaraciones ++ pAd y pAd ++, es decir, el efecto es el mismo, pAd aumenta en 1 respectivamente. La respuesta es la opción D. ;