Colección de citas famosas - Slogan de motivación - Septiembre de 2004 Examen Nacional de Grado en Computación Nivel 2 C Preguntas y respuestas

Septiembre de 2004 Examen Nacional de Grado en Computación Nivel 2 C Preguntas y respuestas

Hemos recopilado y clasificado las "Preguntas y respuestas del nivel 2 C del examen nacional de clasificación informática de septiembre de 2004" para su referencia. ! !

1. Preguntas de opción múltiple (1 punto por cada pregunta del 1 al 40, 2 puntos por cada pregunta del 41 al 50, ***60 puntos)

Cada una de las siguientes preguntas A), B), Entre las cuatro opciones C) y D), sólo una opción es correcta.

1.1MB es igual a

A) 1000 bytes

B) 1024 bytes

C) 1000×1000 bytes

p>

D) 1024×1024 bytes

2. El número decimal equivalente al número hexadecimal 200 es

A) 256

B) 512

C) 1024

D) 2048

3. El llamado "*computador" se refiere a

A) Único microcomputador con chip

B) Computadora de placa única

C) Computadora no equipada con ningún software

D) Computadora equipada únicamente con sistema operativo

4. Lo que puede convertir un programa fuente escrito en un lenguaje de alto nivel en un programa de destino es

A) enlazador

B) intérprete

C). compilador

p>

D) Mi programa

5. En una computadora de 64 bits, el número de bytes que ocupa una palabra es

A) 64

B) 8

C) 4

D) 1

6. En el entorno Windows, cuando se minimiza la ventana de una aplicación , el programa de aplicación

A) Continuar ejecutándose en segundo plano

B) Continuar ejecutándose en primer plano

C) Finalizar la ejecución

D) Pausar la ejecución

7. En el entorno Windows, la operación que puede realizar el movimiento de la ventana es

A) Utilice el mouse para arrastrar cualquier parte de la ventana

B) Usa el mouse para arrastrar Mover el borde de la ventana

C) Usa el mouse para arrastrar el botón de control de la ventana

D) Usa el mouse para arrastre la barra de título de la ventana

8. En el entorno Windows A continuación, la función de la tecla Imprimir Pantalla es

A) Imprimir el contenido de la ventana actual

B) Imprimir el contenido de la pantalla

C) Copiar la pantalla al portapapeles

D) Copiar la ventana actual al portapapeles

9. El protocolo de comunicación de Internet es

A) TCP/IP

B) BBS

p>

C) WWW

D) FTP

10. ¿Cuál de las siguientes afirmaciones es correcta

A) Los virus informáticos sólo infectan archivos ejecutables

B) Los virus informáticos sólo infectan archivos de texto

C) Los virus informáticos sólo se pueden propagar mediante replicación de software

D) Los virus informáticos se pueden propagar a través de Internet o leyendo Propagar escribiendo en el disco

11. Un algoritmo debe tener 5 características incluido el "determinismo". La siguiente descripción de las otras 4 características es incorrecta

A) Hay cero o más entradas

B) Hay cero o más salidas

C) Finitud

D) Viabilidad

12. ¿Cuál de las siguientes afirmaciones es correcta?

A) El programa fuente del lenguaje C puede ser ejecutar directamente sin compilación

B) Cada declaración ejecutable en lenguaje C eventualmente se convertirá en instrucciones binarias de máquina

C) El código binario compilado desde el programa fuente C se puede ejecutar directamente

D) Las funciones en el lenguaje C no se pueden compilar por separado

13. Las siguientes constantes reales que se ajustan a la sintaxis del lenguaje C son

A) 1.2E0.5

B) 3.14.159E

C) 5E -3

D) E15

14. Entre los siguientes cuatro conjuntos de identificadores definidos por el usuario, todos los legales son

A) _main incluyen sin

p>

B) If -max turbo

C) txt REAL 3COM

D) int k_2 _001

15. Si las variables en las siguientes opciones se ha definido correctamente, la declaración de asignación correcta es

A) x1=26.83

B) 1 2=x2

C) x3= 0x12

D) x4=1 2=3

16. Se proporciona la siguiente definición

int a=0; double b=1.25;

char c='A';

#define d 2

Entonces el error en la siguiente declaración es

A) a;

B)

C)

D)

17. Hay una definición: float a=2, b=4, h=3;, la siguiente expresión en lenguaje C no coincide con el resultado del cálculo algebraico:

A) (a B) *h/2

B) ( 1/2)*(a B) *h

C) (a B) *h*1/2

D) h/2* (a B)

18. Existe el siguiente programa

main(){

int x=102, y=012; p>printf("-,-\ n", x, y);

}

El resultado de salida después de la ejecución es

A) 10, 01

B) 02 , 12

C) 102, 10

D) 02, 10

19. Entre las siguientes 4 opciones , cuál no puede considerarse como una declaración

p>

A) {;}

B) a=0, b=0, c=0; > C) if(agt; 0);

D) if(b==0) m=1

20. Hay una definición: int a; , *pa=amp; a; la siguiente declaración scanf puede ser correcta. Lo que lee los datos de la variable a es

A) scanf("d",pA

B) scanf); ("d",A);

C) scanf("d", y pA); >

21. En el siguiente segmento del programa, la declaración k= agt; b? (bgt; c? 1: 0): 0; funcionalmente equivalente es

A) if ((agt; B). ) amp; amp; (bgt; C) ) k=1

B) si((agt;B) ||(bgt;C) ) k=1 más k=0; >

C) si(alt;=B) k =0

D) si

(agt; B) k=1; else if (bC) k=1; else k=0

22. Existe el siguiente programa

main(){

char k; int I;

for(i=1;ilt;3;i){

scanf("c",amp;k); /p >

cambiar(k){

caso '0': printf("otro\n");

caso '1': printf("número\n"); ") ;

}

}

}

Cuando el programa se esté ejecutando, ingresa desde el teclado: 01 y presiona Enter gt ;, después de ejecutar el programa El resultado de salida es

A) otro número

B) otro número

C) otro número otro

D) número número número

23. Existe el siguiente programa

main(){

int x=0, y=5, z= 3;

mientras (z--gt;0amp;amp;xlt;5) y=y-1

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

}

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

A) 3, 2, 0

B) 3, 2, -1

C) 4, 3, -1

D) 5, -2, -5

24. Hay es el siguiente programa

main() {

int i, s=0

for(i=1; ilt; 10; i =2) s =i 1;

printf( "d\n", s

}

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

A) La suma acumulada de los números naturales del 1 al 9

B) La suma acumulada de los números naturales del 1 al 10

C) La suma de los números impares entre los números naturales del 1 al 9

D) La suma de los números pares entre los números naturales del 1 al 10

25. Existe el siguiente programa

principal (){

int i, n=0;

for(i=2; ilt ; 5; i ){

hacer{

si(i3) continuar

n

}mientras(!i)

n

}

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

}

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

A)n=5

B)n=2

C)n=3

D)n=4

26. Si la siguiente función está definida en el programa

double myadd(double a, double B) { return (a B);}

y la coloca después de la declaración de llamada, la función debe describirse antes de llamar. La descripción incorrecta en las siguientes opciones es

A)double myadd(double a, B)doub);

le myadd(doble, doble);

C)doble myadd(doble b, doble A

D)doble myadd(doble x, doble y

);

27. Existe el siguiente programa

char fun(char x, char y){

if(x return y;

}

main(){

int a='9', b='8', c='7'

printf("c\n", fun( fun(a, B), fun(b, C) ));

}

El resultado de la ejecución del programa es

A) Función error de llamada

p>

B)8

C)9

D)7

28. Hay una definición: int n =0, *p=amp ;n, **q=amp;p; entonces, entre las siguientes opciones, la declaración de asignación correcta es

A)p=1; )*q=2;

p>

C)q=p;

D)*p=5

29. Está el siguiente programa

void f(int v, int w){

int t

t=v; p>

}

principal(){

int x=1, y=3, z=2

if(xgt;y) f(x,y);

de lo contrario si(ygt;z) f(y,z)

de lo contrario si(x,z); printf("d,d,d\n",x,y , z);

}

El resultado de salida después de la ejecución es

A) 1 , 2, 3

B) 3, 1 , 2

C) 1, 3, 2

D) 2, 3, 1

30. Existe el siguiente segmento de programa

int a[10]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, *p=amp ; a[3], b;

b=p [5];

El valor en b es

A)5

B)6

C)8

D)9

31. Existe el siguiente programa

main(){

char a[]="abcdefg", b[10]= "abcdefg";

printf("d d\n", tamaño de (A), tamaño de (B));

}

El resultado de salida después de la ejecución es

A)7 7

B)8 8

C)8 10

D)10 10

32. Existe el siguiente programa

void swap1(int c[]){

int t;

t=c[0]; c[0] =c[1];c[1]=t

}

intercambio vacío2(int c0, int c1){

int t

p>

t=c0;c;

0=c1; c1=t;

}

principal(){

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

intercambio1(A);

intercambio2(b[0], b[1]);

printf("dd d d \n", a[0], a[1], b[0], b[1]);

}

El resultado de salida es

A)5 3 5 3

B)5 3 3 5

C)3 5 3 5

D)3 5 5 3

33. Existe el siguiente programa

void sum(int *A){

a[0]=a[1]

}

p>

main(){

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

for(i=2;igt;=0;i--) suma(amp;aa[i]); aa[0]);

}

El resultado de salida después de la ejecución es

A) 4

B) 3

C) 2

D) 1

34. Existe el siguiente programa

int f(int b[][4]){

int i, j, s=0

for(j=0;jlt;4;j){

i=j; >

if(igt; 2 ) i=3-j

s =b[i][j]

}

return s; ;

}

principal(){

int a[4][4]={{1, 2, 3, 4}, {0, 2, 4, 5}, {3, 6, 9, 12}, {3, 2, 1, 0}};

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

}

p>

El resultado de salida después de la ejecución es

A) 12

B) 11

C) 18

D) 16

35. Existen las siguientes definiciones

#include

char a[10] , *b=a;

No se puede dar a una matriz La declaración para una cadena de entrada es

A)gets(A)

B)gets( a[0])

C)gets(amp; a [0]);

D)gets(B)

36. Existe el siguiente programa

main(){

char *p[10]={"abc", "aabdfg", "dcdbe", "abbd", "cd"}; /p>

printf("d\n", strlen(p[4])

}

El resultado de salida después de la ejecución es

> A)2

B)3

C )4

D)5

37. Existe el siguiente programa

int a=2;

int f(int *A) {volver

rn (*A);}

main(){

int s=0

{

int a=5;

s =f(amp;A);

}

s =f(amp;A);

printf(" d\n", s);

}

El resultado de salida después de la ejecución es

A)10

B)9

p>

C)7

D)8

38. Existe el siguiente programa

#define f(x) x* x

principal(){

int i;

i=f(4 4)/f(2 2); printf("d\ n", i);

}

El resultado de salida después de la ejecución es

A)28

B )22

C)16

D)4

39. Se proporciona la siguiente declaración

typedef struct S{ int g; char h;} T;

La siguiente afirmación es correcta

A) S se puede utilizar para definir variables de estructura

B) T se puede utilizar para definir variables de estructura

C)S es una variable de tipo struct

D)T es una variable de tipo struct S

40. Existe el siguiente programa

struct STU{

char nombre[10];

int num

}; (estructura STU C){

struct STU b={"LiSiGuo", 2042}

c=b

}

void f2(struct STU *C){

p>

struct STU b={"SunDan", 2044}

*c=b;

}

main(){

p>

struct STU a={"YangSan", 2041}, b={"WangYin", 2043}; /p>

f1(A);

f2(y B);

printf("d d\n", a.num, b.num); /p>

}

El resultado de salida después de la ejecución es

A)2041 2044

B)2041 2043

C )2042 2044

D)2042 2043

41. Existe el siguiente programa

main(){

unsigned char a, b;

a=4|3;

b= 4amp;

printf("d d\n", a, b; p>

}

El resultado de salida después de la ejecución es

A) 7 0

B) 0 7

C) 1 1

D) 43 0

42. El siguiente programa La función es generar oro en la siguiente forma

El patrón piramidal es:

*

***

*****

*******

main(){

int i, j;

for(i=1; ilt; =4; i ){

for(j=1;jlt;=4-i;j) printf(" ");

for(j=1;jlt;=_______;j) printf("*"); p>

p>

printf("\n");

}

}

El subrayado debe completarse

A) i

B) 2*i-1

C) 2*i 1

D) i 2

43. Existe el siguiente programa

void sort(int a[], int n){

int i, j, t

for; (i=0; i  for(j=i 2;j  if(a[i]}

main(){

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

sort(aa, 10);

for(i=0;ilt;10; i) printf(" d", aa[i]);

printf("\n");

}

El resultado de salida es

A) 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,

B) 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 ,

C) 9, 2, 7, 4, 5, 6, 3, 8, 1, 10,

D) 1, 10, 3, 8, 5, 6, 7, 4, 9, 2,

44. Entre los siguientes segmentos del programa, la cadena no se puede asignar correctamente (el sistema mostrará un error al compilar)

A) char s[ 10]="abcdefg";

B) char t[]="abcdefg", *s=t

C) char s[10; ]; s="abcdefg" ;

D) char s[10]; strcpy(s, "abcdefg");

45. Existen los siguientes programas

#include

main(int argc, char *argv[]){

int i, len=0

for(i=1; ; i printf("5d\n" , len);

}

El archivo ejecutable generado después de la compilación y el enlace es ex.exe. cuando se ejecuta,

ex abcd efg h3 k44

El resultado de salida después de la ejecución es

A) 14

B) 12

C) 8

D) 6

46. Existe el siguiente programa

void f(int a[], int i, int j){

int t

if(i  t=a[i]; a[i]=a[j]; a[j]=t;

f(a,i 1

, j-1);

}

}

main(){

int i, aa[5]={1). , 2, 3, 4, 5};

f(aa, 0, 4);

for(i=0;ilt;5;i) printf("d, ", aa[i]);

printf("\n");

}

El resultado de salida después de la ejecución es

A) 5, 4, 3, 2, 1,

B) 5, 2, 3, 4, 1,

C) 1, 2, 3, 4, 5 ,

D) 1, 2, 3, 4, 5,

47. Existe el siguiente programa

struct STU{

nombre de carácter [10];

int num;

int Puntuación

}; >

estructura STU s[5]={{"YangSan", 20041, 703}, {"LiSiGuo", 20042, 580}, {"wangYin", 20043, 680}, {"SunDan", 20044, 550 },

{"Penghua", 20045, 537}}, *p[5], *t;

int i, j

for( i=0 ;ilt;5;i) p[i]=amp;s[i];

for(i=0;ilt;4;i)

for( j=i 1;jlt;5;j)

if(p[i]-gt;Puntuación;p[j]-gt;Puntuación){t=p[i];p[i] =p[ j]; p[j]=t;}

printf("5d d\n", s[1].Puntuación, p[1]-gt; Puntuación

}

El resultado de salida después de la ejecución es

A) 550 550

B) 680 680

C) 580 550

D) 580 680

48. Existe el siguiente programa

#include

struct NODE{

int num;

estructura NODO *siguiente;

};

principal(){

estructura NODO *p, * q, *r;

int suma=0;

p=(struct NODE *)malloc(sizeof(struct NODE)); struct NODE *)malloc( sizeof(struct NODE));

r=(struct NODE *)malloc(sizeof(struct NODE)); ; q-gt; núm =2; r-gt; núm=3; siguiente=nULL; p>

suma =q-gt; siguiente-gt; suma =p-gt;

printf("d\n", suma

);

}

El resultado de salida después de la ejecución es

A) 3

B) 4

C) 5

D) 6

49. Existe el siguiente programa

#include

main(){

FILE * fp; int i, k=0, n=0;

fp=fopen("d1.dat", "w");

for(i=1;ilt; 4; i) fprintf(fp, "d", i);

fclose(fp);

fp=fopen("d1.dat", "r"); /p >

fscanf(fp, "dd", amp; k, amp; n); printf ("d d\n", k, n

fclose(fp); p>

}

El resultado de salida después de la ejecución es

A) 1 2

B) 123 0

C) 1 23

D) 0 0

50. Existe el siguiente programa (pista: fseek(fp, -2L*sizeof(int), SEEK_END) en el programa; la función de la declaración es hacer que la posición del puntero cambie de Mover el final del archivo hacia adelante 2*sizeof(int) bytes)

#include

main(){

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

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

for(i=0; ilt; 4; i ) fwrite(amp; a[i], sizeof(int), 1, fp);

fclose(fp);

fp=fopen("data .dat", "rb");

fseek(fp,-2L*sizeof(int).SEEK_END

fread(amp;b, sizeof(int), 1 , fp); /*Leer sizeof(int) bytes de datos del archivo en la variable b*/

fclose(fp); >

printf("d\n ", B);

}

El resultado de salida después de la ejecución es

A) 2

B) 1

C) 4

D) 3

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

Por favor, complete cada espacio en blanco. La respuesta correcta está escrita entre paréntesis.

1. La dirección de correo electrónico consta de dos partes: nombre de usuario y nombre de dominio. El separador de estas dos partes es.

2. Las redes informáticas se dividen en redes de área amplia y redes de área local, e Internet pertenece a ellas.

3. Después de ingresar al modo MS-DOS desde el entorno Windows, el comando DOS para regresar al entorno Windows es.

4. En el entorno Windows, simplemente haga clic en Opciones en el menú "Inicio" para ver la lista de documentos abiertos recientemente.

5. La velocidad de computación de una computadora se puede describir mediante MIPS. 1MIPS se refiere a la ejecución de instrucciones por segundo.

6. Se sabe que el valor del código ACSII del carácter A es 65 y el resultado de salida de la siguiente declaración es

char ch='B'

;

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

7. Existen los siguientes segmentos de declaración

int n1=10, n2=20; >

printf("" , n1.n2);

Es necesario generar los valores de n1 y n2 en el siguiente formato. Cada línea de salida comienza desde la primera columna. en los espacios en blanco.

n1=10

n2=20

8. Existe el siguiente programa

main(){

int t=1, i=5;

for(;igt;=0;i--) t*=i; t) ;

}

El resultado de salida después de la ejecución es.

9. Existe el siguiente programa

main(){

int n=0, m=1, x=2; p> si(!n) x-=1;

si(m) x-=2

si(x) x-=3

printf ("d\n", x);

}

El resultado de salida después de la ejecución es.

10. Existe el siguiente programa

#include

main(){

char ch1, ch2;

ch1=getchar(); ch2=getchar();

n1=ch1-'0'; p>

printf("d\n", n2);

}

Cuando el programa se esté ejecutando, ingrese: 12 y presione Enter gt;, y obtendrá el resultado. después de la ejecución es.

11. Existe el siguiente programa

void f(int y, int *x){y=y *x *x=*x y;}

<; p> main(){

int x=2, y=4;

f(y, amp; x); n" , x, y);

}

El resultado de salida después de la ejecución es.

12. La función de la función fun es calcular xn

double fun(double x, int n){

int i;

p>

for(i=1;ilt;=n;i) y=y*x

return y

}

Principal Se han definido correctamente las variables m, a y b y se les han asignado valores en la función, y se ha llamado a la función divertida para calcular: m=a4 b4-(a B) 3. La declaración de llamada de función para implementar este cálculo es.

13. La función de la siguiente función de rotación es transponer la matriz A con n filas y n columnas en A', por ejemplo:

1 2 3 4 1 5 9 13

5 6 7 8 2 6 10 14

Cuando A= 9 10 11 12, entonces A'= 3 7 11 15

13 14 15 16 4 8 12 16

Por favor, complete los espacios en blanco

#define N 4

void rotate(int a[][N]){

int i, j, t;

for(i=0;i  for(j=0;;j){

 t=a[i][j];

;

a[j][i]=t

}

}

14. La siguiente función sstrcpy() implementa la copia de cadena de caracteres, es decir, copia la cadena señalada por t en el espacio de memoria señalado por s para formar una nueva cadena s

void sstrcpy(char *s, char. *t){ mientras( *s =); }

main(){

char str1[100], str2[]="abcdefgh"; >sstrcpy(str1, str2 );

printf("s\n", str1);

}

15. El resultado de ejecutar el siguiente programa. es:

#include

char *ss(char *s){ return s strlen(s)/2;}

main(){

char *p , *str="abcdefgh";

p=ss(cadena); printf("s\n",p); /p>

16. El resultado del siguiente programa es:

int f( int a[], int n){

if(ngt; 1) devuelve un [0] f(amp; a[ 1], n-1);

else devuelve a[0];

}

main(){

int aa [3]={1, 2, 3}, s;

s=f(amp; aa[0], 3); ", s);

}

17. En el siguiente programa, se asignan tres unidades de memoria dinámica de tipo doble al puntero p. Complete los espacios en blanco.

#include

main (){

doble *p

p=(doble *) malloc(); p>

p>

p[0]=1.5; p[1]=2.5; p[2]=3.5

printf("fff\n", p[0] , p[1] , p[2]);

}

18. El resultado del siguiente programa es

# include

typedef struct Student{

char name[10];

sno largo;

puntuación flotante

}STU; /p>

main(){

STU a={"zhangsan", 2001, 95}, b={"Shangxian", 2002, 90}, c={"Anhua", 2003 , 95}, d, *p=amp;d;d=a;

if(strcmp(a.nombre, b.nombre)gt;0) d=b; >if(strcmp(c .nombre, d.nombre)gt; 0) d=c

printf("lds\n", d.sno, p-gt;nombre

}

19. La función de la siguiente función de suma es calcular la suma de la siguiente serie.

S=1xx2/2!

doble suma(doble x, int n){

int i; doble a, b, s

; (i=1;ilt;=n;i){a=a*x; b=b*i; s=s a/b }

devuelve

}