Encuentre el banco de preguntas del examen escrito de lenguaje C de segundo nivel

Abril de 2006 Preguntas del examen escrito de lengua C de nivel 2

Una pregunta de opción múltiple ((1)-(10) 2 puntos cada una, (11)-(50) 1 punto cada una* * 60 puntos).

Sólo una de las siguientes cuatro opciones (a), b), c) y d) es correcta. Marque la opción correcta en la posición correspondiente en la hoja de respuestas. La respuesta no se calificará en el examen.

1) Las siguientes opciones son métodos de programación no estructurados

a) De arriba a abajo

b) Mejorar gradualmente

c) Modularidad

d) Reutilizabilidad

2) La cercanía de asociación entre dos o más módulos se denomina

a) Acoplamiento

b) Cohesión

c) Complejidad

d) Características de la transmisión de datos

3) Las siguientes afirmaciones son correctas.

a) Las pruebas de software deben ser realizadas por los desarrolladores del programa.

b) Una vez depurado el programa, generalmente no es necesario volver a probarlo.

c) El mantenimiento del software sólo incluye el mantenimiento del código del programa.

d) Las tres afirmaciones anteriores son incorrectas.

4) La estructura de datos que organiza los datos según el principio de "último en entrar, primero en salir" es

a) Cola

b) Pila

c) Lista doblemente enlazada

d) Árbol binario

5) Las siguientes afirmaciones son correctas.

A) La lista enlazada lineal es una estructura de almacenamiento enlazada de lista lineal.

b) Las pilas y colas son estructuras no lineales.

c) Las listas doblemente enlazadas son no lineales.

d) Un árbol binario con sólo el nodo raíz es una estructura lineal.

6) Para el siguiente árbol binario

Los resultados del recorrido posterior al orden son los siguientes

A) ABCDEF

B) DBEAFC

ABDECF

D) DEBFCA

7) En un árbol binario completo con una profundidad de 7, el número de nodos de hoja es

A) 32

B)31

64 personas

D)63

8) La diferencia entre los dos conjuntos de entidades "producto" y "cliente" La relación es generalmente

a) uno a uno

b) uno a muchos

c) muchos- a uno

d) muchos a muchos Muchos

9) En el diagrama E-R, las formas utilizadas para representar entidades son

a) Rectángulo

b) Óvalo

c) Diamante

d) Triángulo

10) La relación entre la base de datos DB, el sistema de base de datos DBS y la gestión de bases de datos El sistema DBMS es

a) La base de datos contiene bases de datos y sistemas de gestión de bases de datos.

B) DBMS incluye DB y DBS.

c) El sistema de base de datos incluye la base de datos y el sistema de gestión de bases de datos.

d) No importa.

11) El siguiente es un identificador de usuario ilegal

A) j2_KEY

b) Doble

C) 4d

D) _8__

12) La siguiente es una constante numérica ilegal

A)011

B)lel

C ) 8.0 E0.5

D) 0xabcd

13) Las siguientes son constantes de caracteres ilegales

A)'\018 '

B ' \ " '

C) '\\ '

D) '\xcc '

14) El valor de la expresión 3.6-5/2 1.2 52 es

A)4.3

B) 4.8

C) 3.3

D) 3.8

15 ) La siguiente declaración que puede definir correctamente una cadena es

a)char str[]= { ' \ 064 ' };

b)char str = " \ x43 ";

c)char str = ";

d)char str[]= " \ 0 ";

16) ¿Cuál de las siguientes definiciones de matriz es incorrecta?

a) int x[][3]= { 0 };

B) int x[2][3]={{1, 2}, {3, 4 }, {5, 6 } };

C) nt x[][3]={{1, 2, 3}, {4, 5, 6 } }; >D) int x [2][3]={1, 2, 3, 4, 5, 6};

17) Si desea leer una cadena que contiene caracteres de espacio desde el teclado, debe utilizar la función.

A)getc()

b)get()

C) getchar()

d) función de escaneo()

18) En los siguientes cuatro shows, absolutamente cierto.

a)#Contiene B)#Contiene

main(); main()

{/*Programación*/{/*/Programación/*/

printf("¡Programación!\n ");} printf("¡Programación!\n");}

c)#includeD)include

principal ()main()

{/*/*Programación*/*/{/*Programación*/

printf("Programación!\n ");} printf(" Programación ! \n ");}

19) Si está definido: float x = 1.5; int a=1, b=3, c = 2; la declaración de cambio correcta es

a ) cambiar (x) B) cambiar ((int)x);

{ caso 1.0: printf (" * \ n "); { caso 1: printf (" * \ n "); p>

Caso 2.0: printf(" * * \n ");}Caso 2: printf(" * * \n");}

c) cambiar (a b) D) cambiar ( a b)

{ caso 1: printf(" * \ n "); { caso 1: printf(* \ n ");

caso 2 1: printf(" * * \n "); } Caso c: printf (" * * \n "); }

20) Si las variables utilizadas en cada opción han sido definidas correctamente, entonces en la función fun a través de la declaración return Devuelve un valor de función.

El programa incorrecto en las siguientes opciones es

A)main() B) float fun(int a, int b){……}

{……x=fun(2 , 10);......} main()

float fun(int a, int b){......} {......x=fun(i , j);......}

C) float fun(int, int); d) main()

main() { float fun(int i, int j);

{......x=fun (2, 10);…}…x=fun(i,j);…}

flotar divertido (int a, int b){…} float fun(int a, int b){……}

21) En la expresión dada a continuación, la expresión que no es equivalente a (E) en while (E) es

a) (!E=0)

b)(E gt; 0 | | E lt0)

C) (E= =0)

D) (E! =0)

22) Es necesario leer caracteres continuamente a través del ciclo while y finalizar el ciclo cuando se lee la letra n. Si la variable se ha definido correctamente, el siguiente segmento de programa correcto es

A) while((ch=getchar())!='N') printf("c ",ch);

B) mientras(ch=getchar()!='N') printf("c ",ch);

c)mientras(ch = getchar()== N')printf ( " c ", ch);

d) mientras ((ch = getchar()) = = ' N ') printf (" c ", ch

23); definición Se proporcionan las siguientes funciones.

Fondo de intereses (interés * interés)

{ return * p;}

El valor de retorno de la función divertida es

a ) No Determinar el valor

b) Un número entero

c) El valor almacenado en el parámetro formal p

d) El valor de dirección del parámetro formal p

24) Si hay una declaración: double *p, a; entonces el segmento de programa que puede leer correctamente los datos en el elemento de entrada a través de la declaración scanf es

a)* p = amplificador; a; scanf("f ", p);

b)* p = amperio; ; scanf("lf ", * p) ;

p = ampa;scanf("lf ",p);

25) Las siguientes son las descripciones de estructuras y definiciones de variables disponibles. . Como se muestra en la figura, los punteros p, Q, r Q y R apuntan respectivamente a tres nodos consecutivos en la lista vinculada.

Nodo de estructura

{

datos char;

Nodo de estructura* siguiente

}*p, * q, * r;

Ahora necesitamos intercambiar las posiciones de los nodos señalados por Q y R manteniendo la continuidad de la lista enlazada. Las siguientes declaraciones no pueden realizar esta operación:

A) q->siguiente = r- gt; siguiente = r- gt; >B) p->siguiente = r; q->siguiente = r-gt;

siguiente = q;

C) q->siguiente = r- gt; r- gt; siguiente = q->; - gt; siguiente = q; p-siguiente = r; q-siguiente = r- gt;

26) Existe el siguiente programa.

Estructura st

{ int x; int * y;}*pt:

int a[]={1, 2}, b[]= {3, 4};

struct st c[2]={10, a, 20, b};

pt = c;

Abajo En las opciones, el valor de la expresión es 11.

a)* pt- gt; y

b) pt- gt; x

c) pt- gt; d) (p t )-gt; p>A)EOF

b)Valor distinto de cero

C) 0

d)Vacío

28) Existe la siguiente declaración

int a=1, b=2, c;

c=a^(blt; lt2);

Después de la ejecución, el valor de c es

p>

A)6

B) 7

C) 8

D) 9

29) Existen los siguientes procedimientos

#Includes

main()

{

char c1, c2, c3, c4, c5, C6;

scanf("cccc ", ampc 1; c2 y ampc3 y ampC4);

C5 = getchar( ); C6 = getchar();

putchar(c 1 );

printf("cc\n ", c5, C6);

}

Después de ejecutar el programa, si presiona Entrada (a partir de la columna 1)

123ltInput>

45678 ltInput>

Entonces el resultado de salida es

A)1267

B)1256

C) 1278

D)1245

30) Si existen los siguientes programas

Master()

{ int y = 10

while(y--) ; printf(" 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)mientras constituye un bucle infinito.

31) Existen los siguientes pasos

main()

{

int a=0, b=0, c= 0, d = 0;

if(a = 1)b = 1; c = 2;

si no

printf("d , d ,d,d\n ",a,b,c,d);

}

Salida del programa

a)0.1.2,0

p>

B) 0, 0, 0, 3

C) 1, 1, 2, 0

d) Error de compilación

32) Existe el siguiente programa

main()

{

int i, j, x = 0

; for(I = 0; i lt2; i )

{ x ;

for(j = 0; j lt=3; j )

{

si (j2) continúa

x

}

x

}

;

printf(" x=d\n ",x);

}

La salida después de ejecutar el programa es

A)x= 4

B) x=8

C) x=6

D) x=12

33) Existe lo siguiente programa

int fun 1(duo ble a){ return a * = a;}

int fun2 (doble x, doble y)

{

Doble a=0, b = 0;

a = diversión 1(x); b = diversión 1(y); p>}

Main()

{Double w; w=fun2(1.1, 2.0);...}

Después de ejecutar el programa, el valor en la variable W es

A)5.21

B) 5

C) 5.0

D) 0.0

34) Existen los siguientes procedimientos

main()

{

int i, t[][3]={9, 8, 7, 6, 5, 4, 3, 2, 1};

for(I = 0;ilt3;i) printf("d",t[2-I][I]);

}

La salida después de ejecutar el programa es

A)7 5 3

B) 3 5 7

C)3 6 9

D )7 5 1

35) Existe el siguiente programa

fun(char p[][10] )

{int n=0, I;

p>

for(I = 0;ilt7;i)

si(p[I ][0]= = ' T ')n;

Devolver n;

}

main()

{

char str[][10]={"lunes","martes", "miércoles", "jueves", "viernes", "sábados", "domingos" }; printf("d\n ", fun(str));

}

La salida después de ejecutar el programa es

A)1

B) 2

C)3

D) 0

Existe el siguiente programa

main()

{

int i, s=0, t[]={ 1, 2, 3, 4, 5, 6, 7, 8, 9};

<

p>for(I = 0; I lt9; I = 2)s = *(t I);

printf("d\n ", s); /p>

El resultado después de ejecutar el programa es

A) 45

B) 20

25 personas

D ) 36

37) Existe el siguiente programa

void fun1(char *p)

{

char * q;

q = p;

mientras(*q!='\0')

{(* q;}

}

Principal()

{ char a[]={"Programa"}, * p

p = ampa[3]; (p) ;printf("s\n ",a);

}

La salida después de la ejecución del programa es

P rohsbn

B )Prphsbn

c) Solución b

d) Programa

38) Existe el siguiente programa

void swap( char *x, char *y)

{

char t;

t = * x * x = * y; /p>

}

Principal()

{

char *s1="abc", *S2 = "123";

swap (s1, S2); printf ("s, s\n ", s1, S2

}

La salida después de la ejecución del programa es

A )123, abc

B) abc, 123

1 a.C., a23

D) 321, cba

39 ) tiene el siguiente programa

Fondo de Intereses

{

si(n==1) devuelve 1;

Otros

return(n fun(n-1));

}

main()

{

int x;

scanf("d ", ampx); x = divertido(x); printf("d\n ", x); p>Programa Al ejecutar, ingrese 10 en la variable) 45

40) Existe el siguiente programa

int fun(int x[], int n)

{static int sum=0, I;

p>

for(I = 0; I sum = x[I];

Devuelve la suma;

}

Principal()

{int a[]={1, 2, 3, 4, 5}, b[]={6, 7, 8, 9} , s = 0;

s=divertido (a, 5) divertido (b, 4); printf ("d\n ", s);

El resultado después de ejecutar el programa es

A) 45

B) 50

60 personas

D) 55

41) Existen los siguientes pasos

main()

{

Union

char ch[ 2];

int d;

} s;

s . \n ",s

.ch[0], s .ch[1]);

}

En un sistema de compilación de 16 bits, la salida después de la ejecución del programa es

a )21.43

B)43, 21

43, 00

21.00

42) Existen los siguientes procedimientos

Principal()

{

char *p[]={"3697", "2584"};

int i, j; número largo = 0;

for(I = 0;ilt2;i)

{ j = 0;

mientras(p[i][j] != '\0')

{ if((p[I][j]-' 0 ') 2)num = 10 * num p[I][j]-' 0);

j = 2;

} }

printf(" d \ n " número

}

Programa La salida después de la ejecución es

A)35

B)37

C)39

3975

43) Después de ejecutar el siguiente programa, el contenido del archivo test.txt es (si el archivo se puede abrir normalmente).

#includes

main()

{

ARCHIVO * fp

char *s1="Fortran ", * s2 = " Básico

if((fp=fopen("test.txt "," wb"))==NULL)

{ printf("No se puede abrir la prueba .txt file\n "); exit(1);}

fwrite(s1, 7, 1, FP); /*Escribe los 7 caracteres de la dirección s1 en el archivo indicado por fp* /

fseek(fp, 0L, SEEK _ SET); /*Mover el puntero de posición del archivo al principio del archivo*/

fwrite(s2, 5, 1, FP);

fclose(FP);

}

a) Escaneo básico

b) Fortran básico

Básico

D)FortranBasic

44) La siguiente afirmación es incorrecta:

a) Compile el programa fuente en lenguaje C para generar el programa de destino con el sufijo

B) El lenguaje C puede formar un archivo de instrucciones de máquina binaria verdaderamente ejecutable solo después de los pasos de compilación y vinculación.

C) Los programas escritos en lenguaje C se denominan programas fuente y están escritos en código ASCII. El formulario se almacena en un archivo de texto.

d) Cada declaración ejecutable y no ejecutable en el lenguaje C eventualmente se convertirá en una instrucción de máquina binaria. Lo siguiente. Lo que está mal en la afirmación es que

a) Un programa con un algoritmo correcto eventualmente terminará

b) Un programa con un algoritmo correcto no puede tener salida.

c) Un programa con un algoritmo correcto no puede tener entrada

d) Un programa con un algoritmo correcto debe tener el mismo resultado para la misma entrada

<. p>46) ¿Cuál de las siguientes afirmaciones es incorrecta?

p>

A) Un programa en C debe constar de una o más funciones

b) Las llamadas a funciones pueden existir como declaraciones independientes

c) Si la función tiene un valor de retorno, debe devolverse a través de la declaración de retorno.

d) El valor del parámetro de la función también puede devolver el parámetro real correspondiente.

47) Existen las siguientes definiciones y declaraciones

char str[20]="Programa", * p

p = str

Las siguientes afirmaciones son correctas

A)*p es igual al valor en str[0]

B)str y P son exactamente del mismo tipo.

C)C)La longitud de la matriz str es igual a la longitud de la cadena apuntada por p.

d) El contenido almacenado en la matriz str es el mismo que el contenido almacenado en la variable de puntero p.

48) ¿Cuál de las siguientes afirmaciones es incorrecta?

a) Las líneas #include y #define en un programa C no son sentencias C.

b) Excepto el operador de coma, el operador de asignación tiene la prioridad más baja.

c) En el programa C, j ; es una declaración de asignación

d) En el programa C, -, *, /, son operadores aritméticos que se pueden utilizar para Operaciones con números enteros y reales.

49) Las siguientes afirmaciones son correctas.

a) La línea de comando de preprocesamiento debe estar ubicada al principio del programa fuente en C.

b) En lenguaje C, todas las líneas de comando de preprocesamiento comienzan con "#"

C) Cada programa en C debe incluir una línea de comando de preprocesamiento al principio: #include.

d) El preprocesamiento del lenguaje C no puede implementar funciones de definición de macros y compilación condicional.

50) La siguiente afirmación es incorrecta

a) Se pueden agregar nuevos tipos a través de typedef.

B) typedef se puede utilizar para representar un tipo existente con un nuevo nombre.

c) Después de usar typedef para definir un nuevo nombre de tipo, el nombre de tipo original sigue siendo válido.

D) typedef se puede utilizar para crear alias de varios tipos, pero no se puede utilizar para variables.

Dos: Complete los espacios en blanco (2 puntos por cada espacio en blanco, ***40 puntos)

Escriba la respuesta correcta para cada espacio en blanco en la hoja de respuestas numerada desde [1] a [20] En la línea, las respuestas no se califican en la prueba.

1) Se utiliza para ordenar una lista lineal de longitud 10. En el peor de los casos, el número de comparaciones es _ _ _ _ _ [1] _ _ _ _ _ _ _.

2) En el método orientado a objetos, _ _ _ _ _ _ [2]_ _ _ _ _ describe un conjunto de objetos con atributos y operaciones similares.

3) En el modelo relacional, los datos se consideran una tabla bidimensional y cada tabla bidimensional se denomina __[3]_____.

4) Las pruebas de programas se dividen en análisis estático y pruebas dinámicas, entre las cuales _ _ _ _ _ _ _[4] se refiere a no ejecutar el programa, solo verificar el texto del programa y analizar y descubrir a través de lectura y discusión Errores en el programa.

5) La independencia de datos se divide en independencia lógica e independencia física. Cuando la estructura de almacenamiento de datos cambia, su estructura lógica puede permanecer sin cambios. Por tanto, las aplicaciones basadas en estructuras lógicas no necesitan ser modificadas, lo que se denomina _[5] _ _ _ _ _.

6) Si las variables A y B se han definido como tipo int, se les asignan los valores 21 y 55, y se requiere usar la función printf para generar la salida en la forma a = 21 y b = 55, escriba una declaración de salida completa_ _[6]____.

7) El siguiente programa se utiliza para determinar si A, B y C pueden formar un triángulo. En caso afirmativo, se puede generar; de lo contrario, se puede generar. Cuando se ingresan A, B y C como los tres lados de un triángulo, se deben cumplir tres condiciones al mismo tiempo para determinar que A, B y C pueden formar un triángulo: A B >; , b c gt; Responda.

main()

{

Flotante a, b, c

scanf("fff ", amp one, ampb amp; ;c);

if(_ _[7]_ _)printf(" YES \ n ");/* A, B, C pueden formar un triángulo*/

else printf(" NO \ n "); /* A, B y C no pueden formar un triángulo*/

}

8) El resultado de salida del siguiente programa es_ _[ 8] _ _ _ _ _ _ _

main()

{ int a[3][3]={{1, 2, 9}, {3, 4, 8} , {5, 6, 7}}, I, s = 0;

for (I = 0; ilt3; i )s = a[I][I] a[I][3 - I-1];

printf("d\n ", s);

}

9) Al ejecutar el siguiente programa, ingrese abcd y el programa genera El resultado es: _[9]____.

insert(string[])

{ int I;

I = strlen(str);

mientras(I gt; 0)

{ str[2 * I]= str[I]; str[2 * I-1]= ' * '; I-;}

printf(" s \n ", str);

}

main()

{ char str[40];

scanf(" s ", str); insert (string);

}

10) El resultado del siguiente programa es: _ _ _[10]_ _ _

fun(int t[], int n)

{ int i, m;

if(n==1) devuelve t[0];

Otro

If (n gt=2) {m=fun(t, n-1); return m;}

}

Principal( )

{

int a[]={11, 4, 6, 3, 8, 2, 3, 5, 9, 2};

printf ("d\n ", fun(a, 10));

}

11) Hay dos archivos de programa C T18 en el directorio (carpeta) del sistema TC al mismo tiempo. time.c y myfun.c, donde el archivo T18.c es el siguiente:

#includes

#includes "myfun.c"

main( )

{ fun(); printf(" \ n ");}

El archivo myfun.c es el siguiente:

Void Fun()

{ char s[80], c; int n = 0;

mientras((c=getchar())!= '\n')s[n]= c;

n -;

mientras(n gt;=0) printf("c ", s[n-]);

}

Cuando pasen la compilación y la conexión, cuando el programa T18 se esté ejecutando, ingrese ¡Gracias! El resultado es: _ _ _[11].

12) La función de la siguiente función fun es devolver la primera dirección de la cadena siguiente comenzando desde el carácter en el parámetro C en la cadena indicada por str. Por ejemplo, la cadena representada por str es ¡Hola! , el carácter en c es e, entonces la función devuelve la cadena: ello! primera dirección. Si la cadena a la que hace referencia str está vacía o no contiene caracteres en C, la función devuelve NULL. Por favor complete los espacios en blanco.

char *fun(char *str, char c)

{ int n = 0; char * p = str

if (p!=null)

mientras(p[n]!= c amp ampp[n]!= ' \ 0 ')n

if(p[n]=='\0 'return; NULL

return(_[12]_);

}

13) La función del siguiente programa es: generar todo dentro de 100 (excluyendo 100) Un número entero con un solo dígito de 6 que es divisible por 3. Por favor complete los espacios en blanco.

main()

{ int i, j

for(I = 0; __[13]__; i )

{ j = I * 10 6;

if(_[14]_ _ _ _ _ _ _)continuar;

printf("d ",j);

p>

}

}

14) La función de la función isprime a continuación es determinar si el parámetro formal A es un número primo. devuelve 1; en caso contrario, devuelve 0. Por favor complete los espacios en blanco.

int isprime(int a)

{ int I

for(I = 2; i lt= a/2; i)

si(a I = = 0)_ _ _[15]_ _ _;

__[16]___;

}

15 ) La función del siguiente programa es ingresar cualquier número entero en n y luego generar n líneas de gráficos de matriz de caracteres triangulares que comiencen con la letra mayúscula a. Por ejemplo, cuando se ingresa el número entero 5 (nota: n no debe ser mayor que. 10), los resultados de ejecución del programa son los siguientes:

A B C D E

F G H I

J K L

M N

O

Por favor, complete los espacios en blanco para completar el plan.

main()

{ int i, j, n; char ch = ' A

scanf("d ", ampn);

if(n lt11)

{

for(I = 1; i lt= n; i)

{ for(j = 1; j lt= n-I 1; j )

{ printf("2c ",ch);

___[17]____;

}

18

}

}

else printf("¡n es demasiado grande!\ n ");

printf( " \n ");

}

16) La función de diversión en el siguiente programa es utilizar los nodos principales en el gráfico para formar una lista enlazada unidireccional, y coloque uno o dos en el campo de datos del nodo. Una cadena de caracteres. La función de disp es mostrar y generar las cadenas de todos los nodos en una lista enlazada individualmente. Complete los espacios en blanco para completar la visualización de la función.

#Includes

Nodo de estructura Typedef/* estructura de nodo de lista vinculada*/

{ char sub[3];

nodo de estructura * next

}Node;

Node fun(char s) /*Crear una lista enlazada*/

{……}

Visualización vacía(nodo*h)

{

nodo * p;

p = h- gt

Mientras; ( 19)

{

printf("s\n ", p- gt; sub = 20}

}

<); p >Principal()

{

Nodo * hd

HD = divertido(); disp(HD); / p>

}

Respuesta

1. Preguntas de opción múltiple

1-10: DADBA DCDAC

11-20 : CCADD BBBCA

21-30: CABDD CBDDD

31-40: DBCBB CACAC

41-50: ACADB DADBA

Segundo , Complete los espacios en blanco

1, 45

2. Clase

3. Relación

4.

5 .Independiente del cuerpo

6. printf("a=d,b=d",a,b)

7, (a b gt; c) y amp amp (a c gt; b) y amp amp(b c gt; respuesta

8, 30

9, a*b*c*d*

10, 11

11, !Knut

12, p n o str n

13, I lt=9 o I

14, j3 =! 0

15. Devuelve 0

16. Devuelve 1

17. \n ")

19. p! = vacío

20. p->Entonces