1. Preguntas de opción múltiple
(1) Las siguientes afirmaciones sobre las pilas son correctas.
a) El elemento superior de la pila se puede quitar primero.
b) Al final, solo se puede eliminar el elemento superior de la pila.
c) El elemento inferior nunca se puede eliminar.
d) Las tres afirmaciones anteriores son incorrectas.
(2)Las siguientes afirmaciones son correctas.
a) Una estructura de datos con más de un nodo raíz no es necesariamente no lineal.
b) Una estructura de datos con un solo nodo raíz no es necesariamente lineal.
c) Las listas enlazadas circulares no son lineales.
d) Las listas doblemente enlazadas son no lineales.
(3) Un árbol binario * * * tiene 7 nodos, de los cuales solo hay 1 hoja, por lo que la profundidad del árbol binario es (asumiendo que el nodo raíz está en el nivel 1).
A)3 B)4 C)6 D)7
(4) En el desarrollo de software, los principales documentos producidos durante la fase de análisis de requisitos son
a )Plan de prueba de integración de software b) Especificación detallada del diseño del software
Especificación de requisitos de software del manual de usuario
(5) La estructura básica requerida por el programa estructurado no incluye
a) Estructura de secuencia B) Salto
c) Estructura de selección (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 requisitos de software en representaciones de software.
c) La estructura de datos y el diseño de bases de datos son una de las tareas del diseño de software.
El diagrama D)PAD es una herramienta de representación para el diseño detallado de software.
(7) El lenguaje de la base de datos responsable de las operaciones de consulta de la base de datos es
a) Lenguaje de definición de datos
b) Lenguaje de gestión de datos
c) Lenguaje de operación de datos
d) Lenguaje de control de datos
(8) Un profesor puede impartir varios cursos y un curso puede ser impartido por varios profesores. Entonces la relación entre el profesor de la entidad y el curso es
A)1:1 contacto B)1:m contacto
C)m:1 contacto D)m:n contacto
(9) Existen las siguientes tres relaciones R, S y T:
Entonces la operación de obtener la relación T a partir de las relaciones R y S es
a) Unión natural b) Intersección c) División d) y
(10) Defina la clase entera sin signo como UInt, y lo siguiente se puede utilizar como valor de creación de instancias de la clase UInt.
A)-369 B)369 C)0.369 D) Conjunto de enteros {1, 2, 3, 4, 5}
(11) Hay dos tipos de computadoras de alta Programas de lenguaje de nivel Método: Compilar, ejecutar e interpretar. La siguiente afirmación es correcta.
A) Los programas en lenguaje C sólo se pueden compilar y ejecutar.
B) Los programas en lenguaje C sólo se pueden interpretar y ejecutar.
C) Los programas en lenguaje C se pueden compilar y ejecutar, y también se pueden interpretar.
d) Ninguna de las afirmaciones anteriores es correcta.
(12) ¿Cuál de las siguientes afirmaciones es incorrecta?
a) Un programa ejecutable en lenguaje C consta de una serie de instrucciones de máquina.
b) Los programas fuente escritos en lenguaje C no se pueden ejecutar directamente en el ordenador.
c) El programa de destino binario compilado debe estar conectado 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 constante legal en un programa en C?
A) 1, 234 B) '123'
C) 123 D)" \x7G "
(14) Entre las siguientes opciones, las que se pueden usar como números reales legales en programas C son
a)1e0b)3.0 e 0.2
9.12E
p>
(15) Si hay declaraciones definidas: int a=3, b=2, c = 1 la expresión de asignación incorrecta en; las siguientes opciones son
a)a =(b = 4)= 3;b)a = b = c+1;
c)a =(b = 4)+ c;d)a = 1+(b = c = 4);
(16) tiene los siguientes segmentos de programa.
char nombre[20];
int num
scanf("nombre=%s num=%d ", nombre; & ampnum); p> p>
Cuando se ejecuta el segmento del programa anterior y se ingresa desde el teclado: nombre = lilinum = 1001, el valor del nombre es
Lili
B)nombre= Lili
c) Lili número =
d) nombre = Lili número = 1001
(17) La forma básica de la declaración if es: if (expresión ) declaración, lo siguiente trata sobre "Cuál de las declaraciones con 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) tiene los siguientes pasos.
# include & ltstdio & gt
main()
{ int x = 011;
printf("%d\n ",++ x);
}
El resultado de salida después de ejecutar el programa es
a)12 B)11 C)10D)9 p >
(19) tiene los siguientes pasos.
# include & ltstdio & gt
main()
{ int s;
scanf("%d ", & amps );
mientras(s & gt; 0)
{cambiar
{ case1:printf("%d ", s+5); p>
p>
caso2:printf("%d ",s+4);
caso3:printf("%d ",s+3);
Valor predeterminado: printf("%d ", s+1
}
scanf("%d ", & amps); >
}
}
En tiempo de ejecución, si ingresa 123450, el resultado de salida es
a)6566456 B)66656 C)66666D) 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); Continuar;
Caso 0: Salir(0);
}
printf("%d\n ", n); Las siguientes afirmaciones sobre la ejecución del segmento del programa son correctas.
a) La instrucción del bucle for se ejecuta 8 veces.
b) Cuando el número aleatorio generado n es 4, la operación del bucle finaliza.
c) No hacer nada cuando los números aleatorios generados n son 1 y 2.
d) Cuando el número aleatorio generado n es 0, la operación de programación finaliza.
(21) cuenta con los siguientes procedimientos.
# include & ltstdio & gt
main()
{ char s[]= " 012xy \ 08s 34 f 4 w 2 "; >
int i, n = 0;
for(I = 0; s[i]!=0;i++)
if(s[I]& gt; = ' 0 ' & amp& amps[I]& lt;= ' 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 variables de tipo int , entonces para.
for(i=0, k =-1; k = 1; k++)printf(" * * * * * \ n "); es correcto
a) El bucle se ejecuta dos veces.
b) El bucle se ejecuta una vez.
c) El bucle no se ejecuta una vez.
d) Formar un bucle infinito.
(23) tiene el siguiente programa
# include & ltstdio & gt
main()
{ char b, c; int I;
b = ' ac = ' 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) se define como doble x[10], * p = x ;La siguiente forma correcta de leer datos en los elementos de la matriz ",*(x+6));
C)scanf("%lf ",p+6); D)scanf( "%lf ",p[6]);
(25) tiene el siguiente programa (nota: el valor del código ASCII de la letra A es 65).
# incluir & ltstdio & gt
void fun(char)
{ while(*s)
{ if(*s %2) printf("%c ", * s);
s++
}
}
principal()<; /p>
{ char a[]= " BYTE ";
Diversión (1); 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
# incluir & ltstdio & gt
main()
{ …
mientras( getchar()!= '\n');
…
}
Cuál de las siguientes afirmaciones es correcta
a) La sentencia while se repetirá infinitamente.
B) getchar() no puede aparecer en la expresión condicional de la declaración while.
c) Al ejecutar esta instrucción while, el programa solo puede continuar la ejecución presionando la tecla Enter.
d) Al ejecutar la instrucción while, presione cualquier tecla para continuar ejecutando el programa.
(27) tiene el siguiente programa
# include & ltstdio & gt
main()
{ int x=1, y = 0;
si (!x)y++;
si (x==0)
si (x)y+= 2; p >
De lo contrario y+= 3;
printf("%d\n ",y);
}
El resultado de salida después de ejecutar el el programa es
A)3 B)2 C)1 D) 0
(28) Si hay una declaración definida: char s[3][10], (*k )[3 ], * p;, las siguientes declaraciones de asignación son correctas
a)p = s; b)p = k; /p>
(29) tiene el siguiente programa
# include & ltstdio & gt
Fondos no válidos (char *c)
{ while( *c)
{ if(* c & gt;= ' a ' & amp& amp* c & lt= ' z ')* c = * c-(' A '-' A ');
c++;
}
}
main()
{ char s[81];
Obtener; diversión; opción de venta:
}
Entrada Hola Beijing, la 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 ingresar datos a través del teclado y asignar valores a todos los elementos de la matriz.
# include & ltstdio & gt
#Definición número 10
void fun(int x[N])
{ int I = 0;
Y (I & lt& gt
}
La parte subrayada en el programa debe completarse
a) x+ I B)& x[i+1]
c)x+(i++)D)& x[++i]
(31) Existe el siguiente programa.
# include & ltstdio & gt
main()
{ char a[30], b[30]
scanf; ("%s ", a);
obtiene(b);
printf("%s\n %s\n ", a, b);
}
Mientras el programa se está ejecutando, si escribes:
¿Cómo estás? Estoy bien& ltInput>
Entonces el resultado es
¿Cómo estás? b) ¿Qué tal
Yo estoy bien, y tú? Estoy bien
¿Cómo estás? Estoy bien.
¿Estás bien?
(32) proporciona la siguiente definición de función
int fun(int k)
{ if(k <1) devuelve 0;
else if(k==1) devuelve 1;
else devuelve fun(k-1)+1;
}
Si se ejecuta Llamando declaración: n = fun(3);, el número de veces que siempre se llama a la función divertida es * * *
A)2 B)3 C)4 D)5
( 33) Existe el siguiente programa
# include & ltstdio & gt
int fun (int x, int y)
{ if (x!= y) devolver ((x+y); 2);
else devuelve (x);
}
main()
{ int a=4, b=5, c = 6;
printf("%d\n ", diversión(2*a, diversión(b, c))
}
El resultado de salida después de ejecutar el programa es
A)3 B)6 C)8 D)12
(34) tiene el siguiente programa
# include & ltstdio & gt
int fun()
{ static int x = 1;
x * = 2;
Devuelve x;
}
main()
{ int i, s = 1;
for(I = 1;i<=3;i++)s * = divertido();
printf("%d\n ",s);
} p>
El resultado de salida después de ejecutar el programa es
A)0 B)10 C)30 D)64
(35) Existen los siguientes programas
# include & ltstdio & gt
#Definición S(x) 4*(x)*x+1
main()
{ int k=5, j = 2;
printf("%d\n ", S(k+j));
}
La salida el resultado después de ejecutar el programa es
A)197 B)143 C)33 D)28
(36) tiene una definición: struct { char mark[12]; ; double num2} t1, T2 ;, si a la variable se le ha asignado correctamente un valor inicial, la siguiente afirmación es incorrecta.
a)t 1 = T2; b) T2 num 1 = t 1 num 1;
c) T2 marca = t 1 . 2 = t 1 . num 2;
(37) tiene el siguiente programa
# include & ltstdio & gt
Orden estructural
{ int x, y }dt[2]={1, 2, 3, 4};
main()
{
estructura * 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) tiene el siguiente programa
# include & ltstdio & gt
Estructura S
{ int a, b } datos [2]={10, 100, 20, 200};
main()
{ estructura 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)20D)21
(39) tiene el siguiente programa
# include & ltstdio & gt
main()
{ Carácter sin signo a=8, c;
c = a & gt& gt3;
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 fp es definido, ejecute la instrucción fp=fopen("file","w");, la siguiente descripción de opciones para la operación de archivos de texto es correcta.
a) Después de escribir, puedes leer desde el principio; b) Sólo puedes escribir pero no leer.
c) Puede escribirse después del contenido original d) Puede leerse y escribirse a voluntad.
En segundo lugar, complete los espacios en blanco
(1) La premisa de que una tabla lineal ordenada puede realizar búsqueda binaria es que la tabla lineal debe almacenarse en 1.
(2) El resultado del recorrido intermedio del árbol binario es DBEAFC, el resultado del recorrido anterior es ABDECF y el resultado del recorrido posterior es 2.
(3) La prueba de la unidad más pequeña (módulo o unidad de programa) del diseño de software generalmente se denomina 3 pruebas.
(4) Las restricciones de integridad de la entidad requieren que el valor del atributo de la tupla 4 en la base de datos relacional no pueda estar vacío.
(5) En la relación A (S, SN, D) y la relación B (D, CN, NM), si la clave primaria de A es S y la clave primaria de B es D, entonces 5 es el código externo de la relación A.
(6) El resultado de salida del siguiente programa después de ejecutarlo es 6.
# incluir & ltstdio & gt
main()
{ int a;
a =(int)((doble) (3/2)+0.5+(int)1.99 * 2);
printf("%d\n ", a);
}
(7) Existe el siguiente programa
# include & ltstdio & gt
main()
{ int x
scanf; (" %d ",&x);
if(x>15) printf("%d",x-5);
if(x>10) printf(" %d ",x);
if(x & gt;5) printf("%d\n ",x+5);
}
Si es 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 & ltstdio & gt
main( )
p>
{ char c1, C2
scanf("%d ", & ampc 1); 9;
printf("%c%c\n ",c1,C2);
}
Si es 48, el resultado de salida es 8 .
(9) tiene las siguientes funciones
void prt(char ch, int n)
{ int I
for( I = 1;i<= n;i++)
printf(i%6!=0?" %c":"%c\n ",ch);
}
Ejecute la instrucción de llamada prt('* ', 24); después de eso, la función * * * genera 9 líneas *.
(10)La salida del siguiente programa es 10.
# incluir & ltstdio & gt
main()
{ int x=10, y=20, t = 0;
if(x = = y)t = x; x = y = t;
printf("%d %d\n ",x,y);
}
(11) Se sabe que hay n elementos en la matriz, representados por A. La función de la función divertida es convertir todos los elementos posteriores comenzando con el subíndice k (k >; 0) y muévalos 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
# include & ltstdio & gt<. /p>
12;
main()
{ doble x, y, (* p)();
scanf("%lf %lf " , & ampx & y);
p = promedio
printf("%f\n ", (*p)(x, y));
}
Doble media (doble a, doble b)
{ return((a+b)/2);}
(13 ) La salida del siguiente programa es 13.
# include & ltstdio & gt
main()
{ int i, n[5]= { 0 };
for(I = 1;i<=4;i++)
{ n[I]= = n[I-1]* 2+1;printf("%d ",n[I]); }
printf(" \ n ");
}
(14)La salida del siguiente programa es 14.
#incluye
#incluye
#incluye
main()
{ char * p; I;
p =(char *)malloc(sizeof(char)* 20);
strcpy(p, "Bienvenido");
for( I = 6;i>=0;I-)putchar(*(p+I));
printf("\n-");free(p);
}
(15)La salida del siguiente programa es 15.
# include & ltstdio & gt
main()
{ ARCHIVO * fpint x[6]={1, 2, 3, 4, 5, 6}, I;
fp=fopen("test.dat ", " WB ");
fwrite(x, tamañode(int), 3, FP); p>
p>
Rebobinar(FP);
fread(x,sizeof(int),3,FP);
for(I = 0;i<6 ;i++ ) printf("%d ", x[I]);
printf(" \ n "
fclose(FP); }