Red de conocimiento del abogados - Respuesta a la Ley de patrimonio - Por favor proporcione una explicación detallada de las preguntas escritas del examen escrito de lenguaje C de nivel 2 del Examen Nacional de Grado en Informática de marzo de 2009.

Por favor proporcione una explicación detallada de las preguntas escritas del examen escrito de lenguaje C de nivel 2 del Examen Nacional de Grado en Informática de marzo de 2009.

Preguntas de la prueba escrita de nivel 2 C del examen nacional de rango informático (con respuestas) en marzo de 2009 (tiempo del examen: 90 minutos, puntuación total: 100 puntos) 1. Preguntas de opción múltiple (1) Entre las siguientes afirmaciones, la correcta es A) Pila Es una tabla lineal de primero en entrar, primero en salir (FIFO) B) La cola es una tabla lineal de primero en entrar, primero en salir (FIFO) C) La cola circular es una estructura no lineal D) Una tabla lineal ordenada puede usar una estructura de almacenamiento secuencial o una estructura de almacenamiento en cadena (2) La estructura de datos que admite llamadas a subrutinas es A) pila B) árbol C) cola D) árbol binario (3) Un determinado árbol binario. tiene 5 nodos con grado 2, entonces el número de nodos hoja en el árbol binario es A) 10 B) 8 C) 6 D) 4 (4) Entre los siguientes métodos de clasificación, el que tiene el menor número de comparaciones en el peor El caso es A) Clasificación por burbujas B) Clasificación por selección simple C) Clasificación por inserción directa D) Clasificación por montón (5) El software Las funciones se pueden dividir en: software de aplicación, software de sistema y software de soporte (o software de herramienta). Los siguientes son software de aplicación: A) Software compilador B) Sistema operativo C) Sistema de gestión educativa D) Programa ensamblador (6) El incorrecto en la siguiente descripción es A) El propósito de las pruebas de software es encontrar errores y corregirlos B) Probar el software depurado La "ubicación del error" del programa es un paso necesario para la depuración del programa. C) La depuración del programa también se denomina depuración. D) Las pruebas de software deben implementar estrictamente el plan de prueba para eliminar la aleatoriedad de la prueba (7). ) El acoplamiento y la cohesión son medidas de independencia del módulo de dos estándares.

¿Cuál de las siguientes afirmaciones es correcta? A) Aumentar el acoplamiento y disminuir la cohesión ayudará a mejorar la independencia del módulo B) Reducir el acoplamiento y aumentar la cohesión ayudará a mejorar la independencia del módulo. elementos dentro de un módulo La estrecha integración entre sí D) La cohesión se refiere a la cercanía de la interconexión entre los módulos (8) El problema central en el sistema de aplicación de la base de datos es A) el diseño de la base de datos B) el diseño del sistema de la base de datos C) el mantenimiento de la base de datos D) capacitación de administrador de base de datos (9) Hay dos relaciones R y S de la siguiente manera: R SA B C A Ba 3 2 a 3b 0 1 b 0c 2 1 c 2 De la relación R para obtener la relación S mediante la operación, la operación utilizada es A) Seleccione B) Proyección C) Insertar D) Conexión (10) Al convertir el diagrama E-R al modo relacional, tanto las entidades como las relaciones se pueden representar como A) Atributos B) Claves C) Relaciones D) Dominios (11) Los identificadores legales en el las siguientes opciones son A) 1- 1 B) 1-1 C)-11 D) 1--(12) Si hay una declaración de definición en la función: int k;, entonces A) el sistema asignará automáticamente un valor inicial de 0 a k B) en este momento, el valor de k no está definido C) El sistema asignará automáticamente un valor inicial de -1 a k D) En este momento, no hay ningún valor en k (13) Entre los. siguientes opciones, las que se pueden usar como constantes de datos son A) o115 B) 0118 C) 1.5e1.5 D) 115L (14) Existe una definición: int x=2;. no es 6 es A) x*=x+1 B) x++,2*x C) x*= (1+x) D ) 2*x,x+=2 (15) Segmento de programa: int x=12 double; y=3.141593; printf (“%d%8.6f”,x,y); El resultado de salida es A) 123.141593 B) 12 3.141593 C) 12, 3.141593 D) 123.141593 (16) Si hay una declaración de definición: doble x , y, *px, *py, después de ejecutar px=&x, py=&y;, la declaración de entrada correcta es A) scanf ("% f%f",x,y) scanf("%f%f); ",&x,&y); C) scanf("%lf%le",px,py); D) scanf("%lf% lf",x,y); (17) La siguiente es la forma básica de if declaración: declaración if (expresión), donde la expresión A) debe ser una expresión lógica B) debe ser una expresión relacional C) debe ser una expresión lógica O una expresión relacional D) puede ser cualquier expresión legal (18) Existe el siguiente programa # incluir main(){int x;

scanf("%d",&x

if(x<=3);

if(x!=10) printf(“%d\n”,x);

} Cuando el programa se está ejecutando, ¿en qué rango se generará el valor de entrada A) Un número entero? no igual a 10 B) Un número entero mayor a 3 y no igual a 10 C) Un número entero mayor a 3 o igual a 10 D) Un número entero menor a 3 (19) Existe el siguiente programa #includeMain (){ int a=1,b=2,c=3,d=0;si (a= =1 &&b++= =2) si (b!=2 || c--!

=3) printf(“%d,%d,%d\n”,a,b,c);de lo contrario printf(“%d,%d,%d\n”,a,b,c);de lo contrario printf ("%d,%d,%d\n",a,b,c);}El resultado de salida después de ejecutar el programa es A) 1,2,3 B) 1,3,2 C) 1,3, 3 D) 3,2,1 (20) Las variables del siguiente programa han sido definidas correctamente para (i=0;i<4;i++,i++for (k=1;k<3;k++);printf (“* "); El resultado de salida del segmento del programa es A) ******** B) **** C) ** D) * (21) Existe el siguiente programa #includemain(){char *s=(“ABC);

hacer

{printf(“%d”,*s%10);s++;

} while(* s);} Tenga en cuenta que el valor del código ASCII de la letra A es 65.

El resultado de salida después de ejecutar el programa es A) 5670 B) 656667 C) 567 D) ABC (22) Suponga que las variables se han definido correctamente El siguiente segmento del programa que no puede contar el número de caracteres de entrada en una línea (excluidos). retornos de carro) es A )n=0; while((ch=getchar())!='\n')n++ B) n=0; while(getchar()!='\n')n++;C) for(n=0 ; getchar()!='\n';n++); D) n=0;for(ch=getchar();ch!='\n';n++); siguiente programa #includemain(){ int a1,a2;char c1,c2;scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);printf(“%d ,%c,%d, %c",&1,c1,a2,c2);} Si desea ingresar a través del teclado para que el valor de a1 sea 12, el valor de a2 sea 34, el valor de c1 sea el carácter a, el valor de c2 es el carácter b, el resultado de salida del programa es: 12,a,34,b, entonces el formato de entrada correcto es (lo siguiente representa un espacio, representa un retorno de carro) A) 12a34b B) 12 a 34 bC) 12,a,34 ,b D) 12 a34 b(24) tiene el siguiente programa #includeint f( int x,int y){return()y-x)*x);}main(){ int a=3,b=4,c=5,d;

d=f(f(a ,b),f(a,c));

printf( "%d\n",d);

}El resultado de salida después de ejecutar el programa es A) 10 B) 9 C) 8 D) 7 (25) El siguiente programa #include void fun(char *s){ while(*s)

{ if(*s%2= =0) printf(“%c”,*s);

s++ ;

}}main(){ char a[]={"bueno"}; );printf("\n");} Nota: El valor del código ASCII de la letra a es 97. El resultado de salida después de ejecutar el programa es A) d B) go C) dios D) bueno (26) Existe lo siguiente programa #include void fun (int *a, int *b) {int *c;

c=a;a=b;b=c;

}main(){int x=3,y-5,*P=&x,*q=&y;

diversión(p,q);printf(“%d,%d,”,* p,*q);

fun(&x,&y);printf(“%d, %d\n”,*p,*q);

}El resultado de salida después de ejecutar el programa es A) 3,5,5,3 B) 3,5,3,5 C) 5, 3,3,5 D) 5,3,5,3 (27) tiene el siguiente programa #include

h>void f(int *p,int *q);main(){ int m=1,n=2,*r=&m; f(r,&n);printf(“%d,%d”,m; ,n);}void f(int *p,int *q){p=p+1;*q=*q+1;}El resultado de salida después de ejecutar el programa es A) 1,3 B) 2, 3 C ) 1,4 D) 1,2 (28) La siguiente función genera los datos en la matriz en 8 líneas por fila void fun (int *w, int n) { int i for (i=0;i< n;i++) {________

printf(“%d”,w);

} printf(“\n”);} La declaración que debe completarse subrayada es A ) si (i/ 8==0)imprimir("\n"); B) si(i/8==0)continuar;C) si(i%8==0)imprimir("\n"); D) if(i %8==0)continue; (29) Si existe la siguiente definición int x[10],*pt=x;, la aplicación correcta de x elementos de la matriz es A)*&x[10] B )*(x+3) C) * (pt+10) D) pt+3 (30) Hay una definición: char s[81];int i=10;, la siguiente no puede ser la cadena con espacios en un línea (que no exceda los 80 caracteres) La declaración o grupo de declaraciones leído es A get(s) B) while((s[i++]=getchar())!=”\n”;s=”\0”;C) scanf(“%s”, s); D) do{scanf (“%c”,&s);} while (s[i++]!=”\n”); es el siguiente programa #include main(){ char *a[ ]={"abcd","ef","gh","ijk"};int I; 4;i++) printf("%c ",*a);} El resultado de salida después de ejecutar el programa es A) aegi B) dfhk C) abcd D) abcdefghijk (32) El grupo de instrucciones correcto en las siguientes opciones es A ) char s[];s="LIBRO!" ; B) char *s;s={”¡LIBRO!”};C) char s[10];s=”LIBRO!”; =”LIBRO!”; (33) Existe el siguiente programa #include int fun{int x,int y}{ if(x==y) return(x); )/2)}main(){ int a=4, b=5,c=6; printf(“%d\n”,fun(2*a,fun(b,c)))}El resultado de salida después ejecutar el programa es A) 3 B) 6 C) 8 D) 12 (34) Supongamos que hay una variable entera n en la función Para garantizar que su valor inicial sea 0 cuando no se le asigna un valor, la clase de almacenamiento que. debe seleccionarse es A) auto B) registrar C) estático D) auto o registrar (35) Existe el siguiente programa #include int b=2;int fun(int *k){ b=*k +b;return(b);}main(){ int a[10]={1,2,3,4,5,6,7,8},I para(i=2;i<4;i++; ) {b=diversión(&a)+b;printf(“%d”,b);} printf ("\n");}

El resultado de salida después de ejecutar el programa es A) 10 12 B) 8 10 C) 10 28 D) 10 16 (36) Existe el siguiente programa #include #define PT 3.5 #define S (x) PT*x *x;main(){ int a=1, b=2; printf(“%4.1f\n”,S(a+b));} El resultado de salida después de ejecutar el programa es A) 14.0 B ) 31.5 C) 7.5 D) El programa tiene errores y no hay resultados (37) Existe el siguiente programa #include struct ord{ int x,y;} dt[2]={1,2,3 ,4};main(){ struct ord *p=dt; printf (“%d,”,++p->x);} El El resultado de ejecución del programa es A) 1, 2 B) 2,3 C) 3,4 D) 4,1 (38) tiene una definición de macro: #include IsDIV(k,n) ((k%n==1 )?1:0 y la variable m es correcta Defina y asigne un valor, luego la macro llama: IsDIV(m,5)&& Cuando IsDIV(m,7) es verdadero, lo que quiere expresar es A) Determinar si m se puede dividir entre 5 o 7 B) Determinar si m se puede dividir entre 5 y 7 C) Determinar si m es divisible entre 5 o 7 y si el resto es 1 D) Determinar si m es divisible entre 5 y 7 y si el el resto es 1 (39) Existe el siguiente programa #include main(){ int a=5,b=1,t ; t=(a<<2|b); n”,t) }El resultado de salida después de ejecutar el programa es A) 21 B) 11 C) 6 D) 1 (40) Existe el siguiente programa# include main(){ FILE *f; =fopen("filea.txt","w"); fprintf(f,"abc"); fclose(f);}si el archivo de texto filea.txt El contenido original es: hola, luego de ejecutar el programa anterior, El contenido del archivo filea.txt es A) helloabc B) abclo C) abc D) abchello 2. Complete los espacios en blanco (2 puntos por cada espacio en blanco, ***30 puntos) Escriba la respuesta correcta para cada espacio en blanco en la horizontal línea numerada del 1 al 15 en la hoja de respuestas Las respuestas no se calificarán en la prueba. (1) Suponga que se utiliza una matriz con una longitud de 50 (los subíndices de los elementos de la matriz van de 0 a 49) como espacio de almacenamiento de la pila. El puntero inferior de la pila apunta al elemento en la parte inferior de la pila. y el puntero superior de la pila apunta al elemento superior de la pila. Si abajo = 49, arriba = 30 (subíndice de matriz), entonces hay 1 elemento en la pila. (2) Las pruebas de software se pueden dividir en pruebas de caja blanca y pruebas de caja negra. La prueba de ruta básica es una prueba de 2. (3) Las tres estructuras de control básicas que se ajustan al principio estructural son: estructura de selección, estructura de bucle y 3. (4) El núcleo del sistema de base de datos es 4 (5) En el diagrama E-R, los gráficos incluyen cuadros rectangulares, cuadros de diamantes y cuadros elípticos. Lo que representa la relación entre entidades es el cuadro 5.

(6) El valor de la expresión (int) ((doble) (5/2) + 2.5) es 6 (7) Si las variables x e y han sido definidas como tipo int y el valor de x es 99 y el valor de y es 9. Complete la declaración de salida printf (7, x/y para que el resultado del cálculo de salida tenga la forma: x/y=11(8) Existe el siguiente programa #include ; principal(){ char c1, c2; scanf(“&c”,&c1); mientras(c1<65||c1>90) scanf(“&c”,&c1); \n”,c1,c2 );} Después de ingresar 65 y presionar Enter cuando se ejecuta el programa, ¿puede generar los resultados y finalizar la operación (responda sí o no) 8.

(9) El resultado de salida después de ejecutar el siguiente programa es 9#include main(){int k=1, s=0;

do{

if { ((k&2)!=0)continue;

s+=k;k++;

}mientras(k)10);printf("s=&d/n",s ) ;} (10) Cuando se ejecuta el siguiente programa, si se ingresa labced12df , el resultado de salida es 10 #include main(){char a =0,ch;

mientras((ch =getchar())!='\n')

{if(a&2!=0&&(ch>'a'&&ch<='z')) ch=ch-' a'+'A ';

a++;putchar(ch);

}printf("\n");}(11) Después del programa está el siguiente programa. se ejecuta, el resultado de salida es 11#include void fun (int *a){a[0=a[1];]}main(){int a[10]={10,9,8 ,7,6,5,4,3 ,2,1},i;for(i=2;i>=0;i--) divertido{&a};for(i=0;i<10;i++) printf(“&d”,a);printf ("\n");}(12) Complete las declaraciones de declaración de función en el siguiente programa #include int12;main(){int x,y,( *p)();

p=max;

printf(“&d\n”,&x,&y);

}Int max(int ​​​​a,int b){return (a> b/a:b);}(13) El siguiente programa se utiliza para determinar si el archivo especificado se puede abrir normalmente. Complete los espacios en blanco #include . main(){FILE *fp;

if (( (fp=fopen("test.txt","r"))==13))

printf("Error para abrir el archivo!\n");

else

printf("¡El archivo se abrió correctamente!\n");

(14) El resultado de la ejecución de el siguiente programa es 14

#include

#include

struct A

{ int a;char b[10];doble c;};void f (struct A * t);main(){struct A a=(1001,"ZhangDa",1098,0);

f(&a);printf("&d,&s,&6,if\n",a.a ,a.b,a.c);<

/p>

}void f(struct A *t){strcpy(t->b,”ChangRong” }(15) El siguiente programa vincula tres variables NODETYPE en una lista vinculada simple y genera los datos en el campo de datos del nodo de la lista vinculada en el bucle while, complete los espacios en blanco #include struct node{int struct node *next;};typedef struct node NODETYPE;main(){NODETYPE a, b,c ,*h,*p;

a datos=10;b.data=20;c.data=30;h=&a;

b. &b;b .next=&c;c.next='\0';

p=h;

mientras(p){printf(“&d”,p->datos );15 ;}} Abril de 2009 Referencia NCRE Nivel 2 C responder preguntas de opción múltiple: 1~10: DACDC ABABC11~20: CBDDA CDBCB21~30: CDABA BACBC31~40: ADBCC CBDAC Complete los espacios en blanco: (1) 19 (2 ) Caja blanca ( 3) Estructura secuencial (4) Sistema de gestión de base de datos (DBMS) (5) Diamante (6) 4 (7) "x/y=%d" (8) Energía (9) s=0 (10) 1AbCeDf2dF (11) 7777654321 (12) max(int ​​​​a, int b) (13) NULL (14) 1001, ChangRong, 1098.0 (15) p=p—>siguiente