¡Buscando preguntas del examen de nivel dos de computadora en lenguaje C 11 de Chongqing 2009!

1. Preguntas de opción múltiple ((1) ~ (40) 1, (41) ~ (55) 2, * * * * 60)

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

(1)El número decimal máximo que se puede representar mediante un número binario sin signo de 8 bits es

a)127 B)128 C)255D)256

(2 ) En una microcomputadora de alta gama de 64 bits, el número de dígitos binarios que ocupa una longitud de palabra es

A) 8 B) 16 C) 32 D) 64

(3) En entorno Windows, para copiar un objeto, debe mantenerlo presionado mientras lo arrastra con el mouse.

A) Tecla Alt B) Tecla Esc C) Tecla Mayús D) Tecla Ctrl

(4) En el menú de la ventana, un elemento de comando tenue (gris) representa el comando.

a) No disponible temporalmente b) En ejecución c) Contiene el siguiente menú d) Contiene un cuadro de diálogo.

(5) En un entorno DOS, para obtener la información de ayuda del comando TYPE, el comando DOS correcto es

a) tipo B) tipo /H C) tipo / *D) escriba /?

(6) Entre las siguientes opciones, las que se pueden utilizar como nombres de archivos DOS legales son

A) ANP/A.DAT B) ABCCOM C) ECD. Básico D) XY+Z.TXT

(7) Las siguientes afirmaciones son correctas.

a) En el entorno Windows, las ventanas maximizadas no se pueden mover.

b) En un entorno Windows, después de minimizar la ventana de la aplicación, se suspende la ejecución de la aplicación.

c) En un entorno Windows, sólo se pueden cerrar ventanas minimizadas.

d) En entorno Windows, la ventana maximizada no se puede cerrar.

(8) En el entorno Windows, el botón copiar en la barra de herramientas es

a) icono de impresora b) signo de tijeras c) signo de copiar d) signo de pegar

(9) En el entorno Windows98, si desea guardar el contenido que se muestra en toda la pantalla en el portapapeles, puede presionar.

a) Ctrl + tecla imprimir pantalla b) alt + tecla imprimir pantalla.

c)Mayús+tecla Imprimir pantalla D)Tecla Imprimir pantalla

(10)Actualmente, la forma más rápida de propagar virus informáticos es

a) Copiar software b) Difundir a través de la red

c) Ejecutar el software del juego mediante pruebas de disco d)

(11) Las siguientes afirmaciones son correctas

A) C Es mejor que el idioma de los demás.

B) El lenguaje C puede ser reconocido y ejecutado por computadoras sin necesidad de compilación.

C) El lenguaje C utiliza un lenguaje natural y un lenguaje matemático cercano a los países de habla inglesa como forma de expresión lingüística.

D) El lenguaje C apareció en último lugar y tiene todas las ventajas de otros lenguajes.

(12) Las tres estructuras básicas utilizadas en la programación estructurada en lenguaje C son

a) estructura secuencial, estructura de selección, estructura de bucle B) if, switch, break.

C) for, while, do- while D) if, for, continue

(13) En programa C

a) Debe aparecer la función principal Antes de todas las funciones b) La función principal puede aparecer en cualquier lugar.

c) La función principal debe aparecer después de todas las funciones d) La función principal debe aparecer en una ubicación fija.

(14) Las siguientes afirmaciones son correctas

a) Existen tanto tipos lógicos como tipos de conjuntos en lenguaje C.

b) No existen tipos lógicos en lenguaje C, solo tipos de colección.

C) Hay tipos lógicos pero no tipos de colección en el lenguaje C.

d) No existen tipos lógicos ni tipos de colección en el lenguaje C.

(15) Las siguientes afirmaciones sobre los identificadores de usuario en lenguaje C son correctas.

Los identificadores de usuario se pueden subrayar y subrayar (signo menos).

Los identificadores de usuario no se pueden subrayar, pero sí.

Los guiones bajos pueden aparecer en los identificadores de usuario, pero no pueden colocarse al principio de los identificadores de usuario.

Los identificadores de usuario pueden aparecer en guiones bajos y números, los cuales pueden colocarse al principio del identificador de usuario.

(16) Si existe el siguiente segmento de programa (n es un número octal)

int m=32767, n=032767

printf("% d, %o/n ", m, n);

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

A) 32767, 32767

32767, 77777 D) 32767, 077777

(17) La siguiente afirmación sobre el operador monocular++ es correcta.

a) Sus operandos pueden ser cualquier variable y constante.

b) Sus operandos pueden ser variables de tipo char y variables de tipo int, pero no pueden ser variables de tipo float.

c) Sus operandos pueden ser variables int, pero no variables double ni variables float.

d) Sus operandos pueden ser variables char, variables int y variables float.

(18) Si existe el siguiente segmento de programa,

int m=0xabc, n = 0xabc

m-= n; p> printf("%X\n ", m);

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

A) 0X0 B) 0x0 C) 0 D) 0XABC

(19) tiene el siguiente segmento de programa.

int m=0, n = 0; char c = ' a

scanf("%d%c%d ",&m &c,&n); >

printf("%d,%c,%d\n ",m,c,n);

Si ingresa: 10A10 desde el teclado, el resultado de salida es:

A)10 A, 10 B)10 A, 10 C)10 A, 0D)10 A, 0

(20) tiene el siguiente programa

Main( )

{ int I

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

Interruptor (1)

{ caso 1 : printf("%d ",I);

Caso 2: printf("%d ",I);

Valor predeterminado: printf("%d ",I ) ;

}

}

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

a)011122 B)012 C)012020D)120

p>

(21) tiene los siguientes procedimientos.

main()

{ int i=1, j=1, k = 2

if((j++‖k++))& amp;& ampi++) printf("%d,%d,%d\n ",I,j,k);

}

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

A) 1, 1, 2 B) 2, 2, 1 C) 2, 2, 2 D) 2, 2, 3

(22) tiene el siguiente programa

main()

{ int a=5, b=4, c=3, d = 2;

if (a & gtb & gtc)

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

si no((c-1 & gt;=d)==1)

printf("%d\ n ", d+1);

Otros

printf("%d\n ", d+2)

}

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

A) 2 B) 3 C) 4 D) Se produjo un error durante la compilación y no hubo resultado.

(23) tiene el siguiente programa

main()

{ int p[7]={11, 13, 14, 15, 16, 17 , 18}, i=0, k = 0;

mientras(i& lt7 & amp& ampp[I]% 2){ k = k+p[I]; p>printf("%d\n ",k);

}

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

58 B) 56 C) 45 D ) 24

(24) tiene el siguiente programa

main()

{ int i=0, s = 0;

Haz {

if(I % 2){ i++;continue;}

i++;

s+= I;

} mientras ( I & lt; 7);

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

}

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

a)16 B)12 C)28D)21

(25) tiene el siguiente programa

main()

{ int i =10 , j = 1;

printf("%d, %d\n ", i -, ++ j

}

Después ejecución El resultado de salida es

A) 9, 2 B) 10, 2 C) 9, 1 D) 10, 1

(26) tiene el siguiente programa

principal()

{ char a, b, c, * d

a = "\" b = ' \xbc

c; = ' \ 0xabd = " \ 017 ";

print("%c%c%c\n ", a, b, c, * d

}

Se produjo un error durante la compilación. Las siguientes afirmaciones son correctas.

a) Sólo hay uno en el programa = '\'; declaración incorrecta b) b = '\xbc'; Declaración incorrecta d) a = ' \ '; y c = ' \ 0xab Ninguna de estas declaraciones es correcta

(27) Existe el siguiente programa

int fl(int x, int y)

{ return x & gty? x:y;}

int f2(int x, int y)

{ return x & gty? y:x;}

main()

{ int a=4, b=3, c=5, d, e, f;

d =f1(a, b); d=f1(d, c);

e=f2(a, b); = a+b+c-d-e;

printf("%d,%d,%d\n ",d,f,e);

}

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

A) 3, 4, 5 B) 5, 3, 4 C) 5, 4, 3 D) 3, 5, 4

( 28) Existe el siguiente programa

void f(int x, int y)

{ int t;

if(x)

principal()

{ int a=4, b=3, c = 5

f(a, b); , c );

printf("%d, %d, %d\n ", a, b, c

}

Salida después ejecución El resultado es

A) 3, 4, 5 B) 5, 3, 4 C) 5, 4, 3 D) 4, 3, 5

(29) Si existen las siguientes definiciones y declaraciones,

#includes

int a=4, b=3, *p, *q, *w;

p = & ampa q = & ampb; w = q; q = NULL

La declaración incorrecta en las siguientes opciones es

a)* q = b)w = p; ; c)* p = a; d)* p = * w;

(30) tiene el siguiente programa

int *f(int *x, int *y)

{ if(* x & lt; *y)

Devuelve x;

Otro

Devuelve y;

}

Principal()

{ int a=7, b=8, *p, *q, * r };

}

Ejecutar La salida final es

A) 7,8,8 B) 7,8,7 C) 8,7,7 D) 8,7,8

(31) Existen los siguientes procedimientos.

Principal()

{ char *s[]={ "一", "二", "三" }, * p

p = s[1];

printf("%c,%s\n",*(p+1),s[0]);

}

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

A) n, dos B) t, uno C) w, uno D) o, dos

(32) tiene el siguiente programa

Principal()

{ int x[8]={8, 7, 6, 5, 0, 0}, * s; +3

printf("%d\n ", s[2]);

}

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

a) Valor aleatorio B) 0 C) 5 D) 6

(33) El valor inicial que puede definir correctamente el array y asignar el valor correctamente en las siguientes declaraciones es

A) int N =5, b[N][N]; ][]={ {1, 2}, {3, 4 } }; D) int d[3][2]={{1, 2}, { 34 } }; ) tiene el siguiente programa

Main()

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

int i,j,k = 2;

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

{ printf("%d ",m [k][ I]);}

}

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

A) 4 5 6 B) 2 5 8 C) 3 6 9 D) 7 8 9

(35) 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.

#Definición número 10

void arrin(int x[N])

{ int I = 0;

mientras(i scanf("%d ",);

}

Lo que se debe completar en el subrayado es

a)x+I B)& amp;x[ I+ 1]C)x+(i++)D)& x[++i]

(36) tiene el siguiente programa

main()

{ char s[]= " \ n 123 \ \ ";

printf("%d, %d\n ", strlen(s), tamaño de(s)); }

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

a) La cadena con el valor inicial es incorrecta; b) 6.7 C) 5.6D) 6.6.

(37) Lea la siguiente función

Diversión (char *s1, char *s2)

{ int I = 0

mientras(s 1[I]= = S2[I]& amp;& amps2[i]!= ' \ 0 ')i++;

return(s 1[I]= = & amp; &s2{i}! =='\0');

}

La función de esta función es

a) Asigna la cadena representada por s2 a s1.

b) Compara los tamaños de las cadenas indicadas por s1 y s2. Si s1 es mayor que s2, el valor de la función es 1; de lo contrario, el valor de la función es 0.

c) Compare si las cadenas indicadas por s1 y s2 son iguales. Si son iguales, el valor de la función es 1, de lo contrario el valor de la función es 0.

d) Compare las longitudes de las cadenas representadas por s1 y s2. Si s1 es más largo que s2, el valor de la función es 1; de lo contrario, el valor de la función es 0.

(38)La siguiente afirmación es correcta.

a) El alcance de las variables globales debe ser mayor que el alcance de las variables locales.

b) La vida útil de las variables de categoría estática se ejecuta durante todo el programa.

c) Los parámetros formales de la función pertenecen a variables globales.

d) Los valores iniciales de las variables automáticas y las variables estáticas a las que no se les asignan valores iniciales en la declaración de definición son valores aleatorios.

(39) proporciona las siguientes instrucciones.

estructura typedef

{ int n; char c; double x; STD

En las siguientes opciones, puede definir correctamente la matriz de estructura y asignar la valor inicial La declaración es

A) STD tt[2]={{1,'A',62},{2,'B',75}};

B ) STD tt [2]={1,"A",62},2,"B",75};

c) Estructura tt[2]={{1,'A'}, {2, ' B ' } }

D)structtt[2]={{1, " A ", 62.5}, {2, " B ", 75.0 } }

(40 ) tiene el siguiente programa

main()

{ union { unsigned int n

carácter sin firmar

} u 1 ;

ul.c = ' A

printf("%c\n ",u 1 . n);

}

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

A) Error de sintaxis b) Valor aleatorio C) A) D) 65

(41) Existe el siguiente programa.

main()

{ char str[]="xyz ", * ps = str

Y (*)ps++;

for(PS-;PS-str>=0;ps -) put option(PS);

}

La salida después de la ejecución es

A) yz B) z C) z D) x

xyz yz yz xy

xyz

(42) tiene el siguiente programa

main()

{ int a[][3]={{1, 2, 3}, {4, 5, 0}}, {*pa}[3], I; /p>

pa = a;

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

si (i<2)pa[1][I] = pa[1] [I]-1;

else pa[1][I]= 1;

printf("%d\n ",a[0][ 1]+a[ 1][1]+a[1][2]);

}

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

A) 7 B) 6 C ) 8 D) No existe un valor definido.

(43) tiene el siguiente programa

void fun(int *a, int i, int j)

{ int t;

if(I { t = a[I]; a[I]= a[j]; a[j]= t;

fun(a,++i,-j);

p>

}

}

principal()

{ int a[]={1, 2, 3, 4, 5 , 6} , I;

Diversión (a, 0, 5)

for (I = 0; i<6;i++)

printf("%d " , a[I]);

}

La salida después de la ejecución es

a)6 5 4 3 2 1 B)4 3 2 1 5 6 C)4 5 6 1 2 3D)1 2 3 4 5 6

(44) Existe el siguiente programa

main(int arge, char *argv[])

{ int n, I = 0

mientras(arv[1][i]!='\0'

{ n = diversión(); i++; }

printf(%d\n ", n * argc);

}

int fun()

{ static int s = 0;

s+= 1;

Return s;

}

Supongamos que el programa está compilado y vinculado. para generar un archivo ejecutable exam.exe, si escribe la siguiente línea de comando

Examen 123<Enter>

El resultado de la ejecución es

A) 6 B ) 8 C. )3 D)4)

(45) En el siguiente segmento del programa, al llamar a la función divertida, la variable puntero p en la función principal puede apuntar a una unidad entera legal

a) Principal () B) Principal

{ int * p; { int * p

Diversión (p); >

}

}

int fun(int *p)

{ int s; = & amps ;}

c)#contiene D)#contiene

main()main()

{ int * p;

Diversión (&p); diversión (p);

} }

Fondo Internacional (Internacional**p)Fondo Internacional (Internacional*p)

{ * p =(int *)malloc(2);} { p=(int *)malloc(sizeo(int)). }

(46) Para especificar un nombre de tipo STP de modo que la declaración de definición STP s sea equivalente a char *s, las siguientes opciones son correctas.

a)typedef STP char * s; b) typedef * char STP;

c) typedef STP * char; (47) tiene la siguiente definición

Estructura ss

{ char name[10];

int age

Sexo encantador;

}std[3], * p = std

La siguiente declaración de entrada es incorrecta

A) scanf("%d ", & amp(* p ). edad); B) scanf ("%s", & nombre estándar);

C) scanf ("%c", & estándar [0].

sex) D) scanf("%c ", & amp(p->;sex));

(48) Supongamos que el valor en la variable char X es 1010111, entonces la expresión (2+x) El valor de (~ 3) es

a)10101001 B)10101000 C)1111111111D)01638

(49) Las siguientes afirmaciones son incorrectas.

a) Los archivos de texto en lenguaje C almacenan datos en forma de código ASC.

b) Se accede a los archivos binarios en lenguaje C más rápido que a los archivos de texto.

C) En lenguaje C, la lectura y escritura aleatorias no son adecuadas para archivos de texto.

d) En lenguaje C, la lectura y escritura secuencial no se aplica a archivos binarios.

(50) El siguiente programa intenta enviar los caracteres ingresados ​​desde la terminal a un archivo llamado abc.txt y finaliza las operaciones de entrada y salida hasta que se lee el carácter # desde la terminal, pero el programa es equivocado.

#includes

main()

{ ARCHIVO * foutchar ch

fout=fopen('abc.txt ', ' w ');

ch = fgetc(stdin);

And (ch!='#')

{ fputc(ch, fout);

p>

ch = fgetc(stdin);

}

fclose(fout);

}

Causa del error Sí

a) La función fopen se llama incorrectamente b) El archivo de entrada no está cerrado.

c) La función fgetc se llama en forma incorrecta d) El puntero del archivo stdin no está definido.

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

Escriba la respuesta correcta en cada una de las líneas horizontales numeradas del 1 al 20 en el hoja de respuestas En el espacio en blanco, la respuesta no se calificará en la prueba.

(1) Numerados por dirección de byte en memoria de dibujo hexadecimal. Si el número de dirección es de 000 a FFFF, la capacidad de memoria es de 1 KB.

(2) Supongamos que hay dos archivos A.TXT y B.TXT en el directorio actual del disco actual. Ahora el archivo B.TXT debe fusionarse y conectarse a la parte posterior del archivo a. .txt Si usa el comando COPIAR, el comando completo es 2.

(3) La dirección de correo electrónico consta del usuario y el nombre de dominio, y el separador entre las dos partes es 3.

(4) Supongamos que hay un programa ejecutable USER.EXE en el directorio actual del disco actual. Ahora, se va a ejecutar el programa y la información del resultado mostrado y la salida deben almacenarse en el archivo OUT. DAT es el directorio actual del disco actual, por lo que el comando completo de DOS es 4.

(5) En un entorno DOS, el nombre del archivo del dispositivo que representa la impresora es 5.

(6) Si hay una declaración

int i=-19, j = I % 4;

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

El resultado de salida es 6.

(7) Si hay un programa,

main()

{ int i, j

scanf("i; =% d,j = % d ";&i&j);

printf("i=%d,j=%d\n ",I,j);

}

Para asignar 10 a I y 20 a J, debes ingresar 7 desde el teclado.

(8) Si existe el siguiente programa

main()

{ int p, a = 5

If ( p= a! =0)

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

Otros

printf("%d\n ", p+ 2);

}

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

(9) Si existe el siguiente programa

main()

{ int a=4, b=3, c=5, t = 0 ;

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

}

Después ejecución El resultado es 9.

(10) Si el siguiente procedimiento está disponible,

main()

{ int a[4][4]= {{1, 2, -3, -4}, {0, -12, -13, 14}, {-21, 23, 0, -24}, {-31, 32, -33, 0 } };

int i,j,s = 0;

for(I = 0;i<4;i++)

{ for(j = 0;j<4; j++ )

{ if(a[I][j]<0)continuar;

if(a[i][j]==0)break;

p>

s+= a[I][j];

}

}

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

}

La salida después de la ejecución es 10.

(11) Si el siguiente programa está disponible,

main()

p>

{ char a;

A = ' H '-' A '+' 0 ';

Imprimir(" %c\n ", a );

}

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

(12) Si el siguiente programa está disponible,

int f(int x, int y)

{ return(y-x)* x;}

main()

{ int a=3, b=4 , c=5, d;

d=f(f(3,4),f(3,5));

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

}

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

(13) La función de Yang Hui es asignar los datos del triángulo de Yang Hui a la parte inferior. la mitad de la matriz bidimensional La forma es la siguiente

1

1 1

1 2 1

1 3 1.

1 4 6 4 1

Su regla de composición es:

Los elementos de la columna 0 y la diagonal principal son todos 1.

Los elementos restantes están en la parte superior izquierda. La suma de las esquinas y los elementos directamente encima de ellas

La cantidad de datos en cada fila se incrementa en 1.

#. Definición N 6

p>

void Yang Hui(int *[N][N])

{ int i, j;

x[0][ 0]=1

for(I = 1; I { x[I][0]= 13 = 1;

for(j = 1; j x[I][j ]= 14;

}

}

(14) La función de la siguiente función es eliminar todos los caracteres numéricos en la cadena s. los espacios en blanco.

Eliminación no válida (carácter)

{ int n=0, I

for(i=0, s[I]; i++)

Si (15)

s[n++]= s[I];

s[n]= 16;

}

(15) Defina la función findbig para encontrar el valor máximo de tres números. El siguiente programa utilizará un puntero de función para llamar a la función findbig. Por favor complete los espacios en blanco.

main()

{ int findbig(int, int, int

int (*f)(), x, yz, z, grande);

f = 17;

scanf("%d%d%d ", & ampx & amp;y & amp;z); (*f)(x,y,z);

printf("bing=%d\n ",grande);

}

(16 )La salida del siguiente programa es 18.

#Definir MCRA(m)2*m

#Definir MCRB(n, m) 2*MCRA(n)+m

Principal()

{ int i=2, j = 3;

printf("%d\n ", MCRB(j, MCRA(I))); }

(17) tiene la siguiente definición

Estructura ss

{ int info estructura ss *link }x, y, z

;

Y estableció una estructura de lista vinculada como se muestra a continuación:

□□ →□□→□□

X Y Z

Escriba una declaración de asignación para eliminar punto y 19.

(18) Hay un archivo de texto test.txt, el contenido es: ¡Hola a todos! . En el siguiente programa, el archivo test.txt se ha abierto correctamente para su "lectura". Si el puntero del archivo fr ​​apunta al archivo, el resultado de salida del programa es 20.

#Includes

main()

{ ARCHIVO * fr string[40];

……

fgets(cadena, 5, fr);

printf("%s\n ", cadena

fclose(fr); /p>

Respuestas de la prueba escrita de nivel 2 C del examen nacional de clasificación informática de abril de 2003

1 Preguntas de opción múltiple

1-5: CDDAD 6-10: BACDB 11-15. :CABDB 16-20:ADCAA

21-25:CBD ab 26-30:DCD ab 31-35:CBD cc 36-40:CCBAC

41-45:CAAAC 46 -50:DBDDA

Segundo, complete los espacios en blanco

(1) 64

(2) Copiar A.TXT+B.TXT A.TXT

p>

(3) @

(4)Usuario>Salir. Datos; cinta de audio digital

(5) PRN o LPT1 o LPT2.

(6) -3

(7) i=10, j=20

(8) 1

(9) 5 0 3

(10) 58

(11) 7

(12) 9

(13) x[i] [i] y X[I-1][J-1]+X[I-1][J]

(14) !(s[I]& gt;= ' 0 '& amps [I]<='9') y '\0'

(15) findbig

(16) 16

(17)x. = y . enlace;

Maldita sea