¡Urgente! ! Respuestas a las preguntas reales del examen escrito de idioma C nacional informático de nivel 2 a lo largo de los años.
Septiembre de 2010 Preguntas del examen escrito de lenguaje C nacional de informática nivel 2: versión de texto
1. Preguntas de opción múltiple (2 puntos por cada pregunta, ***70 puntos)
Entre las cuatro opciones A), B), C) y D) de las siguientes preguntas, sólo una opción es correcta. Complete las opciones correctas en las posiciones correspondientes en la hoja de respuestas. No se otorgarán puntos por respuestas incorrectas en el examen.
(1) ¿Cuál de las siguientes afirmaciones es correcta?
A) La estructura de almacenamiento vinculada de una lista lineal requiere el mismo espacio de almacenamiento que la estructura de almacenamiento secuencial
B) La estructura de almacenamiento vinculada de una tabla lineal generalmente requiere más espacio de almacenamiento que la estructura de almacenamiento secuencial
C) La estructura de almacenamiento vinculada de una tabla lineal generalmente requiere menos espacio de almacenamiento que la estructura de almacenamiento secuencial <. /p>
D) Las tres afirmaciones anteriores son incorrectas
(2) ¿Cuál de las siguientes afirmaciones es correcta?
A) En la pila, los elementos de la pila siguen la parte inferior de la pila El puntero cambia dinámicamente con el cambio del puntero en la parte superior de la pila
B) En la pila, el puntero en la parte superior de la pila no cambia y los elementos en la pila cambia dinámicamente con el cambio del puntero en la parte inferior de la pila
C) En la pila, el puntero en la parte inferior de la pila permanece sin cambios y los elementos en la pila cambian dinámicamente con el cambio del puntero en la parte superior de la pila
D) Las tres afirmaciones anteriores son incorrectas
(3) Pruebas de software El propósito es
A) Evaluar confiabilidad del software
B) Encontrar y corregir errores en el programa
C) Corregir errores en el programa
D) Descubrir errores en el programa
(4) Entre las siguientes descripciones, las siguientes no son manifestaciones de crisis de software
A) El proceso de software no está estandarizado
B) La productividad del desarrollo de software es baja p>
C) La calidad del software es difícil de controlar
D) Los costos del software continúan aumentando
(5) El ciclo de vida del software se refiere a
A ) El proceso de los productos de software desde la propuesta, implementación, uso y mantenimiento hasta la discontinuación y el desmantelamiento
B) El proceso de software desde el análisis de requisitos, diseño, implementación hasta la finalización de las pruebas
C) Proceso de desarrollo de software
D) Proceso de operación y mantenimiento de software
(6) En el método orientado a objetos, la herencia se refiere a
A) Un conjunto de objetos Propiedades similares
B) Un objeto tiene las propiedades de otro objeto
C) Las mismas propiedades entre objetos
D) El mecanismo para compartir atributos y operaciones entre clases
(7) Los principios para dividir bases de datos jerárquicas, de red y relacionales son
A) Longitud del registro
B) El tamaño del archivo
C) La complejidad de la conexión
D) La forma en que se conectan los datos
(8) Un miembro del personal puede usar varias computadoras y se puede usar una computadora por varias personas, la relación entre el trabajador físico y la computadora física es
A) uno a uno
B) uno a uno A muchos
C) Muchos a muchos
D) Muchos a uno
(9) El patrón que refleja los requisitos de datos de los usuarios en el diseño de bases de datos es
A) Modelo interno
B) Modelo conceptual
C) Modelo externo
D) Modelo de diseño
(10 ) Existen tres relaciones R, S y T de la siguiente manera:
Entonces la operación para obtener la relación T a partir de las relaciones R y S es
A) Conexión natural
B) Cruz
C) Proyección
D) Unión
(11) ¿Cuál de las siguientes afirmaciones sobre programación estructurada es correcta?
A) Un programa estructurado debe estar compuesto por estructuras de secuencia, rama y bucle al mismo tiempo
B) Es muy conveniente utilizar declaraciones goto en programas estructurados
C) En Lenguaje C, la modularización de programas se logra mediante el uso de funciones
D) Los programas compuestos por tres estructuras básicas solo pueden resolver problemas a pequeña escala
(12) Los siguientes pasos para una programación simple La afirmación correcta sobre secuencia y orden es
A) Después de determinar el algoritmo, organizar y escribir el documento, y finalmente realizar la codificación y la depuración de la computadora
B) Primero determine la estructura de datos, y luego determinar el algoritmo, luego codificar y depurar en la computadora, y finalmente organizar los documentos
C) Codificar y depurar primero en la computadora, determinar el algoritmo y la estructura de datos durante el proceso de codificación, y finalmente organizar los documentos
<p> D) Primero escriba el documento, luego realice la codificación y la depuración informática en función del documento y finalmente determine el algoritmo y la estructura de datos
(13) ¿Cuál de las siguientes afirmaciones es incorrecta?
A) Todos los cálculos de un programa C se realizan en formato binario durante el proceso de ejecución
B) Todos los cálculos de un programa C se realizan en formato decimal durante el proceso de ejecución
C) Todos los programas C deben compilarse. Solo se puede ejecutar después de que el enlace sea correcto
D) Las variables enteras en los programas C solo pueden almacenar números enteros y las variables reales solo pueden almacenar números de punto flotante
(14) tiene la siguiente definición: int a; long b; double x, y entonces la expresión correcta en las siguientes opciones es
A) a% (int) (x-y)
B) a=x!=y
C) (a*y)%b
D) y=x+y=x
(15) ¿Cuál de las siguientes opciones puede representar constantes legales? Sí
A) Entero: 1, 200
B) Número real: 1.5E2.0 p>
C) Barra diagonal: '\'
D) Cadena: "\007"
(16) El valor de la expresión a+=a-=a= 9 es
A) 9
B)_9
C) 18
D) 0
( 17) Si la variable ha sido correctamente definida, en if (W) printf (“% d\n,k");, las siguientes irremplazables para W son
A) a<>b+c
B) ch=getchar()
C) a==b+c
D) a++
(18) Allí es el siguiente programa
#include
main()
{int a=1, b=0
<; p> si (!a) b++;más si (a= =0) si (a) b+=2
más b+=3; > printf ("%d\n", b);
}
El resultado de salida después de ejecutar el programa es
A) 0
B) 1
C) 2
D) 3
(19) Si hay una declaración de definición int a, b double x; , entonces cuál de las siguientes opciones no tiene error
A) switch (x%2) B )switch((int)x/2.0
{case 0: a++; break; {caso 0: a++; romper;
caso 1: b++; caso 1: b++;
predeterminado: a++; b++; p>
} }
C) cambiar ((int)x%2) D )cambiar((int)(x)%2)
{caso 0: a++ ; romper; {caso 0.0: a++; romper;
caso 1: b++; caso 1.0: b++; ;
}
}
(20) Existe el siguiente programa
#include
main()
{int a =1 , b=2;
mientras (a<6){b+=a; a+=2;b%二10;}
printf ("%d,%d \n ”, a, b);
}
El resultado de salida después de ejecutar el programa es
A) 5,11
B) 7,1
C) 7,11
D) 6,1
(21) Existe el siguiente programa
#include< stdio. h>
main()
{int y=10;
while (y--); =%d\n", Y);
}
El resultado de salida después de ejecutar el programa es
A) y=0
B) y= -1
C) y=1
D) while constituye un bucle infinito
(22) Existe el siguiente programa
#include<stdio.h>
main()
{char s〔‖=”rstuv”
printf( ”%cn ", *s+2);
}
El resultado de salida después de ejecutar el programa es
A) tuv
B) carácter t valor del código ASCII
C) t
D) Error
(23) Existe el siguiente programa
#include<stdio.h>
#include<string.h>
main()
{char x〔〕=”STRING”;
x〔 0''=0; x〔1〕='\0'; ));
}
El resultado de salida después de ejecutar el programa. es
A) 6 1
B) 7 0
C) 6 3
D) 7 1
(24) Existe el siguiente programa
#include<stdio. h>
Int f(int x);
main()
{int n=1, m;
m= f(f(f(n)));printf("%d\n",m);
}
int f(int x)
{return x*2;}
El resultado de salida después de ejecutar el programa es
A) 1
B) 2
C ) 4
D) 8
(25) ¿Cuál de los siguientes segmentos del programa es completamente correcto?
A) int *p; ",&p );
B) int *p; scanf ("%d",p);
C) int k, *p=&k; scanf ("%d ",p );
D) int k, *p:; *p= &k; scanf (“%d”,p);
(26) Hay una definición declaración: int *p [4];Las siguientes opciones son equivalentes a esta declaración
Sí
A) int p[4];
B) int **p;
C) int * (p「4」); p> p>
D) int (*p)「4」;
(27) Entre las siguientes afirmaciones que definen matrices, la correcta es
A) int N =10; B) #definir N 10
int x[N]; int x[N];
C) int x[0..10]; 〔];
(28) Para definir una matriz de números enteros con 5 elementos, la siguiente declaración de definición incorrecta es
A) int a[5]={0};
p>B) int b[]={0,0,0,0,0};
C) int c[2+3];
D ) int i=5,d[i];
(29) Existe el siguiente programa
#include<stdio. h>
void f (int *p);
main ()
{int a〔5〕={1, 2, 3, 4, 5}, *r=a;
f (r); printf ("%d\n"; *r); (int *p)
{p=p+3; printf ("%d,", *p);}
El resultado de salida después de ejecutar el programa es
A) 1,4
B) 4,4
C) 3,1
D) 4,1
(30) Existe el siguiente programa (la función fun solo opera en elementos con subíndices pares)
# include
void fun (int*a; int n)
{int i, j, k, t
for (i=0;i; {k=i;' para (j=i; j t=a〔i]; a〔i]=a〔k]; a〔k]=t; / p> } principal() {int aa「10」={1, 2, 3, 4, 5, 6, 7}, i; / p> fun (aa, 7); for (i=0, i<7; i++) printf ("%d,",aa〔i〕)); printf ("\n"); } El resultado de salida después de ejecutar el programa es A) 7,2,5 ,4, 3,6,1 B) 1,6,3,4,5,2,7 C) 7,6,5,4,3,2 ,1 D) 1,7,3,5,6;2,1 (31) Entre las siguientes opciones, puede satisfacer "Si la cadena s1 es igual a la cadena s2, luego ejecute ST "Los requisitos son A) if (strcmp (s2, s1) == 0) ST; B) if (sl == s2) ST; C) si (sl-s2 == 0) ST; D) si (sl-s2 == 0) ST; (32) Lo siguiente no puede ser La forma correcta de copiar la cadena señalada por s al espacio de almacenamiento señalado por t es A) while (*t=*s) {t++;s++;} B) para ( i=0;t[i]=s[i 〕;i++); C) do{*t++=*s++;}mientras (*s); D) for (i=0,j=0;t[ i++]=s[j++];); (33) Existe el siguiente programa (la función strcat se usa para conectar dos cadenas) #include #include main() {char a〔20〕="ABCD\OEFG\0", b〔]="IJK" strcat; (a, b); printf ("%s\n", a); } El resultado de salida después de ejecutar el programa es A) ABCDE \OFG\OIJK B) ABCDIJK C) IJK D) EFGIJK (34) Existe el siguiente programa , en el programa La función de biblioteca islower (ch) se usa para determinar si las letras en ch son minúsculas #include #include void fun(char*p) {int i=0 while (p[i〕) {if(p[i]==' '&& islower(p「i-1」))p[i-1]=p[i-1]-'a'+'A'; i++; } } main() {char s1〔100〕=”ab cd EFG!”; fun (s1); printf ("%s\n", s1); } El resultado de salida después de ejecutar el programa es p> A) ab cd EFG! B) Ab Cd EFg! C) aB cD EFG! D) ab cd EFg! (35) Existe el siguiente programa #include<stdio. h> void fun(int x) {if(x/2>1)fun(x/2); printf(”%d ", p> El resultado de salida después de ejecutar el programa es A) 1 3 7 B) 7 3 1 C) 7 3 D) 3 7 (36) Existen los siguientes programas #include<stdio. h> int fun() {static int x=1; x+=1; /p> principal() {int i; para (i=1; i<=5; i++) s+=diversión(); printf ("%d\n", s); } El resultado de salida después de ejecutar el programa es A) 11 B) 21 C) 6 D) 120 (37) Existen los siguientes procedimientos p> #include<stdio. h> #include Principal() {int *a, *b, *c; a=b=c=(int*)malloc(sizeof(int)); *a=1; *b=2, *c=3; a=b printf ("%d, %d, %d\n" , *a, *b, *c); } El resultado de salida después de ejecutar el programa es A) 3,3,3 B) 2,2,3 C) 1,2,3 D) 1,1,3 (38) Existe el siguiente programa #include<stdio. h> main() {int s, t, A=10; doble B=6 s=sizeof(A); sizeof(B); printf("%d,%d\n",s,t); } Compile y ejecute en la plataforma VC6 , el resultado de salida después de ejecutar el programa es A) 2,4 B) 4,4 C) 4,8 D) 10,6 (39) Si existen los siguientes afirmaciones Typedef struct S {int g; char h;}T; ¿Cuál de las siguientes afirmaciones es correcta? A) Se puede usar S para definir variables de estructura B) Puede usar T para definir variables de estructura C) S es una variable de tipo estructura D ) T es una variable de tipo struct S (40) tiene el siguiente programa #include<stdio. h> main() {corto c=124; c=c_______ printf(“%d\n ”, C); } Si desea que el resultado de ejecución del programa sea 248, el subrayado debe completarse con A)> >2 B) |248 C) & 0248 D) < 2. Complete los espacios en blanco (2 puntos por cada espacio en blanco, ***30 puntos) Por favor escriba la respuesta correcta para cada espacio en blanco Las respuestas en las líneas numeradas del 1 al 15 en la hoja de respuestas no se calificarán en la prueba. (1) El estado inicial de una pila es vacío. Primero, los elementos 5, 4, 3, 2 y 1 se empujan a la pila en secuencia, luego se sacan de la pila una vez y luego los elementos A, B, C y D se empujan a la pila en secuencia, y luego todos los elementos se sacan de la pila. Luego, todos los elementos se sacan de la pila (incluido El orden de los elementos que se sacan de la pila en el medio es 1 (2) En una lista lineal de longitud n, se encuentra el ítem máximo requiere al menos 2 comparaciones. (3) Un árbol binario tiene 10 nodos con grado 1 y 7 nodos con grado 2, entonces el árbol binario tiene 3 nodos. (4) Un programa que consta únicamente de estructuras de secuencia, selección (rama) y repetición (bucle) es un programa de 4. (5) Las cuatro etapas del diseño de una base de datos son: análisis de requisitos, diseño conceptual y diseño lógico5. (6) El resultado de salida del siguiente programa es 6. #include main() {int a=200, b=010 printf("%d%d\n", a, b ); } (7) Existen los siguientes programas #include<stdio. h> main() {int x,Y; scanf("%2d%ld", &x, &y); d\n", x+y); } Cuando el programa se esté ejecutando, ingrese: 1234567. El resultado de ejecución del programa es 7. (8) En lenguaje C, cuando el valor de la expresión es 0, significa el valor lógico "falso", y cuando el valor de la expresión es 8, significa el valor lógico "verdadero". (9) Existen los siguientes programas #include<stdio. h> principal() {int i,n[]={0,0,0,0,0}; for (i= 1;i<=4;i++) {n[i]=n[i-1]*3+1; printf("%d ",n[i]);} } El resultado de salida después de ejecutar el programa es 9. (10) La función de la siguiente función divertida es encontrar el valor mínimo en una matriz unidimensional con N elementos y devolverlo como un valor de función. Por favor complete los espacios en blanco. (Supongamos que N ha sido definido) int fun (int x〔N〕) {int i, k=0 for (i=0; ; i si (x〔i〕 devuelve x〔k]; } (11 ) Existe el siguiente programa #include<stdio.h> int*f(int *p, int*q main()); {int m=1, n=2, *r=&m; r=f (r, &n); printf ("%d\n", *r) ; p> } int*f(int *p, int*q) {retorno(*p>*q)? p:q;} El resultado de salida después de ejecutar el programa es 11 (12) La función de la siguiente función divertida es seleccionar el valor máximo como valor de la función y devolver desde la matriz bidimensional de números enteros con N filas y M columnas. Complete los espacios en blanco. (Supongamos que M,. N ha sido definido) int fun (int a〔N〕[M)) {int i, j, row=0, col=0; para(i=0;i para(j=0;j si(a〔i〕〔j〕> a 〔row〕〔col〕){row=i;col=j;} return (12): } (13) Hay el siguiente programa #include<stdio.h> main() {int n[2], i, j para (i=0; i<2; i++) para (j =0; j<2; j++) n〔j〕=n『i』+1; printf ("%d\n", n[1]); } El resultado de salida después de ejecutar el programa es 13 (14) La función del siguiente programa es usar variables de puntero para encontrar la posición del valor máximo en el elemento de la matriz y genere el valor máximo. Complete el elemento de salida que representa el valor máximo en la declaración #include<stdio.h> main() for (p=a; p-a<10; p++) scanf ("%d", for (p=a, s=a; p-a<10; p++) if (*p>*s) S=P printf ("max=%d\n", 14); } (15) El siguiente programa abre el nuevo archivo f.txt y llama a la función de salida de caracteres para escribir los caracteres en una matriz . #include<stdio. main() {15*fp char a〔5〕={'1', '2' , '3', '4', '5'}, i; fp=fopen ("f.txt", "w"); ; i<5; i++) fputc ( a[i], fp); fclose(fp);