La Red de Conocimientos Pedagógicos - Conocimientos universitarios - Preguntas y respuestas del examen nacional de informática nivel 2 C en marzo de 2011

Preguntas y respuestas del examen nacional de informática nivel 2 C en marzo de 2011

Preguntas del examen de informática de nivel C de marzo de 2011

1. Preguntas de opción múltiple

(1) ¿Cuál de las siguientes afirmaciones sobre las pilas es correcta?

A) El elemento en la parte superior de la pila se puede eliminar primero

B) El elemento en la parte superior de la pila se puede eliminar en último lugar

C) El elemento en la parte superior la parte inferior de la pila nunca se puede eliminar

D) Las tres afirmaciones anteriores son incorrectas

(2) ¿Cuál de las siguientes afirmaciones es correcta?

A) A una estructura de datos con más de un nodo raíz no es necesariamente una estructura no lineal

B) Una estructura de datos con un solo nodo raíz no es necesariamente una estructura lineal

C) Una estructura circular la lista enlazada es una estructura no lineal

D) Una lista doblemente enlazada es una estructura no lineal

(3) Cierto árbol binario*** tiene 7 nodos, de los cuales solo hay 1 nodo hoja, entonces la profundidad del árbol binario es (asumiendo que el nodo raíz está en el primer nivel)

A )3 B)4 C)6 D)7

(4) En el desarrollo de software, el documento principal producido durante la fase de análisis de requisitos es

A) Plan de pruebas de integración de software B) Especificación de diseño detallado del software

C) Manual de usuario D ) Especificación de requisitos de software

(5) La estructura básica requerida por los programas estructurados no incluye

A) Estructura de secuencia B) Salto GOTO

C) Selección ( estructura de rama) D) estructura de repetición (bucle)

(6) ¿Cuál de las siguientes descripciones es incorrecta?

A) El diagrama de estructura general del sistema respalda el diseño detallado del sistema de software

B) El diseño de software es el proceso de convertir los requisitos del software en representación de software

C) La estructura de datos y el diseño de bases de datos son el diseño de software Una de las tareas

D ) El diagrama PAD es una herramienta de representación para el diseño de software detallado

(7) El lenguaje de la base de datos responsable de las operaciones de consulta en la base de datos es

A) Lenguaje de definición de datos

B) Lenguaje de gestión de datos

C) Lenguaje de manipulación de datos

D) Lenguaje de control de datos

(8) A Un profesor puede impartir varios cursos y un El curso puede ser impartido por varios profesores.

Entonces la conexión entre el profesor de la entidad y el curso es

A)Conexión 1:1 B)Conexión 1:m

C)Conexión m:1 D)Conexión m:n

(9) 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) Intersección C) Además de D) y

(10) Defina la clase entera sin signo como UInt. Los siguientes valores se pueden usar como valores de instanciación de la clase. UInt are

A)-369 B) 369 C) 0.369 D) Conjunto de enteros {1,2,3,4,5}

(11) Hay dos métodos para ejecutar Programas informáticos en lenguaje de alto nivel: ejecución compilada y ejecución interpretada. ¿Cuál de las siguientes afirmaciones es correcta?

p>

A) Los programas en lenguaje C solo se pueden compilar y ejecutar

B) Los programas en lenguaje C solo se pueden interpretar y ejecutar

C) Los programas en lenguaje C se pueden compilar y ejecutar, además de interpretarse

D) Ninguna de las afirmaciones anteriores es correcta

(12) Cuál de las siguientes afirmaciones es incorrecta

A) El programa ejecutable en lenguaje C está compuesto por una serie de instrucciones de máquina

B) El programa fuente escrito en lenguaje C no se puede ejecutar directamente en la computadora

C) El programa de destino binario obtenido mediante la compilación debe conectarse antes de poder ejecutarse

D) El archivo .exe generado por el programa fuente C no se puede ejecutar en una máquina que no tenga instalado un entorno de desarrollo integrado en lenguaje C

> (13) ¿Cuál de las siguientes opciones no se puede utilizar como constantes legales en programas C?

p>

A)1,234 B)'123'

C)123 D)"\x7G"

(14) Las siguientes opciones se pueden utilizar como números reales legales en programas C Sí

A).1e0 B)3.0e0.2

C)E9 D)9.12E

(15) Si hay una definición declaración: int a= 3,b=2,c=1;, la expresión de asignación incorrecta en las siguientes opciones es

A)a=(b=4)=3 B)a=b=; c+1;

C)a=(b=4)+c; D)a=1+(b=c=4);

(16) tiene lo siguiente segmento de programa

char nombre[20];

int num;

scanf("nombre=%s num=%d",nombre;&num);

Cuando se ejecuta el segmento del programa anterior y se ingresa desde el teclado: nombre=Lili num=1001, el valor del nombre es

A)Lili

B)name=Lili

C)Lili num=

D)name=Lili num=1001

(17) La forma básica del if La declaración es: if (expresión) declaración, la siguiente declaración sobre el valor de "expresión" es correcta

A) debe ser un valor lógico B) debe ser un valor entero

C ) debe ser un número positivo D) puede ser cualquier valor legal

(18) El siguiente programa

#include

main()

{ int x=011;

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

}

El resultado de salida después ejecutar el programa es

A) 12 B)11 C)10 D)9

(19) Existe el siguiente programa

#include

main()

{ int s;

scanf("%d",&s);

while(s>0)

{ interruptor(es)

{ caso1:printf("%d",s+

5);

case2:printf("%d",s+4); descanso;

case3:printf("%d",s+3);

predeterminado:printf("%d",s+1);break;

}

scanf("%d",&s);

}

}

Al ejecutar, si ingresa 1 2 3 4 5 0 , el resultado de salida es

A)6566456 B) 66656 C) 66666 D) 6666656

(20) Existe el siguiente segmento de programa

int i,n;

for(i=0;i< 8; i++)

{ n=rand()%5;

cambiar (n)

{ caso 1:

caso 3: printf("%d\n",n); romper;

caso 2:

caso 4:printf("%d\n",n);

p>

caso 0:salir(0);

}

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

}

p>

La siguiente descripción de la ejecución del segmento del programa es correcta

A) La instrucción del bucle for se ejecuta 8 veces

B) Cuando el número aleatorio generado n es 4, finaliza la operación del bucle

C) No realiza ninguna operación cuando el número aleatorio generado n es 1 y 2

D) Finaliza el programa cuando el El número aleatorio generado n es 0

(21) Existe el siguiente programa

#include

main()

{ char s []="012xy\08s34f4w2";

int i,n=0;

for(i=0;s[i]!=0;i++)

if(s[i] >='0'&&s[i]<='9') n++;

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

}

El resultado de salida después de ejecutar el programa es

A)0 B)3 C)7 D)8

(22) Si i y k son ambas variables de tipo int, existe lo siguiente para Declaración

for(i=0,k=-1;k=1;k++) printf("*****\n");

Lo siguiente es sobre la ejecución de la declaración. La declaración correcta es

A) El cuerpo del bucle se ejecuta dos veces

B) El cuerpo del bucle se ejecuta una vez

C) El cuerpo del bucle no se ejecuta una vez

p>

D) Forma un bucle infinito

(23) Existe el siguiente programa

#include

main()

{ char b,c; int i;

b='a'; A';

for(i=0;i<6;i++)

{ if(i%2) putchar(i+b);

else putchar(i+c);

} printf("\n");

}

El resultado de salida después de ejecutar el programa es

A)ABCDEF B)AbCdEf C)aBcDeF D)abcdef

(24) Supongamos que existe una definición: double x[10],*p=x;, la siguiente afirmación correcta que puede leer datos en el elemento con índice 6 de la matriz x es

A)sc

anf("%f",&x[6]); B)scanf("%lf",*(x+6));

C)scanf("%lf",p+6) ; D)scanf("%lf",p[6]);

(25) Existe el siguiente programa (Nota: el valor del código ASCII de la letra A es 65)

#include

void fun(char *s)

{ while(*s)

{ if(*s%2) printf("%c ",* s);

s++;

}

}

main()

{ char a[] ="BYTE";

fun(a); printf("\n");

}

El resultado de salida después de ejecutar el programa. es

A)BY B)BT C)YT D) YE

(26) tiene el siguiente segmento de programa

#include

principal()

{ …

mientras( getchar()

!='\n');

}

¿Cuál de las siguientes afirmaciones es correcta?

A) Esta sentencia while se repetirá infinitamente

B) getchar() no puede aparecer en la expresión condicional de la declaración while En la fórmula

C) Al ejecutar esta declaración while, el programa puede continuar ejecutándose solo presionando la tecla Enter

D) Al ejecutar esta declaración while declaración, el programa puede continuar presionando cualquier tecla. La ejecución

(27) tiene el siguiente programa

#include

main()

<. p> { int x=1,y=0;

if(!x) y++;

else if(x==0)

if ( x) y+=2;

else y+=3;

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

}

El resultado de salida después de ejecutar el programa es

A)3 B)2 C)1 D) 0

(28) Si hay una declaración de definición: char s[3 ][10],(*k)[3],*p ;, entonces las siguientes declaraciones de asignación son correctas

A)p=s; B)p=k)p=s[0; ]; D)k=s;

(29) Existe el siguiente programa

#include

void fun(char *c)

{ mientras(*c)

{ si(*c>='a'&&*c<='z') *c=*c-('a'-'A') ;

c++;

}

}

main()

{ char s[81];

gets(s); fun(s); puts:

}

Cuando ingresas Hello Beijing desde el teclado durante la ejecución. el programa, el resultado de salida del programa es

A) hola beijing B)Hola Beijing C)HOLA BEIJING D)hola Beijing

(30) La función de la siguiente función es : ingresa datos a través del teclado y asigna valores a todos los elementos de la matriz.

#include

#definir N 10

void fun(int x[N])

{ int i=0;

while(i

}

Lo que se debe rellenar subrayado en el programa es

A)x+i B)&x[ i+1]

C)x+(i++) D)&x[++i]

(31) Existe el siguiente programa

#include

main()

{ char a[30],b[30];

scanf("%s",a);

gets(b);

printf("%s\n %s\n",a,b);

}

Si ingresa :

¿Cómo estás? Estoy bien

El resultado de salida es

A) ¿Cómo estás? B) ¿Cómo

Estoy bien ¿y tú? Estoy bien

C) ¿Cómo estás? ¿Estoy bien?

D) ¿Tú?

(32) tiene la siguiente definición de función

int fun(int k)

{ if (k<1) return 0;

else if(k==1 ) return 1;

else return fun(k-1)+1;

}

Si se ejecuta la declaración de llamada: n=fun(3); , Entonces el número total de veces que se llama a la función fun es

A) 2 B) 3 C) 4 D) 5

(33) Existe el siguiente programa

#include

int fun (int x,int y)

{ if (x!=y) return ((x+y);2);

else return (x);

}

main()

{ int a=4,b=5,c=6;

printf("%d\n",fun(2*a,fun(b,c)));

}

El resultado de salida después de ejecutar el programa es

A)3 B)6 C)8 D)12

(34) Existe el siguiente programa

#include

int fun ()

{ static int x=1;

x*=2;

devuelve x;

}

main()

{ int i,s=1;

for(i=1;i<=3;i++) s*=diversión ();

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

}

El resultado de salida después de ejecutar el programa es

A)0 B )10 C)30 D)64

(35) tiene el siguiente programa

#include

#define S(x) 4*(x)*x +1

main()

{ int k=5,j=2;

printf("%d\n ",S(k+j ));

}

El resultado de salida después de ejecutar el programa es

p>

A)197 B)143 C)33 D)28

(36) Hay una definición: struct {char mark[12];int num1;double num2;} t1,t2 ; , si a las variables se les han asignado valores iniciales correctamente, entonces la siguiente afirmación es incorrecta

A)t1=t2 B)t2.num1=t1.num1;

C)t2 .mark=t1.mark; D)t2.num2=t1.num2;

(37) Existe el siguiente programa

#include

estructura orden

{ int x, y;}dt[2]={1,2,3,4};

main()

{

struct ord *p=dt;

printf("%d,",++(p->x)); printf("%d\n",++ (p->y ));

}

El resultado de salida después de ejecutar el programa es

A)1,2 B)4,1 C) 3,4 D)2 ,3

(38) Existe el siguiente programa

#i

nclude

struct S

{ int a,b;}datos[2]={10,100,20,200};

main()

{ struct S p=datos[1] ;

printf("%d\n",++(p.a));

}

El resultado de salida después de ejecutar el programa es

A)10 B) 11 C)20 D)21

(39) Existe el siguiente programa

#include

main()

{ unsigned char a =8,c;

c=a>>3;

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

}

El resultado de salida después de ejecutar el programa es

A)32 B)16 C)1 D)0

(40 ) Supongamos que se ha definido fp, ejecute la instrucción fp=fopen( "file", "w");, la opción correcta para la siguiente descripción de la operación del archivo de texto es

A) Después de la operación de escritura está completo, puedes leer desde el principio B) Solo puedes escribir pero no leer

p>

C) Puedes agregar al contenido original D) Puedes leer y escribir a voluntad

2. Complete los espacios en blanco

(1) Las tablas lineales ordenadas pueden realizar búsquedas binarias. La premisa es que la tabla lineal debe almacenarse en 1.

(2) El resultado transversal en orden de un árbol binario es DBEAFC, el resultado transversal en orden previo es ABDECF y el resultado transversal en orden posterior es 2.

(3) Las pruebas de la unidad más pequeña de diseño de software (módulo o unidad de programa) generalmente se denominan pruebas 3.

(4) Las restricciones de integridad de la entidad requieren que los 4 valores de atributos de las tuplas en bases de datos relacionales no puedan estar vacíos.

(5) En la relación A (S, SN, D) y la relación B (D, CN, NM), la clave primaria de A es S y la clave primaria de B es D, entonces se llama 5 y es la clave externa de la relación A.

(6) El resultado de salida del siguiente programa es 6.

#include

main()

{ int a;

a=(int)((doble)(3/2 )+0.5+(int)1.99*2);

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

}

(7)Sí El siguiente programa

#include

main()

{ int x;

scanf("%d",&x);

if(x>15) printf("%d",x-5);

if(x>10) printf("%d",x);

if(x>5) printf("%d\n",x+5);

}

Si ingresa 12, el resultado de salida es 7.

(8) Existe el siguiente programa (nota: el valor del código ASCII del carácter 0 es 48)

#include

main()

{ char c1,c2;

scanf("%d",&c1);

c2=c1+9;

printf(" %c% c\n",c1,c2);

}

Si se ingresa 48 desde el teclado mientras el programa se está ejecutando, el resultado de salida será 8 .

(9) Existen las siguientes funciones

void prt(char ch,int n)

{ int i;

para (i =1;i<=n;i++)

printf(i%6!=0?"%c":"%c\n",ch);

}

Después de ejecutar la instrucción de llamada prt('*',24);, la función *** genera 9 líneas de * números.

(10) El resultado de salida del siguiente programa es 10.

#include

main()

{ int x=10,y=20,t=0;

if(x ==y)t=x;x=y;y=t;

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

}

(11) Se sabe que hay N elementos en la matriz señalada por a. La función de la función divertida es mover todos los elementos posteriores a partir del subíndice k (k>0) hacia adelante una posición. Por favor complete los espacios en blanco.

void fun(int a[N],int k)

{ int i;

for(i=k;i

}

(12) Existe el siguiente programa. Complete la declaración correcta en 12 para que el programa pueda compilarse y ejecutarse normalmente.

12;

<. p> main()

{ doble x,y,(*p)();

scanf("%lf%lf",&x,&y

);

p=promedio;

printf("%f\n",(*p)(x,y));

}

doble avg(double a,double b)

{ return((a+b)/2);}

(13) El resultado de salida después de ejecutar el siguiente programa es 13.

#include

main()

{ int i,n[5]={0};

for(i= 1;i<=4;i++)

{ n[i]==n[i-1]*2+1; printf("%d",n[i]); p>

printf("\n");

}

(14) El resultado de salida del siguiente programa después de ejecutarlo es 14.

#include

#include

#include

main()

{ char *p; i;

p=(char *)malloc(sizeof(char)*20);

strcpy(p,"bienvenido");

for( i=6;i>=0;i--) putchar(*(p+i));

printf("\n-"); gratis(p);

}

(15) El resultado de salida del siguiente programa es 15.

#include

main()

{ ARCHIVO *fp; int x[6]={1,2,3,4,5,6} ,i;

fp=fopen("test.dat","wb");

fwrite(x,sizeof(int),3,fp);

rebobinar(fp);

fread(x,sizeof(int),3,fp);

for(i=0;i<6;i++) printf( "%d",x[i]);

printf("\n");

fclose(fp);

}

Respuestas al Nivel de Computación 2 C de marzo de 2011:

1 Preguntas de opción múltiple

01-10:ABDDB ADCCB

11-20:ADBAA. ADCAD

21-30:BDBCD CDCCC

31-40:BBBDB CDDCB

2 Preguntas para completar en blanco

1. Ordenado 2. DEBFCA 3. Unidad 4. Principal 5. D 6.3 7.1217 8.09 9.4 10.20 0

11.i-1 12.doble promedio(doble a, doble b); 15.123456