La Red de Conocimientos Pedagógicos - Currículum vitae - Banco de preguntas en lenguaje C, envíeme una copia

Banco de preguntas en lenguaje C, envíeme una copia

Preguntas de opción múltiple

1. La afirmación correcta a continuación es (1). ​

A. Si e1 y e2 son variables y e es una expresión, entonces

e1=e2=e hace que tanto e1 como e2 tengan el valor de la expresión e.

B. Las variables con el mismo nombre que los nombres de las funciones de la biblioteca no se pueden definir en el programa.

C. Un programa fuente en C se puede colocar en varios archivos, pero una función no se puede colocar en dos archivos diferentes.

D. El sistema de compilación en lenguaje C compila programas fuente en unidades funcionales.

2. Si a, b y c son todas variables reales, es posible que no se obtengan los resultados de cálculo correctos en las siguientes declaraciones excepto (2).

A. if(b*b-4*a*c==0) x1=x2=-b/(2*a ​​

else x1=(-b+sqrt(b*b-); 4* a*c))/(2*a), x2=(-b-sqrt(b*b-4*a*c))/(2*a);

B. b=2.0e38+1.0-2.0e38;

C. a=456*768/2;

D. doble definición=1.0;

3. La constante correcta a continuación es (3).

A. '077' B. '\0x89' C. 3,14uD. ‘\012’

4. Si se ha declarado "float x= -1234.5678; int m, n=4;", ejecute la instrucción "m=printf("\n%8.3f\n",x)/n;".

El valor de la variable m es (4).

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

5. Si se ha declarado "int x1; float x2; long x3; char x4;" y todas las siguientes opciones aparecen en la declaración de cambio, ¿cuál es la correcta?

(5).

A. caso 1.1: scanf("%d",&x1);break;

B. caso 1+2: scanf("%f",&x2 descanso;

C.); caso 'x':

caso 'y'-1: scanf("%ld",&x3);

D. caso x4: scanf("%c",&x4 descanso;

6.); 33. Entre las siguientes expresiones, (6) se puede utilizar como expresión condicional de juicio e en la "declaración if (e)".

A. x==++(x+1)B. x++=++x||x++C. x+1=zD. x%2.0!=0

7. Entre las siguientes declaraciones de variables locales, la correcta es (7).

A. int x=0, vacío=1; intx=1,y=2x;

C. intx=2,y=sqrt(x); int x=sqrt(y),y=4

8. En las siguientes afirmaciones, (8) es correcta.

A. si(a>b)m=a;n=b;si no m=b;n=a;

B. if(a>b){m=a;n=b;else m=b;n=a;}

C. si(a>b)m=a,n=b;si no m=b,n=a;

D. if(a>b){m=a;n=b;}else(a<=b){m=b;n=a;}

9.24. Se sabe que hay una declaración: "char c='1'; int x=300; float t=35000; double d=3.1234567e10;", luego las siguientes expresiones

excepto (9) Al evaluar, los resultados pueden ser inexactos.

A. x=t/cB. t=d/xC. t=d/1e5f D. t=x+c

10. Si se declara "int i,k=1; unsigned j;", se producirá un bucle infinito cuando se ejecuten las siguientes declaraciones

Sí (10).

A. for(j=15;j>0;j-=2) k++;

B. for(j=0;j<15;j+=2) k++

C. for(i=0;i<15;i+=2) k++;

D. for(i=15;i>0;i-=2) k++;

11. Se ha declarado que "int x=2,y=1,z=0;", el valor de la siguiente expresión no es 0 (11).

A. x==(x=0,y=1,z=2)

B.z>y>x

C. y==1

D.x>(y=2)

12. Si e1, e2 y e3 son expresiones, la declaración funcionalmente equivalente en las siguientes opciones a la declaración while(e1){e2,e3;} es (12).

A. para(;e1;e3)e2; para (;e1;e2)e3; para(e1;e2;e3); para (e1; e2, e3;

13.); "int x=3;" ha sido declarado. La expresión en las siguientes opciones que no es funcionalmente equivalente a "x+=x =x+1" es (13).

A. x=x+(x=xx+1) B. x=x+(x=x(x+1)) C. x=x+(x=xx1)D. x=x(x+1), x=x+x

14. Si se ha declarado "int a=2;", el resultado de salida después de ejecutar la declaración "printf("%d", a, a+1);"

A. Error gramatical b. 2,3 C. 2D. 3

15. "!n" en la declaración "if (!n) n++;" es equivalente a la determinación de la siguiente condición (15).

A. n==0 B. n!=0C. n>0D. n<0

16. Si se ha declarado "int a=1;", el error en la siguiente expresión es (16).

A. -a++ B. +a-- C. --un D. ++-a

17. La siguiente (17) expresión en lenguaje C puede expresar correctamente la fórmula de cálculo matemático 1÷×2xy.

A. 1/sqrt(2*3.14)*2*pow(x,y) B. 1.0/sqrt(2)*2*x**y

C. 1,0/sqrt(6,28)*2x^y D. 1/6.28^0.5*2*pow(x,y)

18. "int a=3,b=3,c=2;" ha sido declarado y el valor de la siguiente expresión es 0 Sí(18).

A. !a&&!b&&c B. !a || !b || a==b&&b>=c D. a>=b &&b>c

19

36. Si hay: int w=1, x=2, y=3, z=4 entonces el valor de la expresión w>x?x--:y

A. 4B. 3C. 2D. 1

20. Se sabe que existe el siguiente fragmento en un determinado programa:

#define p 2.5

main()

{ float x =p;

}

Entonces el identificador p en la función principal representa a (20).

A. variable de tipo flotante B. variable de tipo doble C. flotador constante D. Constante de tipo doble

20.

Rellena los espacios en blanco

1.21. Existe el siguiente segmento de programa:

int a=2, b, c=5

scanf( “%d” , &b)

b; = c-- || scanf (“%d”, &c) && a++;

Al ejecutar este segmento del programa, si la entrada de datos desde el teclado es 4?3 (? representa la barra espaciadora), entonces la variable El valor de c es (21).

2. firmado y sin firmar solo se pueden usar para declarar variables de tipo int y variables de tipo (22).

3. La expresión en lenguaje C de la expresión algebraica "||" es (23).

4. Se ha declarado "int a=-13,n=7;" y el valor de la variable a es (24) después de evaluar la expresión "a%=n%=4".

5. "unsigned int a=30;" ha sido declarado, entonces el valor de –a es ___(25)____.

6.

El resultado después de ejecutar el siguiente programa es ____(26)____.

#include

principal ( )

{

int i=1,m=0; p>

cambiar ( i )

{

caso 1 :

caso 2 : m++;

caso 3 : m++ ;

}

printf (“%d”,m);

}

7. Entre los tres operadores lógicos (!, &&, ||) en lenguaje C, el que tiene mayor prioridad que los operadores aritméticos es

(27).

8. Se sabe que el valor de sizeof (int) es 2 y el resultado de salida después de ejecutar el siguiente programa es (28).

main()

{ int a,b;

a=65536;

b=32767+1;

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

}

9. Si se declara "int a=3,b=0,c=5;", el valor de la expresión !a+b+c-1&&b+c/2 es (29).

10. Si se declara "int x=1,y=2;", el valor de la expresión ++x, x+y++ es (30).

3. Preguntas del programa de lectura

1. La salida luego de ejecutar el siguiente programa en el TC de la PC es: (31).

main()

{

unsigned x=0x7f39;

int y;

char c;

c=x;

x+=0307;

y=x;

printf(“%d,%x,% c”,x,y,c);

}

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

#include

main ( )

{ int x=30, y=45;

while( x!=y)

if(x>y)x-=y;

else y-=x;

printf("%d", x);

}

3.

Después de ejecutar el siguiente programa, la primera línea del resultado de salida es (33) y la segunda línea es (34).

#include

#include

void main()

{ int a= 0x65,b,c,count=0;

b=a;

mientras(b>0)

{ b=b/8; p>

contar++;

}

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

while(cuenta>0)

{ c=pow(8,count-1);

printf("%d",a/c);

a=a%c;

p>

cuenta--;

}

}

4. El resultado de salida cuando se ejecuta el siguiente programa es (35).

#include

main()

{

int i,x=3,y=5;

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

cambiar(y%x)

{

caso 0: printf("%d",y);

caso 1: printf("%d",y--);break;

caso 2: printf("%d" ,--y);romper;

}

}

5. Después de ejecutar el siguiente programa, la primera línea del resultado de salida es (36) y la segunda línea es _(37)______.

#define N 100

main()

{ int i=0,sum=0;

hacer

{ if(i==(i/2)*2)

continuar;

suma++;

if(sum>3)

descanso;

}mientras(++i

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

}

4. Mejorar las cuestiones procesales

1. La función del siguiente programa es determinar si 2m -1 es un número primo basándose en el número entero m ingresado desde el teclado. Si es un número primo, entonces encuentre el número inverso de 2m -1. Por ejemplo: m es 17, 217 –1 (131071) es un número primo y su inverso es 170131.

#include

(38)

main()

{

int m,j;

largo q,k1,k2=0,k3;

scanf("%d",&m);

k3=k1= pow(2,m)-1;

q=sqrt(k1);

for(j=2;j<=q;j++)

if((39)) romper; 

if(j>q)

{ while(k3>0)

{ k2=k2*1 ( 40);

k3/=10;

}

printf("m=%d\npow(2,m)-1=%ld es un primo.\norden inverso %ld\n",m,k1,k2);

}

else

printf("m=%d es No es primo.\n",m);

}

2. El siguiente programa encuentra y genera todos los números enteros decimales positivos de cuatro dígitos que satisfacen las condiciones dadas: el número es el cuadrado de un número, los dos últimos dígitos del número son 25 y dos de los dígitos que forman el número entero son 2 . Por ejemplo: 1225 es un número entero positivo de cuatro dígitos que cumple las condiciones dadas (352=1225).

#include

#include

main()

{ largo i,j ,s,d=0;

for(i=1000;i<10000;i++)

{ (41)

j= (42)

if(i==j*j && i%100==25)

{ s=i;

mientras(s>0)

{ si( (43) )d++

s=s/10;

}

si(d==2) printf("\n %d",i);

}

}

}

3. .El siguiente programa calcula el valor aproximado de la expansión de la siguiente función matemática. La operación de acumulación se detiene cuando el valor absoluto del último término es menor que 10-6.

Cuando el programa se está ejecutando, tres números reales: 1,0, 0,5 y 1,0 se muestran en el teclado como el valor de x.

#include

#include

#define EPS 1.0e-6

principal ()

{ double x,n,tn,ft,sn,xn;

int i;

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

{ (44);

ft=1.0;

scanf("%lf",&x);

sn =xn=x;

hacer{

xn=xn*x*x;

ft=ft*(2*n-3)/(2 *n-2);

tn=ft*xn/ (45);

sn=sn+tn;

n=n+1;

}mientras( (46) );

printf("f(%lf)=%0.6lf\n",x,sn);

}

}

Hoja de respuestas del examen "Programación en lenguaje C"

(La puntuación total de este examen es 100 puntos)

Departamento _____________ ID del estudiante_____________Nombre_____________Grado____________

Puntuación de las preguntas de opción única Puntuación de las preguntas para completar espacios en blanco Puntuación de las preguntas del programa de lectura Puntuación de las preguntas del programa de mejora Puntuación total

1. preguntas de elección

p>

(1) (2) (3) (4) (5)

(6) (7) (8) (9) (10)

( 11) (12) (13) (14) (15)

(16) (17) (18) (19) (20)

2 Rellena los espacios en blanco

(21) (22)

(23) (24)

(25) (26)

(27) (28)

(29) (30)

3. Preguntas del programa de lectura

(31) (32)

(33) (34)

(35) (36)

(37

4. Mejorar cuestiones de procedimiento

( 38) (39)

(40) (41)

(42) (43)

(44) (45)

(46)

Respuestas de referencia al examen "Programación en lenguaje C"

(La puntuación total de este examen es 100 puntos)

1. Preguntas de opción múltiple

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

(6)B (7)C (8)C ( 9)D (10)A

( 11)C (12)A (13)A (14)C (15)A

(16)D (17)A ( 18)A (19)B (20)D

2. Completa los espacios en blanco

(21) 4 (22) char

(23) fabs (exp(sqrt(1+sin(x)))) (24) -1

(25) 65506 (26) 2

(27) ! 32768

(29) 1 (30) 4

3. Preguntas del programa de lectura

(31) -32768, 8000, 9 (32) 15

(33) 3 (34) 145

(35) 4433 (36) 4

(37

) 7

4. Mejorar las preguntas del programa

(38) #include (39) k1%j==0

(40 ) k3%10 (41) d=0

(42) sqrt(i) (43) s%10==2

(44) n=2.0 (45) ( 2 *n-1)

(46) fabs(tn)>EPS