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
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 #include
=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 #include
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 #include
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
{ 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 c=a;a=b;b=c; }main(){int x=3,y-5,*P=&x,*q=&y; p> 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 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 (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 (9) El resultado de salida después de ejecutar el siguiente programa es 9#include 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 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 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 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 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