Buscamos urgentemente preguntas del examen para el examen informático de nivel 2 (lenguaje C)
Abril de 2005 Preguntas y respuestas del examen nacional de idioma C de nivel 2 de computadora
(1) La estructura de almacenamiento de datos se refiere a D
(A) Almacenamiento fuera del datos en el almacenamiento (B) La cantidad de espacio de almacenamiento ocupado por los datos
(C) El método de almacenamiento secuencial de los datos en la computadora (D) La representación de la estructura lógica de los datos en el computadora
(2) La siguiente descripción de la pila es incorrecta: B
(A) La pila es una tabla de primero en entrar, último en salir
(B) La pila solo se puede almacenar secuencialmente
p>(C) La pila tiene una función de memoria
(D) Durante las operaciones de inserción y eliminación en la pila, hay no es necesario cambiar el puntero inferior de la pila
(3) Para la longitud de Para una tabla lineal de N, en el peor de los casos, el número correcto de comparaciones correspondientes a los siguientes métodos de clasificación es D
(A) La clasificación por burbujas es N/2 (B) La clasificación por burbujas es N
(C) La clasificación rápida es N (D) La clasificación rápida es N(N-1)/2 p>
(4) Realice una búsqueda secuencial en una tabla lineal de longitud N. El número de comparaciones requeridas en el peor de los casos es C
(A)log2n (B)n/2 (C )n (D)n+1
(5) La descripción correcta de la siguiente tabla lineal es A
A) El espacio de almacenamiento no es necesariamente continuo y el orden de almacenamiento de cada elemento es arbitrario
B) El espacio de almacenamiento no es necesariamente continuo y el elemento antecedente debe almacenarse delante del elemento consecuente
C) El espacio de almacenamiento debe ser continuo, y cada elemento antecedente debe almacenarse delante del elemento consecuente
D) El espacio de almacenamiento debe ser continuo y el orden de almacenamiento de cada elemento es arbitrario
(6) Entre los siguientes descripciones de pruebas de software, la correcta es C
A) El propósito de las pruebas de software es probar ¿Es correcto el programa?
B) El propósito de las pruebas de software es hacer el programa ejecutándose da resultados correctos
C) El propósito de las pruebas de software es encontrar tantos errores en el programa como sea posible
D) El propósito de las pruebas de software es hacer que el programa cumpla con principios estructurales
(7) Para que el módulo sea lo más independiente posible, B
(A) El grado de cohesión del módulo debe ser lo más alto posible, y el grado de acoplamiento entre módulos debe ser lo más fuerte posible
(B) El grado de cohesión de los módulos debe ser lo más alto posible y el grado de acoplamiento entre módulos debe ser lo más débil posible p>
( C) El grado de cohesión de los módulos debe ser lo más bajo posible y el grado de acoplamiento entre módulos debe ser lo más débil posible
(D) El grado de cohesión de los módulos debe ser lo más bajo posible y el grado de acoplamiento entre módulos debe ser lo más fuerte posible
(8) ¿Cuál de las siguientes descripciones es correcta? D
(A) A programa es software (B) El desarrollo de software no está limitado por sistemas informáticos
(C ) El software es tanto una entidad lógica como una entidad física (D) El software es una colección de programas, datos y documentos relacionados p>
(9) La independencia de los datos es una de las características importantes de la tecnología de bases de datos. La llamada independencia de los datos se refiere a D
(A) Los datos y los programas se almacenan de forma independiente
.(B) Diferentes datos se almacenan en diferentes archivos
(C) Diferentes datos Solo pueden ser utilizados por el programa de aplicación correspondiente
(D) Las tres declaraciones anteriores son incorrecto
(10) El modelo que utiliza una estructura de árbol para expresar la relación entre entidades es C
p>(A) Modelo relacional (B) Modelo de red (C) Modelo jerárquico (D) Los tres anteriores
(11) El algoritmo tiene cinco características y ninguna de las siguientes opciones es La característica del algoritmo es B
(A) Finitud ( B) Simplicidad (C) Viabilidad (D) Determinismo
(12) Las siguientes opciones se pueden utilizar como lenguaje C La constante legal es A
(A)-80. )-080 (C)-8e1.0 (D)-80.0e
(13) Las siguientes afirmaciones son correctas El uno es C
(A) El algoritmo implementado en C el lenguaje debe tener operaciones de entrada y salida
>
(B) El algoritmo implementado en lenguaje C no puede tener salida pero debe tener entrada
(C) El algoritmo implementado en lenguaje C no puede tener entrada pero debe tener salida
(D) El algoritmo implementado en el programa C no puede tener ni entrada ni salida
(14) Lo siguiente no se puede definir ya que el identificador de usuario es D
(A)Main ( B )_0 (C)_int (D)sizeof
(15) Entre las siguientes opciones, la que no se puede utilizar como constante legal es B
(A)1.234e04 (B)1.234e0.4 (C)1.234e+4 (D)1.234e0
(16) El valor ASCII del carácter numérico 0 es 48. Si existe el siguiente programa C
main()
{
char a='1',b='2'
printf("%c,",b++;
printf ("%d\n",b-a
}
El resultado de salida después de ejecutar el programa es
(A)3,2 (B)50 ,2 (C)2,2 (D)2,50
(17) Existe el siguiente programa A
main( )
{
int m=12,n=34
printf("%d%d",m++,++n); "%d%d\n",n++,++ m);
}
El resultado de salida después de ejecutar el programa es
(A)12353514 (B)12353513 (C)12343514 (D)12343513
p>(18) tiene la siguiente declaración: int b;char c[10];, entonces la declaración de entrada correcta es B
A)scanf("%d%s",&b,&c ); B) scanf("%d%s",&b,c
c)scanf("%d%); s",b,c); D)scanf("%d%s ",b,&c);
(19) Existe el siguiente programa A
main()
{
int m,n ,p
scanf("m=%dn=%dp=%d",&m,&n,&p)
printf("%d%d%d\n ",m,n,p
}
Si desea ingresar datos de en el teclado, haga que el valor en la variable M sea 123, el valor en N sea 456 y el valor en P sea 789, entonces la entrada correcta es
A)M=123N=456P=789 B)M=123 N=456 P=789 C)M=123,N=456,P=789 D)123 456 789
(20) Existe el siguiente programa B
main()
{
int a,b,d =25
a=d/10%9;b=a&&(-1; );
printf("%d,%d\n",a,b);
}
El resultado de salida después de ejecutar el programa es
A) 6, 1 B) 2, 1 C) 6, 0 D) 2, 0
(21) Existe el siguiente programa D
principal ()
{
int i=1,j=2,k=3
if(i++==1&&(++j==3; ||k++==3))
printf("%d %d %d\n",i ,j,k
}
>
El resultado de salida después de ejecutar el programa es
(A)1 2 3 (B)2 3 4 (C)2 2 3 (D)2 3 3
(22) Si los valores en las variables enteras a, b, c, d son: 1, 4, 3, 2.
Entonces la expresión condicional aA) 1 B)2 C)3 D)
(23) tiene el siguiente programa B
main()
{
int p[8]={11,12,13,14,15,16,17,18},i=0,j=0
while(i++<7) if(p[i]%2) j+=p[i];
printf("%d\n",j
}
El resultado de salida después de ejecutar el programa es
A)42 B)45 C)56 D)60
(24) Existe el siguiente programa C
main()
{
char a[7]="a0\0a0\0"; >i=tamañode (a); j=strlen(a);
printf("%d %d\n",i,j
}
);Programa El resultado de salida después de ejecutar es
A)2 2 B)7 6 C)7 2 D)6 2
(25) La siguiente opción que puede definir correctamente una matriz unidimensional es B
A)int a[5]={0,1,2,3,4,5} B)char a[]={0,1,2, 3,4,5};
C)char a={'A','B','C'}; D)int a[5]="0123"; p>(26) tiene el siguiente Programa A
int f1(int x,int y){return x>y?x:y;}
int f2(int x, int y){return x>y ?y:x;}
main()
{
int a=4,b=3,c= 5,d=2,e, f,g;
e=f2(f1(a,b),f1(c,d)); (c,d));
g=a+b+c+d-e-f;
printf("%d,%d,%d\n",e,f, g);
}
El resultado de salida después de ejecutar el programa es
A)4,3,7 B)3,4,7 C)5 ,2,7 D)2,5 ,7
27) Ya definido: char a[]="xyz",b[]={'x','y','z'}; , el correcto en la siguiente descripción es C
A) Las longitudes de las matrices a y b son las mismas B) La longitud de la matriz a es menor que la longitud de la matriz b
C) La longitud de la matriz a es mayor que la longitud de la matriz b D) Ninguna de las afirmaciones anteriores es correcta
28) Existe el siguiente programa D
void f( int *x,int *y)
{
int
t=*x;*x=*y;*y=t; /p>
}
main()
{
int a[8]={1,2,3,4,5,6 ,7,8},i,*p,*q
p=a;q=&a[7 ]; p++;q--;}
for(i=0;i<8;i++)printf("% d,",a[i]);
} p>
El resultado de salida después de ejecutar el programa es
A)8,2,3,4,5,6,7,1, B)5,6,7,8,1, 2,3,4,
C)1,2,3,4,5,6,7,8, D)8,7,6,5,4,3,2,
1,
29) Existe el siguiente programa D
main()
{
int a[3][3] ,* p,i;
p=&a[0][0];
for(i=0;i<9;i++)p[i]=i; /p >
for(i=0;i<3;i++)printf("%d",a[1][i]);
}
Después el programa se ejecuta El resultado de salida es
A)0 1 2 B)1 2 3 C)2 3 4 D)3 4 5
(30) El error en la siguiente descripción es A
p>A) Para matrices de tipo doble, no puede usar directamente el nombre de la matriz para ingresar o generar la matriz completa
B) El nombre de la matriz representa la primera dirección de la área de almacenamiento ocupada por la matriz y su valor no se puede cambiar
C) Cuando el subíndice de un elemento de la matriz excede el rango de subíndice definido durante la ejecución del programa, el sistema mostrará un mensaje de error de "subíndice fuera de límites"
D )El número de elementos de la matriz se puede determinar asignando valores iniciales
(31) Existe el siguiente programa C
#define N 20 p>
diversión(int a [],int n,int m)
{int i,j
for(i=m;i>=n;i; --)a[i+1] =a[i]
}
principal()
{
int i ,a[N]={1, 2,3,4,5,6,7,8,9,10};
diversión(a,2,9); >for(i=0;i< 5;i++)printf("%d",a[i]);
}
El resultado de salida después de ejecutar el programa es
A)10234 B )12344 C)12334 D)12234
32) Existe el siguiente programa B
main()
{
int a[3 ][2]={0},(*ptr)[2],i,j
for(i=0;i<2; i++)
{ptr= a+i;scanf("%d",ptr);ptr++;}
for(i=0;i<3;i++) p>
{for(j=0; j<2;j++)printf("-",a[i][j]);
printf("\n"); p>
}
}
Si ingresa: 1 2 3
A) Un mensaje de error se genera B) 1 0 C) 1 2 D) 1 0
2 0 3 0 2 0
0 0 0 0 3 0
33) Allí es el siguiente programa B
prt(int * m,int n)
{int i
for(i=0;i)
main()
{
int a[]={1,2,3,4,5},i; a,5);
for(i= 0;i<5;i++)
printf("%d,",a[i]); p>}
Resultado de salida después de ejecutar el programa Sí
A}1,2,3,4,5, B}2,3,4,5,6, C} 3,4,5,6,7, D}2,3, 4,5,1,
34) Existe el siguiente programa A
main(
)
{int a[]={1,2,3,4,5,6,7,8,9,0},*p
for(p= a;p}
El resultado de salida después de ejecutar el programa es
A)1,2,3,4,5,6,7,8,9,0, B) 2 ,3,4,5,6,7,8,9,10,1,
C)0,1,2,3,4,5,6,7,8,9, D ) 1,1,1,1,1,1,1,1,1,1,
35) Existe el siguiente programa D
#define P 3
void F(int x){return(P*x*x);}
main()
{printf("%d\n",F( 3+5 ));}
El resultado de salida después de ejecutar el programa es
A)192 B)29 C)25 D) Error de compilación
36 ) Existe el siguiente programa C
main()
{int c=35;printf("%d\n",c&c);}
Resultado de salida después de ejecutar el programa Sí
A)0 B)70 C)35 D)1
37) La siguiente afirmación es correcta D
A) La línea de comando de preprocesamiento debe ubicarse al principio del archivo fuente
B) Puede haber múltiples comandos de preprocesamiento en una línea del archivo fuente
C) Los nombres de las macros deben expresarse en letras mayúsculas
D) El reemplazo de macros no ocupa el tiempo de ejecución del programa
38) Si existen las siguientes instrucciones y definiciones C
union dt
{int a;char b;double c;}data;
Lo que está mal en la siguiente descripción es
A) La dirección inicial de cada miembro de los datos son los mismos
B) La variable datos ocupa El número de bytes de memoria es igual al número de bytes ocupados por el miembro c
C) Segmento de programa: data.a=5 ;printf("%f\n",data.c); el resultado de salida es 5.000000
D)los datos se pueden utilizar como parámetro real de la función
39) Entre De las siguientes sentencias o grupos de sentencias, la que puede realizar correctamente la asignación de cadenas es C
A) char *sp;*sp="right!"; !";
C)char s[10];*s="right!"; D)char *sp="right!";
40) Existe lo siguiente descripción C
typedef struct ST
{long a;int b;char c[2];}NEW
La siguiente descripción es correcta
A) La forma de descripción anterior es ilegal B) ST es un tipo de estructura
C)NEW es un tipo de estructura D)NEW es una variable de estructura
41) Hay es el siguiente programa B
main()
{int a =1,b
for(b=1;b<=10;b++)
{if(a>=8)romper
if (a%2==1){a+=5;continuar;}
a- =3;
}
printf("%d\n ",b);
}
El resultado de salida después de ejecutar el programa es
A) 3 B) 4 C)5 D) 6
42) Existe el siguiente programa A
main()
{char s[]="159",*p
p=s;
printf("%c",*p++);printf("%c",*p++
}
El resultado de salida después de ejecutar el programa es
A)15 B)16 C)12 D)59
43) Existe la siguiente función D
divertido(char *a,char *b)
{mientras((*a!='\0')&&(*b!='\0')&&(*a==*b) ) p>
{a++;b++;}
return(*a-*b);
}
La función de esta función es
A) Calcula la diferencia de longitud de las cuerdas apuntadas por a y b
B) Conecta la cuerda apuntada por b con la cuerda apuntada por a
C) Conecte la cadena señalada por b con la cadena señalada por a
D) Compare los tamaños de las cadenas señaladas por a y b
44) Existe la siguiente programa B
main()
{int num[4][4]={{1,2,3,4},{5,6,7,8} ,{9,10,11 ,12},{13,14,15,16}},i,j
for(i=0;i<4;i++)
<; p>{for(j= 0;j<=i;j++)printf("L",' 'for(j=_____;j<4;j++)printf("M" ,num[i][j ]);
printf("\n");
}
}
A salida la mitad superior derecha de la matriz en la siguiente forma Triángulo
1 2 3 4
6 7 8
11 12
16
Luego se subraya el programa. Lo que se debe completar es
A)i-1 B)i C)i+1 D)4-i
45) Existe el siguiente procedimiento D
point(char *p){p+=3;}
main()
{char b[4] ={'a','b','c', 'd'},*p=b
punto(p);printf("%c\n",*p); /p>
}
El resultado de salida después de ejecutar el programa es
A)a B)b C)c D)d
46) Si existen las siguientes explicaciones y declaraciones de definición en el programa A
char fun(char *
main()
{
<); p>char *s="one",a[5]={0} ,(*f1)()=fun,ch......
}
La declaración de llamada correcta para la función fun en las siguientes opciones Sí
A)(*f1)(a)*f1(*s)fun(); &a); D)ch=*f1(s);
47) Existen las siguientes descripciones de estructura y definiciones de variables, como se muestra en la figura,
Los punteros p, q. yr apuntan a tres nodos consecutivos en esta lista vinculada respectivamente.
struct node
{int data;struct node *next;}*p,*q,*r
Ahora queremos cambiar el nodo apuntado a por Q Eliminar de la lista vinculada mientras se mantiene la continuidad de la lista vinculada
La siguiente declaración que no puede completar la operación especificada es D
A)P->next=q. ->siguiente; B)p ->siguiente=p->siguiente->siguiente;
c)p->siguiente=r; D)p=q->siguiente; >48) Los siguientes pares de estructuras En la definición de variable de tipo td, el error es C
A)typedef struct aa B)struct aa C)struct D)struct
{ int n; {int n; {int n;
flotar m; flotar m;
}aa; }td;
AA td; struct aa td; struct aa td
49) Lo siguiente tiene el mismo efecto que la función fseek(fp,0L,SEEK_SET) es D
A)feof(fp ) B)ftell(fp) C)fgetc(fp) D)rewind(fp)
50) Existe el siguiente programa B
#include
void WriteStr (char *fn,char *str)
{FILE *fp
fp=fopen(fn,"w" );fputs(str,fp);fclose(fp)
}
main()
{
WriteStr(" t1.dat","start");
WriteStr("t1.dat","end");
}
Después de ejecutar el programa , el contenido del archivo t1.dat es
A)start B)end C)startend D)endrt
1. Hay 18 nodos con grado 2 en un árbol binario. entonces hay ______ nodos de hoja en el árbol binario.
Respuesta: 19
2. En el enfoque orientado a objetos, las instancias de clases se llaman ____.
Respuesta: Objeto
3. El trabajo de diagnosticar y corregir errores en un programa generalmente se llama ______.
Respuesta: Depuración
4. En una base de datos relacional, los datos se representan como una tabla bidimensional. , cada Una tabla bidimensional se llama _____
Respuesta: Relación
5 Una descripción correcta y completa de la solución de un problema se llama ___
Respuesta: Algoritmo
6. Cuando se ejecuta el siguiente programa, si ingresa desde el teclado: 10 20 30
#include
<. p>main(){
int i=0,j=0,k=0
scanf("%d%*d%d; ",&i,&j, &k);printf("%d%d%d\n",i,j,k);
}
Respuesta: 10 30 0
7. El resultado de salida después de ejecutar el siguiente programa es____
#define S(x) 4*x*x+1
main()
{
int i=6,j=8;
printf("%d\n",S(i+j)); p>}
p>
Respuesta: 81
*8. El resultado de salida después de ejecutar el siguiente programa es _____
main()
{int a=3 ,b=4,c=5,t=99;
if(b if(a printf("%d%d%d\n",a ,b,c);
}
Respuesta: 4399
9. El resultado de salida después de ejecutar el siguiente programa es ____
principal()
{
int a,b,c
a=10;b=20;c=(a%b<1)| |(a/b>1);
printf("%d %d %d\n",a,b,c
}
Respuesta: 10 20 0
10. El resultado de salida después de ejecutar el siguiente programa es___
main()
{char c1,c2; >
for(c1=' 0',c2='9';c1printf("\n");
)
Respuesta: 0918273645
11. ASCII conocido del carácter A El valor del código es 65. Si ingresa desde el teclado cuando se está ejecutando el siguiente programa: B33
el resultado de salida es _____
<. p>#includemain ()
{char a,b
a=getchar();scanf("%d",&b);
a=a-' A'+'0';b=b*2;
printf("%c %c\n",a,b); p>
}
Respuesta: 1 B
12. En el siguiente programa, la función de la función divertida es encontrar el valor máximo de los elementos en cada fila de una matriz bidimensional con 3 filas y 4 columnas. Complete los espacios en blanco
void fun (int,int,int(*)[4],int *); principal()
{int a[3][4]={{12,41, 36,28},{19,33,15,27},{3,27,19,1} },b[3],i;
divertido(3,4
,a,b);
for(i=0;i<3;i++)printf("M",b[i]);
}
void fun(int m,int n,int ar[][4],int *bar)
{
);int i,j,x;
for(i=0;i {x=ar[i][0];
for(j=0;j ________ =x;
)
}
)
Respuesta: barra[i]
13. siguiente El resultado de salida después de ejecutar el programa es______
void swap(int x,int y)
{ int t
t=x;x=y; ;y=t;printf("%d %d ",x,y
}
main()
{ int a=3, b=4;
intercambio(a,b);printf("%d %d\n",a,b);
}
Respuesta :4 3 3 4
14. El resultado de salida después de ejecutar el siguiente programa es____
#include
void fun(char *s,int p, int k)
{int i;
for(i=p;i)
main()
{char s[ ] ="abcdefg";
fun(s,3,strlen(s));puts
}
Respuesta: abcfg p >
17. El resultado de salida después de ejecutar el siguiente programa es______
struct NODE
{int k
struct NODE < /p; >
};
main()
{ estructura NODO m[5],*p=m,*q=m+4
int i=0;
mientras(p!=q)
{p->k=++i;p++; i++;q--;
}
q->k=i;
for(i=0;i<5;i++)printf (" %d",m[i].k);
printf("\n");
}
Respuesta: 13431
18. La función de la función huiwen en el siguiente programa es verificar si una cadena es un palíndromo. Cuando la cadena es un palíndromo,
La función devuelve la cadena: ¡sí!, de lo contrario la función devuelve. caracteres Cadena: ¡no! y envíelo a la función principal. El llamado palíndromo es
La ortografía directa e inversa es la misma, por ejemplo: adgda. >
#include
char *huiwen(char *str)
{char *p1,*p2;int i,t=0
p1=str;p2=______ ;
for(i=0;i<=strlen(str)/2;i++)
if(*p1++!=*p2-- ){t=1;romper ;}
if(____)return("sí!"
else return("no!"
}
main()
{char str[50];
printf("Entrada:");scanf("%s",str);
printf("%s\n",______);
}
Respuesta: 18) str+(strlen(str)-1)
19) !t
20) huiwen(cadena)