Respuestas de nivel C
(1)Las siguientes afirmaciones son correctas.
a) La eficiencia del algoritmo solo está relacionada con la escala del problema y no tiene nada que ver con la estructura de almacenamiento de los datos.
b) La complejidad temporal de un algoritmo se refiere al esfuerzo computacional requerido para ejecutar el algoritmo.
c) La estructura lógica de los datos corresponde a la estructura de almacenamiento uno a uno.
d) La complejidad temporal del algoritmo está relacionada con la complejidad espacial.
(2) En programación estructurada, el principio de división de módulos es
a) Cada módulo debe incluir tantas funciones como sea posible.
b) El tamaño de cada módulo debe ser lo más grande posible.
c) Los vínculos entre módulos deben ser lo más estrechos posible.
d) Alta cohesión dentro de los módulos y bajo acoplamiento entre módulos.
(3) Las siguientes afirmaciones son correctas
a) El objetivo principal de las pruebas de software es encontrar errores en el programa.
b) El objetivo principal de las pruebas de software es determinar la ubicación de los errores en el programa.
c) Para mejorar la eficiencia de las pruebas de software, es mejor que los programadores completen las pruebas de software ellos mismos.
d) La prueba del software consiste en demostrar que no hay errores en el software.
(4)Las siguientes opciones no son características de la programación orientada a objetos.
a) Herencia B) Polimorfismo C) Analogía D) Cierre
(5) Las siguientes afirmaciones sobre los pilares son correctas.
a) La cola es una tabla no lineal.
b) La cola organiza los datos según el principio de "primero en entrar, último en salir"
c) La cola elimina los datos al final de la cola.
d) La cola organiza los datos según el principio "primero en entrar, primero en salir".
(6) Para el siguiente árbol binario
Los resultados del pedido anticipado recorrido son los siguientes
A) DYBEAFCZX B) YDEBFZXCA
C) ABDYECFXZ D) ABCDEFXYZ
(7) Hay n nodos con grado 2 en el binario árbol, por lo que los nodos hoja en el árbol binario son
a)n 1 B)n-1 C)2n D)n/2
(8) En las siguientes operaciones relacionales , los atributos en la tabla relacional se pueden Reducir el número de tuplas cuando el número es mayor.
a) Unión b) Intersección c) Proyección d) Producto cartesiano
(9) En el diagrama E-R, la gráfica utilizada para representar la relación entre entidades es
a) Rectángulo b) Elipse c) Romboide d) Paralelogramo
(10) ¿Cuál de las siguientes afirmaciones es incorrecta?
a) En un sistema de base de datos, la estructura física de los datos La estructura debe ser consistente con la estructura lógica.
b) El objetivo fundamental de la tecnología de bases de datos es resolver el problema del intercambio de datos.
c) El diseño de una base de datos se refiere al establecimiento de una base de datos basada en el sistema de gestión de bases de datos existente.
d) El sistema de base de datos requiere el soporte del sistema operativo.
En el algoritmo (11), se debe especificar clara y estrictamente cada operación que deba realizarse, que pertenece al algoritmo.
a) Legalidad b) Viabilidad c) Certeza d) Pobreza
(12) ¿Cuál de las siguientes afirmaciones es incorrecta?
a) Las computadoras no pueden ejecutar directamente el Programa fuente escrito en lenguaje C.
b) Después de compilar el programa C con C, el archivo generado tendrá un sufijo. obj es un archivo binario.
c) Archivos con sufijo. obj y archivos con sufijo. El exe generado por el vinculador es un archivo binario.
Archivos binarios con sufijo. objeto y. exe se puede ejecutar directamente.
(13) De acuerdo con las reglas de nomenclatura de los identificadores de usuario en lenguaje C, los siguientes caracteres no pueden aparecer en los identificadores:
a) Letras mayúsculas b) Conectores c) Caracteres numéricos d) Subrayados
(14) ¿Cuál de las siguientes afirmaciones es incorrecta?
A) El lenguaje C es un lenguaje de programación estructurado.
b) Los programas estructurados constan de tres estructuras básicas: secuencia, rama y bucle.
c) Los programas compuestos por tres estructuras básicas sólo pueden resolver problemas simples.
d) La programación estructurada aboga por métodos de diseño modular.
(15) Para un programa C que se ejecuta normalmente, las siguientes afirmaciones son correctas.
a) La ejecución del programa siempre comienza desde la función principal y finaliza en la función principal.
b) La ejecución del programa siempre comienza desde la primera función del programa y finaliza con la función principal.
c) La ejecución del programa siempre comienza desde la función principal y finaliza con la última función del programa.
d) La ejecución de un programa siempre comienza desde la primera función del programa y finaliza con la última función del programa.
(16) La variable se ha definido correctamente. Para pasar scanf ("d c d c",; a1. c 1; a2 y ampC2 esta declaración asigna los valores 10 y 20 a las variables a1 y a2, y asigna los caracteres X e Y a las variables c1 y c2); El formulario de entrada que se muestra a continuación es correcto (nota: □ representa un carácter de espacio)
a)10□x□20□y < enter > b)10□x20□y < enter >
c)10□x < Enter > D)10x < Enter >
20□Y < enter > 20□Y < enter >
(17) Si hay una fórmula algebraica fórmula de expresión (donde e solo representa la base del logaritmo natural, no una variable), la siguiente expresión en lenguaje C que puede representar correctamente esta expresión algebraica es
a)sqrt(abs(n^x e^x )) b)sqrt(fabs(pow(n,x) pow(x,e))
C)sqrt(fabs(pow(n,x) exp(x,e))) D) sqrt( fabs(pow(x,n) exp(x)))
(18) tiene una definición: int k = 0 los valores de las cuatro expresiones de las siguientes opciones son iguales; ya que los valores de las otras tres expresiones son diferentes.
a)k B)k = 1 C) k DD)k 1
(19) Existe el siguiente programa, donde u significa salida como un número entero, sin indicativo de llamada.
Main()
{Entero sin signo x = 0xFFFF/* El valor inicial de x es un número hexadecimal*/
Printf("u\ n " , x);
}
El resultado de salida después de ejecutar el programa es
a)-1 B)65535 C)32767D)0x ffff p >
(20) Dejemos que las variables X e Y estén correctamente definidas y asignadas. En la siguiente declaración if, el mensaje de error se generará en el momento de la compilación.
a)if(x )B)if(x gt;y ampy!=0);
c)if(x gty)x--D)if(y lt ;0) {;}
else y: else x;
(21) Entre las siguientes opciones, cuando x es un número impar mayor que 1, la expresión toma el valor 0 .
A)x2==1 B)x/2 C)x2! =0 D)x2==0
(22) Las siguientes afirmaciones son correctas.
A)A) La declaración break solo se puede utilizar en una declaración switch.
B)B) La función de la instrucción continue es hacer que el flujo de ejecución del programa salte de todos los bucles que lo contienen.
C)C) La declaración break solo se puede utilizar en el cuerpo del bucle y en el cuerpo de la declaración switch.
d) Usar la instrucción break en el cuerpo del bucle tiene el mismo efecto que la instrucción continuar.
(23) tiene el siguiente programa
main()
{int k=5, n = 0;
Do
p>Cambiar (k)
{ caso 1: caso 3: n = 1; ruptura
n = 0; p>
Caso 2: Caso 4: n = 2; break;
}
Printf("d ", n
} while (k gt; 0 amp ampn lt5);
}
El resultado de salida después de ejecutar el programa es
A)235 B)0235 C )02356 D) 2356
(24) tiene el siguiente procedimiento
Mian()
{int i, j;
para (I = 1; i lt4;i)
{ for(j = I;j lt4;j) printf("d*d=d ",I,j,I*j); p>
printf(" \ n ");
}
}
El resultado de salida después de ejecutar el programa es
* p = ampn;
Printf("Entrada n:"); scanf("d", ampp); printf("Salida n:"); );
}
Este programa intenta leer datos en la variable N a través del puntero P y generarlos, pero hay muchos errores en el programa. Las siguientes afirmaciones son correctas.
A) int n, * p = NULLb) * p = amp; C) scanf ("d ", ampp) D) printf ( " d\n ", p); >
(31) La función de la función f en el siguiente programa es: cuando el indicador es 4, ordenar de pequeño a grande; cuando el indicador es 0, ordenar de grande a pequeño;
void f(int b[], int n, int flag)
{int i, j, t
for(I = 0; i; ltn-1; i )
for(j = I 1;j ltn;j )
si (bandera? b[I] gt; b[j]: b[I ] lt; b[j]){ t = b[I]; b[I]= b[j]; b[j]= t;}
}
Principal ()
{int a[10]={5, 4, 3, 2, 1, 6, 7, 8, 9, 10}, I
f( amp; ;a[2],5,0);f(a,51);
for(I = 0;ilt10;i) printf("d", a[I]);
for(I = 0;ilt10;i) printf("d," a[I]);
p>}
El resultado de salida después de ejecutar el programa es
A) 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, B )3, 4, 5, 6, 7, 2, 1, 8, 9, 10,
C)5, 4, 3, 21, 6, 7, 8, 9, 10, D) 10, 9, 8, 7, 6, 5, 4, 3, 21,
(32) tiene el siguiente programa
void f(int b[])
{ int I
for(I =; 2; yo lt6; yo )b[I]* = 2
}
principal()
{int a[10]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, yo
f
for(I = 0;ilt10;i) printf("d ",a[I]);
}
El resultado de salida después de ejecutar el programa es
A)1, 2, 3, 4, 5, 6, 7, 8, 9, 10; B) 1, 2, 6, 8, 10
C) 1, 2, 3, 4, 10, 12, 14, 16, 9, 10D) 1, 2, 6, 8, 10, 12, 14, 16, 9, 10,
(33) tiene la siguiente estructura Program
typedef {int b, p;} A;
Void f(A c) /*Nota: c es el nombre de la variable de estructura*/
{ int j;
c . ; c . p = 2;
}
principal(){ int I
A a={1, 2}; p>f
printf("d, d\n ", a.b, a . p
}
El resultado de salida después de ejecutar el programa es
a)2.3 B)2.4 C)1.4D)1.2
(34) Existe el siguiente programa
Main()
{int a[4][4]={{1, 4, 3, 2,}, {8, 6, 5, 7,}, {3, 7, 2, 5, }, {4, 8, 6, 1,}, I, j, k, t;
para (I = 0; i lt4; i )
para(j = 0;j lt3;j)
for(k = j 1;k lt4;k)
if(a[j][I] gt; a[k][I]){ t = a[ j][I]; a[j][I]= a[k][I]; a[k][I]= t }/*Por clasificación de columnas*/
for(I) = 0; i lt4; i) printf ("d ", a[I][j]
}
El resultado de salida después de ejecutar el programa es
A)
1, 6, 5, 7 B) 8, 7, 3, 1 C) 4, 7, 5, 2D) 1, 6, 2, 1,
(35) tiene el siguiente programa p >
Principal()
{int a[4][4]={{1, 4, 3, 2,}, {8, 6, 5, 7,}, {3 , 7, 2, 5, }, {4, 8, 6, 1,}, I, k, t
para (I = 0; i lt3; i )
for(k = I I;k lt4;k )if(a[I][I] lt;a[k][k]){ t = a[I][I];a[I][I]= a [k][k];a[k][k]= t;}
for(I = 0;ilt4;i)printf("d ",a[0][I]) ;
}
El resultado de salida después de ejecutar el programa es
A) 6, 21, 1, B) 6, 4, 3, 2, C ) 1, 1, 2, 6, D) 2, 3, 4, 6,
(36) tiene el siguiente programa
void f(int *q)
{ int I = 0;
for(ilt5;i)(* q);
}
main()
{int a[5]={1, 2, 3, 4, 5}, yo
f
for(I = 0; i lt5; i) printf ("d ", a[I]);
}
El resultado de salida después de ejecutar el programa es
A) 2, 2, 3, 4, 5, B) 6, 2, 3, 4, 5, C) 2, 3, 4, 5, 6,
(37) tiene el siguiente programa
# incluir ltstring. h gt
main()
{char p[20]={'a ', ' b ', ' c ', ' d'}, q[] ="abc ", r[]= " abcde ";
Strcpy(p strlen(q), r); strcat(p, q); n ", sizeof(p), strlen(p));
}
El resultado de salida después de ejecutar el programa es
a) 20 9 B) 9 9 C) 20 11D)11 11
(38) tiene el siguiente programa
# include ltstring.h gt
main()
{char p[20]={'a', 'b', 'c', 'd'}, q[]="abc ", r[]="abcde "
strcat(p, r );Strcpy(p strlen(q), q);
Printf("d \n ", sizeof(p));
}
Programa El resultado de salida después de la ejecución es
A)9 B)6 C)11 D)7
(39) Existe el siguiente programa
# include ltstring.h gt
Main()
{ char p[20]={'a ', ' b ', ' c ', ' d'}, q[]="abc " , r[]= " abcde ";
Strcat(p, r); strcpy(p strlen(q), q); "d\n ", strlen (p));
}
El resultado de salida después de ejecutar el programa es
A) 9 B) 6 C) 11
D) 7
else { int a = 7; t = a;}
Devuelve t a;
}
Principal()
{int s=a, I = 0;
for(;I〈2;i〉s = f(I);
printf (" d\n ", s);
}
El resultado de salida después de ejecutar el programa es
A)24 B)28 C)32 D)36
(43) Hay un archivo llamado init.txt con el siguiente contenido:
#define HDY(A, B) A/B
# define PRINT (Y) Printf("y=d\n,Y)
Existe el siguiente programa
#include "init.txt "
Main( )
p>{int a=1, b=2, c=3, d=4, k;
K=HDY(a c, b d);
Imprimir ( K);
}
La siguiente descripción de este programa es correcta
a) Error de compilación b) Error de operación
c )El resultado de la operación es y=0 D)El resultado de la operación es y=6.
(44) tiene el siguiente programa
main()
{char ch[]="uvwxyz", *pc
Pc = chprintf(" c \ n ", *(PC 5));
}
El resultado de salida después de ejecutar el programa es
A)z B) 0 C) La dirección del elemento ch[5] d) La dirección del carácter y
(45) tiene el siguiente programa
Estructura S { int n; 20]; };
F vacío(estructura S *P)
{int i,j,t;
for(I = 0;iltp- >n- 1; i )
for(j = j 1; j ltp->; n-1; j )
El resultado de salida después de ejecutar el programa es
A)3 B)4 C)5 D)6
(49) tiene el siguiente programa
# include ltstdio.h gt
main() p>
{ ARCHIVO * fpint I, a[6]={1, 2, 3, 4, 5, 6};
fp=fopen("d2.dat ", " w " );
fprintf(fp, " dd\n ", a[0], a[1], a[2]); fprintf(fp, " dd\n ", a[3], a[4], a[5]);
fclose(FP);
fp=fopen("d2.dat ", " r ");
fscanf(fp, " " dd\n ", ampk amp; n); printf ("dd\n ", k, n);
fclose(FP);
}
El resultado de salida después de ejecutar el programa es
a)1 2 B)1 4 C)123 4D)123 456
(50) tiene el siguiente Programa
# include ltstdio.h gt
main()
{ archivo * fpint I, a[6]={ 1, 2, 3, 4, 5, 6k };
fp=fopen("d3.dat ", " w b ");
fwrite(a, tamaño(int) , 6, FP);
fseek(fp, sizeof(int)*3, SEEK SET /*Esta declaración mueve el puntero de posición del archivo leído hacia atrás 3 int datos desde el encabezado del archivo *); /
fread(a,sizeof(int),3,FP);fclose(FP);
for(I = 0;ilt6;i) printf("d ", a[I]);
}
El resultado de salida después de ejecutar el programa es
A) 4, 5, 6, 4, 5, 6, B) 1, 2, 3, 4, 5, 6, C) 4, 5, 6, 1, 2, 3, D) 6, 5, 4, 3, 2, 1,
2 Complete los espacios en blanco (2 puntos por cada espacio en blanco, ***40 puntos)
Nota: la pregunta 14 para completar tiene 2 espacios, la pregunta 19*** tiene 20 espacios.
Escriba la respuesta correcta para cada espacio en blanco en la línea horizontal numerada del [1] al [20] en la hoja de respuestas. La respuesta no se calificará en el examen.
Nota: La palabra clave del comando debe completarse por completo.
(1) En un árbol binario completo con una profundidad de 7, el número de nodos con grado 2 es _ _ _ _ _ _ _ _ _.
(2) Las pruebas de software se dividen en pruebas de caja blanca (caja) y pruebas de caja negra (caja). El método de división de clases de equivalencia pertenece a _ _ _ _ _ _ _ _ _.
(3) En el sistema de base de datos, el software central que implementa varias funciones de gestión de datos se denomina sistema de gestión de base de datos _ _ _ _ _.
(4) El ciclo de vida del software se puede dividir en varias etapas, generalmente divididas en etapa de definición, etapa de desarrollo y etapa de mantenimiento. La codificación y las pruebas pertenecen a las fases _ _ _ _ _ _.
(5) En el diagrama de flujo de datos (DFD) utilizado en el análisis estructural, los elementos gráficos se explican con precisión utilizando _ _ _ _ _ _ _ _.
(6)El resultado de salida después de ejecutar el siguiente programa es _ _ _ _ _ _.
Principal()
{ int a = 10;
a=(3*5, a 4); , a);
}
(7) Al ejecutar el siguiente programa, ingrese 1234567890 y se ejecutará el cuerpo del bucle while.
_ _ _ _ _ _ _ _ _ veces.
# incluir ltstdio.h gt
main()
{ char ch
while((ch = getchar())= = ' 0 ')printf(" # ");
}
(8) El resultado de la ejecución del siguiente programa es _ _ _ _ _ _ _ _.
int k = 0;
Fondos no válidos (entero)
{ m = k; printf("m=d\n k=d; ", m, k);}
main()
{ int I = 4;
fun(i); printf("i=d k= d\n ", I, k);
}
(9) El resultado de ejecución del siguiente programa es _ _ _ _ _ _ _ _.
Principal()
{int a=2, b=7, c = 5
Interruptor (a gt0)
{Caso 1: cambiar(b lt0)
{ caso 1: cambiar("@");
Caso 2: printf("!"); p> p>
}
Caso 0: cambiar (c==5)
{ caso 0: printf(" * "); p> Caso 1: printf(" # "); roto;
Caso 2: printf(" $ ");
}
Valor predeterminado; : printf (amp;);
}
printf(" \ n ");
}
(10) Salida de el siguiente programa Sí_ _ _ _ _ _ _ _ _ _
# include ltstring.h gt
main()
{ printf("d\n ", strlen(" IBM \ n 012 \ 1 \ \ ");
}
(11) Charch = "$" ha sido definido; int i=1, j; ejecutar j =! Después de champ ampi, el valor de I es _ _ _ _ _ _ _ _
(12) La salida del siguiente programa es_ _ _ _ _ _ _ _
# include ltstring.h gt
main()
{ char a[]={'\1 ', ' \2 ', ' \3 ', ' \ 4 ' , ' \ 0 ' };
Printf("d d\n ", sizeof, srelen);
}
(13) Hay un declaración de definición: int a[][3]={{0}, {1}, { 2 } };, el valor del elemento de matriz a[1][2] es _ _ _ _ _ _ _ _
(14) La función del siguiente programa es encontrar la suma de dos elementos adyacentes en la matriz X, almacenarla en la matriz A y luego generarla
Main()
{int x[10], a[9], I;
for(I = 0; i lt10; i)
Scanf("d ", ampx [I] );
for(_ _ _ _ _ _ _ _ _ I lt; 10; i )
a[I-1]= x[I] _ _ _ _ _ _ _ _ _ _ _ _ _
for(I = 0;ilt9;i)
Printf("d ",a[I]);
printf(" \ n ");
(15) La función del siguiente programa es utilizar punteros para señalar tres variables enteras, encontrar el valor máximo de los tres números mediante operaciones de puntero y enviarlo a la pantalla superior.
Por favor complete los espacios:
main()
{int x, y, z, max, *px, *py, *pz, * pmax
Scanf ("ddd", ampx amp;y amp;z);
Px = ampx;
Py = ampy;
Pz = ampz;< /p >
Pmax = ampmax
____________________
if(* pmax lt; * py)* pmax = * py;
if(* pmax lt; * pz)* pmax = * pz;
Printf("max=d\n ",
}
(16) El siguiente programa La salida es _ _ _ _ _ _ _ _ _ _ _ _
Int fun(int*x, int n)
{if (n==0)
Devuelve x[0];
De lo contrario devuelve x[0] fun(x 1, n-1);
}
Principal()
{int a[]={1, 2, 3, 4, 5, 6, 7}
Printf("d\n ", divertido(a , 3) );
}
(17) La salida del siguiente programa es_ _ _ _ _ _ _ _ _ _
# include ltstdlib. h gt p>
Main()
{char *s1, *s2, m;
s 1 = S2 =(char *)malloc(sizeof(char ));
* s 1 = 15
* s2 = 20
m = * s 1 * S2; ("d\ n ", m);
}
(18) se explica.
Fecha de estructura {integer año; int mes; int día;};
Escriba una declaración de definición para definir D como la variable de estructura anterior e indique el año y el mes de sus miembros. turno, valor inicial de la asignación diaria: 2006, 10, 1: _ _ _ _ _ _ _;
(19) Hay una definición: ARCHIVO * fw, complete la siguiente declaración para abrir el archivo para que puedas Continuar escribiendo hasta el final del archivo de texto readme.txt
fw=fopen("readme.txt ", " ________ ")
Respuestas al nivel de abril de 2007 2 Prueba escrita de lenguaje C
p>Opción múltiple
1-5: BDACD
6-10: CABCA
11-15 : CDBCA
16-20: DCABC
21-25: DCABA
26-30: ADCDA
31-35: BBDDB
36 -40 años: DCACA
41-45: Dada
46-50 años: ACBDA
Rellena el espacios en blanco
1, 63
2. Caja negra
3. Sistema de gestión de bases de datos
4. >5. Diccionario de datos
6. a=14
7.
8. p>
9.#amp
10, 9
11, 1
12, 5 4
13, 0.
14, i= 1
15, x[i-1]
16, * pmax = * px
17, 10
18, 40
19. Fecha de estructura d={2006, 10, 1}
20.