Abril de 2006 5438+0 Examen de autoestudio nacional de educación superior Fundamentos de informática y programación Preguntas y respuestas
Preguntas y respuestas del examen de programación y conceptos básicos de informática
1. Preguntas de opción única (esta pregunta principal tiene 20 preguntas en total, cada 1 punto por cada pregunta, 20 puntos en total) Solo una de las cuatro opciones enumeradas en cada pregunta cumple con los requisitos de la pregunta. Por favor coloque la letra antes de la opción correcta entre paréntesis después de la pregunta.
1. El dispositivo de E/S se refiere a la computadora ().
A Dispositivo de almacenamiento
B. Dispositivo de entrada y salida
C. >2. La memoria con función de solo lectura se refiere a ()
1. ROM
b. >CD-ROM
3. La unidad básica del programa fuente en lenguaje C es ()
Proceso
b. >C. Subrutina
D. Declaración
4. Cuando la cadena constante "CHINA" se almacena en la memoria, el número de bytes es ().
Respuesta, 5
b, 6
c, 7
d, 8
5.set int p, q; las siguientes declaraciones incorrectas son ()
a, p*=3
b, p/=q
c, p+= 3
d, p & amp& amp=q
6. Si a=1, b=2, c=3, d=4, entonces la expresión A > b? Respuesta: Aproximadamente 1
b, 2
c, 3
d, 4
7. El resultado de ejecución del siguiente programa. el segmento es ()
Main()
{Int a=11, b = 10;
a-= b+ 1;
printf ("%dn ", a);
}
a, 1
b, 0
c, 2< /p >
d, 5
8. El resultado de salida después de ejecutar el siguiente segmento del programa es ()
int I =-1;
If (I & lt= 0)printf(" * * * * n ");
else printf(" % % % % n "); C p>
b, %%%
C, %%%C
d, ****
9. definición de variable utilizada Correcto, el resultado de salida del siguiente segmento del programa es ().
a = 10; b = 50c = 30
Si (a & gtb)a=b
b = c=a
printf("a=%d,b=%d,c=%dn ",a,b,c);
a, a=10, b=50, c=10
b, a=10, b=30, c=10
c, a=50, b=30, c=10
d, a= 50, b=3, c=50
10. El número de bucles en el siguiente bucle es ()
int k = 2;
while( k=0 )printf("%d ",k);
k-;printf("n")
1 veces ilimitadas
b, 0 veces
c, 1 vez
d, 2 veces
11. ).
a, int I = 100
mientras(1)
{ I = i1
Si (i & gt100) rompe la posición;
}
b, for(;;)
c, int k = 1000;
do (+ +k;)mientras(k>=10000);
d, int s = 36
mientras(s);-s;
12 .Si existen las siguientes definiciones y declaraciones y 0
int a[]={0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, *p, I;
p=a
a, *(a+i)
B, A [C]
c, p+i
d , * & amp; a[i])
13. Entre las siguientes afirmaciones, a cuál se le puede asignar correctamente la cadena "Boy" es ()
a.char s[3]={'B ', 'o', 'y' };
b. c. char s[3]= { " Niño " };
d, char s[3]
s[0]= ' B '; ' o ';s[2]='y '
14. La salida del siguiente segmento de programa es ()
char arr[]= "ABCD";
char * ptr
for(ptr = arr;ptrprintf("%sn ",ptr);
a, ABCD
B,
A
C,
D
d,
Recogida y entrega empresarial acelerada (utilizado por los Estados Unidos Correos de los Estados Unidos) sistema acelerado de recolección y entrega
p>B
C
BCD
C
B
Disco compacto
D
A
D
15. ¿Cuál de las siguientes afirmaciones es incorrecta? ()
A. Archivos de programa fuente Compuesto por una o más funciones
Un programa C consta de uno o más archivos de programa fuente
Funciones de tratamiento de programas C. como unidad de compilación independiente. >
d. Un programa C debe tener una función main()
La variable automática del lenguaje C es
a. almacenados en el área de almacenamiento dinámico.
b. Almacenado en el área de almacenamiento estático.
c, almacenado en el registro de la CPU del ordenador.
d.Almacenado en memoria externa.
17. El resultado de ejecución del siguiente programa es ()
void swapl(x, y)
int x, y;
{ int t;t = x;x = y;y = t;}
intercambio vacío2(p1, p2)
int *p1, *p2
{ * p 1 = * p2; * p2 = * p 1 }
principal()
{int a=3, b=5, * x 1 = & amp ;a,* x2 = &b;
swap1(a,b);
printf("a=%d,b=%dn ",a,b);
intercambiar2(x1, x2);
printf("a=%d, b=%dn ", a, b);}
A,
a=5, b=3
B,
a=3, b=5
C,
a=5,b=3
d、
a=3,b=5
a=5,b=3
a=3, b=5
a=3, b=3
a=5, b=5
18. siguientes definiciones, () no está definido por una matriz de punteros.
a, int * p[5];
b, flotante * q[4]
c, int(* r)[6];
d, char * w[7];
19. El resultado de ejecución del siguiente programa es ()
#Definition sl(x)(3.14 *( x)*(x))
#includes
main()
{float x, s;
s = s 1 (10);
printf("%.2fn ", s);}
a, 3.14
b, 31.40
c, 314.00
d, 6.28
20. El nombre de la función que prueba si el archivo está finalizado es ()
1.
b, EOF
c, eof
d, FEOF
2. Preguntas de opción múltiple (esta pregunta principal tiene 10 preguntas, cada pregunta vale 2 puntos, total 20 puntos) De dos a cinco de las cinco opciones enumeradas en cada pregunta cumplen con los requisitos de la pregunta. Por favor escriba la letra de la opción correcta entre paréntesis después de la pregunta. No hay puntos por selecciones múltiples, pocas selecciones y selecciones incorrectas.
21. ¿Cuáles de los siguientes dispositivos son dispositivos de almacenamiento externos ()
1. Ram
Disco compacto
C.
d.Disquete
Cinta
22. Archivo X*. Lo que c puede representar es ()
a, AXCD. C
b, AXCD. D
ABX. C
d, RX. C
e, XX1234. C
23. Si hay int x; float y; la siguiente expresión indica que el resultado es un número entero ().
a, (int)(x+y)
b, (int)x+y
c, a+x
d, x+(int)y
e, x*y
24 Si las variables utilizadas están definidas correctamente, la sintaxis en la siguiente instrucción del bucle for es correcta ().
a, for(x = 0; I = 0; I<=10;i++)
x++;
b, for(x=0 ,i =0,i<=10,i++)
x++;
c, para(x=0,I=0;i<=10;i++)
x++;
d, I = 0; x = 0;
for(i<=10;i++)
x++
e , I = 0; x = 0;
for(;i<=10;i++)
x++
25. Si hay definiciones y asignaciones: ( )
int y, *p, * p 1;
p = & ampy; que puede generar la dirección de la variable y es
a, printf("%un ", y);
b, printf("%un ", p); >
c, printf ("%un", * p);
d, printf ("%un", & ampy); un ", * p 1);
26. Si hay definición y asignación: ()
int a[10]={0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, * p;
p = a;
La expresión que hace referencia al elemento con valor 5 es
a, a[5]
b, a[4]
c, *(a+5)
d, p[5]
e, *(p+4)
27 Si hay definición y asignación: ()
int a[6][6 ], * p ;
p = * a;
Entonces la expresión de dirección en la siguiente ecuación es
a, a[1]
b 、a[1]+1
c、a[3][3]
d 、& amp[1][3]
e, p [0][0]
28. Si hay definición y asignación: ()
int x[5][6], * p;
p = * x;
La expresión que no puede hacer referencia correctamente al valor del elemento de matriz x[0][2] es
a, x[0][2]
b, p[0][2]
c, x[0]+2
d, *x+2
e, *(x+2)
29. Los siguientes son correctos ()
a. Estructura 1_num
{ long numstruct 1 _ num * next } num1; , * p 1;
p 1 = & num 1;
b, estructura animal
{char nombre [30] , peso flotante, } conejo;
c, estructura estrella
{int bh, char nombre [20],} mi_estrella
mi_estrella = "luna<. /p>
d、struct { char x[20]; char y[30]; int u;}x1, y;
e, comida estructurada
{int código; nombre del char[30]; estructura comida*p;};
estructura comida*cola;
30. siguientes elementos, el que puede hacer que el valor de y sea 0 es ().
a, y = x∧x;
b, y=x∣u;
c, y = x & gt& gt4;
y = x & ampu;
e, y = ~ u;
Parte 2 preguntas sin elección
Tres. Complete los espacios en blanco (esta gran pregunta tiene 10 subpreguntas, cada subpregunta vale 1 punto, 10 puntos en total)
31. Escriba el comando de operación de directorio C: > ____________.
32.C La unidad básica de un programa es _ _ _ _ _ _ _ _ _.
33.33.La función de la función putchar() es_ _ _ _ _ _ _ _ _ _.
34. Cuando s=7, X = _ _ _ _ _ _ _ _Después de ejecutar el siguiente segmento del programa.
Si ((s & gt0)& & amp(s & lt=10))
Si ((s & gt= 3)& & amp(s & lt= 6 ))x = 2;
si no((s & gt;1)| |(s & gt;8))x = 3;
si no x = 1;
En caso contrario x = 0;
35.
for(i=0,x=0;i<=9&&x!=876;i++)scanf("%d",&x);
36. La salida de lo siguiente El programa es _ _ _ _ _ _ _ _.
Principal()
{int a[12]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}, *p[4], I;
for(I = 0;i<4;i++)p[I]= & a[I * 3];
printf ("%dn ", p[3][2]);}
37. Las variables se pueden definir dentro o fuera de la función. Las variables definidas dentro de la función se llaman _ _ _ _ _ _ _ _ _ _ _.
38. Si existe una definición de int x = 3, * p; entonces suponga que la declaración de asignación de que P apunta a la variable X es _ _ _ _ _ _ _ _ _.
39. Todos los miembros de una comunidad comparten el mismo espacio de almacenamiento, y el tipo de datos de cada miembro puede ser _ _ _ _ _ _ _ _ _ _.
40. Configure el archivo * fp; luego la declaración C para cerrar el archivo contactado por fp es _ _ _ _ _ _ _ _ _ _.
4. Preguntas de respuesta corta (esta gran pregunta tiene 4 preguntas pequeñas, la 41 y la 42 valen 2 puntos cada una, y la 43 y la 44 valen 3 puntos cada una, un total de 10 puntos).
41. Describa brevemente todo el proceso de completar un programa C en el entorno de desarrollo integrado Turbo C 2.0.
42. Escribe la fórmula matemática correspondiente al siguiente segmento del programa.
si (x!=0)
si (x & gt; 0)y = 1;
si no y =-1;
De lo contrario y = 0;
43. Defina char * string = "Soy un niño";
Y defina char * string;
string = "Soy un niño";
¿Son equivalentes? ¿Por qué?
44. Describa brevemente los pasos operativos de C para archivos de código ASCII o archivos binarios.
5. Preguntas de análisis de lectura (esta gran pregunta consta de 10 preguntas, cada pregunta vale 2 puntos, un total de 20 puntos)
45. los resultados de la operación.
Principal()
{int a=100, b =-1
printf("a=%d,%xn ",a,a; );
printf("b=%x,%un ",b,b);}
46. (a, b o c por aprobar; aquellos que obtuvieron D reprobaron):
main()
{ char mark = " " A ";
cambiar (marca)
{Caso ' ' A ' ':
Caso "B":
Caso "C": printf(">= 60n" );
Caso "D": printf(<60n");
Valor predeterminado: printf(" errrn");}}
Después del Se ejecuta el programa, ¿Qué errores ocurren? Por favor analízame y corrígeme.
Consulte los procedimientos para las preguntas 47, 48 y 49 a continuación y responda las preguntas relevantes.
Principal()
{int u, v, a, b, t, r
u = 24v = 16
si(u & gt; v){ t = u; u = v; v = t;}
a = u; b = v;
mientras((r= %ba)! =0)
{ b = a; a = r;}
printf("a=%dn ", a);
}
47. ¿Cuál es el resultado del programa?
48. ¿Qué función realiza este programa?
49. Si reemplaza el bucle while con un bucle do- while, escriba el segmento de programa correspondiente.
Para las preguntas 50, 51 y 52, consulte los siguientes procedimientos para responder preguntas relacionadas.
Entero largo (entero)
{ if(n>0) devuelve n * fac(n-1);
si no, devuelve 1L
}
Principal( )
{int i, m;
Longitud s = 0
scanf(" %d ",&m);
for(I = 1;i<=m;i++)
s = s+fac(I);;
printf("%1dn ", s);
}
50. ¿Cuál es la función de este programa? ¿Qué es la función fac?
51. ¿Es apropiado definir el valor de retorno de la función fac como int?
52. Si (1!)!+(2!)!+(3!)!+…+(m!)!, ¿cómo modificar el programa?
Para las preguntas 53 y 54, consulte los siguientes procedimientos y responda las preguntas relacionadas.
Estructurar alimento
{ int cantidad
estructurar alimento * siguiente
} * cabeza = NULL
void create(int each_amt)
{ estructura de alimento * p;
p=(estructura de alimento*)malloc(sizeof(estructura de alimento)); Monto = cabeza _ amt
p→next = cabeza
cabeza = p;
}
53. struct food *)malloc(size of struct food);
Y p → cantidad = each_amount; pero ¿cuál es la función?
54. ¿Cuál es la función del enunciado p→next = head;
Pregunta de programación de verbos intransitivos (esta gran pregunta consta de 2 preguntas pequeñas, la pregunta 55 tiene 8 puntos, la pregunta 56 tiene 12 puntos, un total de 20 puntos).
55. Para cualquier matriz de enteros bidimensional con 3 filas y 3 columnas, realice mediante programación:
(1) Especifique el valor inicial para el elemento de la matriz desde el teclado.
(2) Encuentre el elemento con el valor de elemento más grande en cada columna y genere su valor, subíndice de fila y subíndice de columna.
(Supongamos que todos los elementos de la matriz tienen valores diferentes)
56. Escriba una función de copia de cadena para copiar la cadena señalada por el puntero str2 al carácter señalado por la cadena del puntero str1. Llame a la función de copia de cadena en la función principal para generar la cadena a la que apunta str1.
(La función de biblioteca estándar strcpy en lenguaje C no está permitida)
Respuestas de referencia al examen de programación y conceptos básicos de informática
Preguntas de opción múltiple ( 20 en total para esta pregunta principal) Preguntas pequeñas, 1 punto cada una, 20 puntos en total)
1.B
2.A
3.B
4.B
5.D
6.C
7.B
8.D
9.A
10.B
11.C
12.C
13.B
14.D
15.C
16.A
17.D
18.C
19.C
20.A
2. Preguntas de opción múltiple (esta pregunta principal tiene 10 subpreguntas, cada subpregunta vale 2 puntos). , un total de 20 puntos)
21.BCDE
22. Entrada automática de datos
23. Sistema automático de distribución de llamadas
24. . Iglesia de Inglaterra
25. Licenciatura en Divinidad
26. Sistema automático de distribución de llamadas.
27. Candidato a médico
28. Disco
29. Entrada automática de datos
30. Sistema automático de distribución de llamadas
3. Complete los espacios en blanco (esta gran pregunta tiene 10 subpreguntas, cada subpregunta vale 1 punto, un total de 10 puntos)
Contenido A: TC*. C
Función
33. Enviar un carácter al terminal.
34.3
35.10 veces
36.12
37.Variables locales
38.p = & ampx
39. Diferente
40.fclose(fp)
4 Preguntas de respuesta corta (esta gran pregunta tiene 4 preguntas pequeñas, las preguntas 41 y 42 valen 2). puntos cada una; las preguntas 43 y 44 valen 3 puntos cada una, por un total de 10 puntos)
41. [Respuesta de referencia]
(1) Utilice la función de edición para generar un programa fuente en C. .
(2) Utilice la función de compilación para generar el programa de destino correspondiente.
(3) Utilice la función de conexión para generar un programa ejecutable.
(4) Ejecute el programa ejecutable.
42. [Respuesta de referencia]
y =-1(x & lt; 0)
y=0(x=0)
y = 1(x & gt; 0)
43 [Respuesta de referencia]
(1) es equivalente. (1)
(2) Porque la cadena es una variable de puntero de carácter. (1)
(3) Ambos métodos de asignación solo asignan la primera dirección de la cadena a la cadena, en lugar de asignar la cadena completa a la cadena. (1)
44 [Respuesta de referencia]
(1) Abra el archivo en el formato especificado. (1)
(2) Leer/escribir archivos abiertos. (1)
(3) Cierre el archivo abierto. (1)
5. Preguntas de análisis de lectura (esta gran pregunta consta de 10 preguntas, cada pregunta vale 2 puntos, un total de 20 puntos)
45.
A = 100, 64 (1)
B=ffff, 65535(1)
46. (1) El programa tiene un error lógico. Cuando están marcadas con "a" (o "b" o "c"), las tres declaraciones printf deben ejecutarse una vez.
(1)
(2) Para obtener el resultado correcto, se deben realizar las siguientes modificaciones: (1)
case ' ' C ':printf(" & gt; = 60n") ;Break;
Caso "D": printf(<60n");Break;
47. =8( 2 puntos)
48.[Respuesta de referencia]
Este programa se utiliza para encontrar el máximo común divisor de u y v (2 puntos)
49.[ Respuesta de referencia]
La declaración while se puede cambiar a: (2 puntos)
r = b % a;
Hacer
{
si(f = = 0)romper;
b = a; a = r;
}mientras((r=b %a)!=0 );
50.[Respuesta de referencia]
51.[Respuesta de referencia]
Se producirá un desbordamiento de enteros
Incluso si se define como tipo largo, el valor de entrada de m no puede ser demasiado grande, de lo contrario se desbordará (2 puntos)
52. >Simplemente configure s=s. +fac(i) se cambia a:
S=s+fac(fac(i)) (2 puntos)
53. ]
(1) La oración anterior se usa para crear un nuevo nodo, de modo que el puntero p apunte al nuevo nodo (1)
(2) La última oración es. se utiliza para aceptar la variable independiente del programa que llama y asignar su valor al nuevo nodo. El número de miembros del nodo (1)
54. (1) La oración anterior se usa para conectar el nuevo nodo con el nodo señalado por la cabeza original (1)
(2) La última oración se usa para apuntar la cabeza al nodo P recién agregado. ..(1)
Pregunta de programación de verbos intransitivos (esta gran pregunta consta de 2 preguntas pequeñas, la pregunta 55 vale 8 puntos, la pregunta 56 vale 12 puntos, un total de 20 puntos)
55. [Respuesta de referencia]
El procedimiento de referencia es el siguiente:
# Incluye
Administrador no válido (inválido)
{
int i, j, im, jm, x[3][3], max
for(I = 0; j & lt3;i++)
for(j = 0; j & lt3;j++)
scanf("%d ",& ampx [I][j]);
for(j = 0; j & lt3;j++)
{
max = x[0][j ];im = 0;JM = j;
para (I = 1;i<3;i++)
if (máximo {
max = x[I][j];
im = I; p>
JM = j;
}
printf("i= %d j=%d max=%dn ", I, j, max
}
}
56. [Respuesta de referencia]
El programa de referencia es el siguiente:
#Incluye
void strcpy(char *, char *);
Administrador no válido (no válido)
{
char *str1, *str2 = " abcdef
strcpy(cadena1, cadena 2);
printf("%s ", cadena 1);
}
void strcpy(char *s1, char *s2)
{
int I = 0;
mientras((s1[i]=s2[i] )! ='''')
i++;
}