Red de conocimiento informático - Conocimiento sistemático - ¡Buscando las preguntas del examen de nivel 2 de computadora en lenguaje C para Chongqing en noviembre de 2009!

¡Buscando las preguntas del examen de nivel 2 de computadora en lenguaje C para Chongqing en noviembre de 2009!

1. Preguntas de opción múltiple (1 punto por cada pregunta en (1)~(40), 2 puntos por cada pregunta en (41)~(55), ***60 puntos)

De las cuatro opciones de las siguientes preguntas A), B), C) y D), solo una opción es correcta. Por favor escriba la opción correcta en el lugar correspondiente de la hoja de respuestas. en el papel de prueba.

(1) El número decimal máximo que puede ser representado por un número binario sin signo de 8 bits es

A) 127 B) 128 C) 255 D) 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 mantener presionada la tecla Alt mientras arrastra el objeto con el mouse

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

(4) En el menú de Windows, un elemento de comando tenue (gris) indica que el comando

A) no está disponible temporalmente B) se está ejecutando C) contiene el siguiente menú D) contiene el 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) TIPO/?

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

A ) ANP/A.DAT B) ABCCOM C) ECD.BASIC D) XY Z.TXT

(7) ¿Cuál de las siguientes afirmaciones es correcta?

A) En el entorno Windows , la ventana maximizada no se puede mover

B) En el entorno Windows, después de minimizar la ventana de la aplicación, la aplicación suspende la ejecución

C) En el entorno Windows, solo la ventana minimizada se puede cerrar

D) En el entorno Windows, no se puede cerrar Ventana maximizada

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

A) icono de impresora B) símbolo de tijeras C) símbolo de copiar D) símbolo 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) Tecla Ctrl ImprimirPantalla B) Tecla Alt ImprimirPantalla

C) Tecla Shift ImprimirPantalla D) Tecla ImprimirPantalla

(10) Actualmente, la forma más rápida para que se propaguen los virus informáticos es

A) Copiar a través de software B) Propagarse a través de la red

C) Probar a través del disco D) Ejecutar software de juego

(11 ) ¿Cuál de las siguientes afirmaciones es correcta?

A) El lenguaje C es más avanzado que otros lenguajes

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 del lenguaje

D) El lenguaje C es el último en aparecer 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 de secuencia, estructura de selección, estructura de bucle B) if, switch, break

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

(13) en En un programa C

A) la función principal debe aparecer antes que todas las funciones B) principal la función puede aparecer en cualquier lugar

C) la función principal debe aparecer después de todas las funciones D) las funciones principales deben aparecer en posiciones fijas

(14) ¿Cuál de las siguientes afirmaciones es correcta?

A) Hay tipos lógicos y tipos de conjuntos en lenguaje C

B) No hay tipos lógicos en lenguaje C pero sí tipos de colección

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

D)

No existen tipos lógicos ni tipos de conjuntos en lenguaje C

(15) ¿Cuál de las siguientes afirmaciones sobre identificadores de usuario en lenguaje C es correcta?

Los identificadores de usuario pueden aparecer entre guiones bajos y El guión bajo (signo menos)

El guión bajo no puede aparecer en el identificador de usuario, pero sí puede aparecer.

El guión bajo puede aparecer en el identificador de usuario, pero no se puede colocar en el identificador de usuario. El comienzo del identificador

Los guiones bajos y los números pueden aparecer en los identificadores de usuario, y se pueden colocar al principio del identificador de usuario

(16) Si existe el siguiente programa. segmento (donde n La asignació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 B) 32767, 032767

C) 32767, 77777 D) 32767, 077777

(17) La siguiente afirmación sobre los operadores unarios y -- es

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 variables de tipo flotante

C) Sus operandos pueden ser variables de tipo int, pero no variables de tipo doble ni variables de tipo flotante

D) Sus operandos pueden ser char variables de tipo, variables de tipo int y variables de tipo flotante

(18) Si existe el siguiente segmento de programa

int m=0xabc, n=0xabc;

(18) p>

m-=n;

printf("X\n", m);

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

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

(19) Existen los siguientes segmentos de programa

int m=0, n=0; ';

scanf("dcd",amp;m,amp;c,amp;n);

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

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

p>

Si ingresa: 10A10lt desde el teclado; gt;, el resultado de salida es:

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

(20) Existe el siguiente programa

main()

{ int i;

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

cambiar(i)

{ caso 1: printf("d",i);

caso 2: printf("d",i);

predeterminado: printf("d",i);

}

}

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

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

(21) Existe el siguiente programa

main()

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

if((j ‖k )amp;amp;i) 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) Existe el siguiente programa

main()

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

if(agt; bgt; c)

pr

intf("d\n",d);

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

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

else

printf("d\n", d 2)

}

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

p>

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

(23) Existe el siguiente programa

principal()

{ int p[7]={11, 13, 14, 15, 16, 17, 18}, i=0, k=0; >mientras(ilt; 7amp; amp; p [i]2){k=k p[i];i;}

printf("d\n",k);

}

Ejecutar El resultado final es

A) 58 B) 56 C) 45 D) 24

(24) Existe el siguiente programa

main()

{ int i=0, s=0

hacer{

if(i2){i;continuar; ;}

i;

i p>

s =i;

}mientras(ilt;7);

printf("d\n", s);

}

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

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

(25) Existe el siguiente programa

main()

{ int i=10, j=1;

printf("d, d\n", i--, j);

}

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

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

( 26) Existe el siguiente programa

main()

{ char a , b, c, *d;

a='\'; b='\ xbc';

c='\0xab'; /p>

print("ccc\n", a, b, c, *d);

}

Se produjo un error durante la compilación. es correcto

A) Solo hay a='\' en el programa la declaración es incorrecta B) b= '\xbc' la declaración es incorrecta

C) d ="\0127"; la declaración es incorrecta D) a='\'; y c='\0xab'; la declaración es incorrecta

(27) Existe el siguiente programa

int fl(int x, int y)

{ return xgt; y?x: y }

int f2(int x, int y)

{ return xgt; y?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);

f=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;

p>

if(x }

principal()

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

f(a, b); /p>

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

}

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

);

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

(29) Si existen las siguientes definiciones y afirmaciones

#include

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

p=amp;a; b; w =q; q=NULL;

Entonces la declaración incorrecta en las siguientes opciones es

A) *q=0; =a; D ) *p=*w;

(30) Existe el siguiente programa

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

{ if(* xlt; *y)

devuelve x;

else

devuelve y;

}

principal()

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

}

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

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

(31) Existe el siguiente programa

main()

{ char *s[]={"one", "two", "tres"}, *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) Existe el siguiente programa

main()

{ int x[8]={8, 7, 6, 5, 0, 0}, *s; s=x 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) Las siguientes declaraciones que pueden definir correctamente la matriz y asignar correctamente el valor inicial son

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

(34) Allí es el siguiente programa

main()

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

int i, j, k=2;

p>

for(i=0;ilt;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 siguiente función La función es: ingresar datos a través del teclado y asignar valores a todos los elementos de la matriz.

#define N 10

void llegar(int x[N])

{ int i=0;

mientras(i scanf("d", );

}

Lo que se debe completar subrayado es

A) x i B) amp x[i 1] C; ) x (i) D) amp; x[ i]

(36) Existe el siguiente programa

main()

{ char s[] = "\n123\\";

printf("d, d\n", strlen(s), tamañode(s));

}

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

A) La cadena asignada al valor inicial es incorrecta B) 6, 7 C) 5, 6 D) 6, 6

(37) Leer la siguiente función

fun(char *s1, char *s2)

{ int i=0

while(s1[i]==s2[; i]amp ;amp; s2[i]!='\0')i ;

return(s1[i]== amp;amp; s2{i}!=='\0') ;

return(s1[i]== amp;amp; s2{i}!=='\0');

p>

}

La función de esta función es

A) Asignar la cadena apuntada por s2 a s1

B) Comparar la cadena apuntada por s1 y s2 Se refiere al tamaño de la cadena. 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 apuntadas 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 apuntadas 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

D) p>

(38) Las siguientes afirmaciones son correctas

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

B) La vida útil de la categoría estática variables Durante la ejecución de todo el programa

C) Los parámetros formales de la función son todas variables globales

D) Los valores iniciales de las variables automáticas y las variables estáticas que no lo son valores iniciales asignados en la declaración de definición. Todos son valores aleatorios

(39) con la siguiente descripción

typedef struct

{ int char c; ; double x;}STD;

Entre las siguientes opciones, la declaración que puede definir correctamente la matriz de estructura y asignar el valor inicial es

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

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

C) struct tt[2]={{1, 'A'}, {2, 'B'}};

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

(40) Existe el siguiente programa

main()

{ unión { unsigned int n;

unsigned char c

}u1

ul.c='A'; /p>

printf("c\n", u1.n);

}

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

A) sintaxis error B) valor aleatorio C) A D) 65

(41) Existe el siguiente programa

main()

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

mientras( *ps)ps;

for(ps--;ps-strgt;=0;ps--) puts(ps);

}

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

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

xyz yz yz xy

xyz xyz

(42) tiene el siguiente programa

p>

principal()

{ int a[][3]={{1, 2, 3}, {4, 5, 0}}, {*pa}[ 3], i;

pa=a;

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

if(ilt;2) pa[ 1][ i]=pa[1][i]-1;

si no 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) Sin valor definido

(43) Existe 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);

}

}

main()

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

diversión(a, 0, 5)

for(i=0; ilt; 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 3 D) 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 divertido()

{ static int s=0;

s =1

return

}

Programa de supuestos Después de la compilación y la conexión, se genera el archivo ejecutable exam.exe. Si escribe la siguiente línea de comando

exam 123lt; presione Enter gt;

el. el resultado de ejecución es

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

(45) En el siguiente segmento del programa, la variable puntero p en la función principal puede apuntar a un unidad entera legal llamando a la función fun

A) main() B) main

{ int *p; { int

fun( p); diversión(amp; p);

}

}

int diversión(int *p) int diversión(int **p)

{ int s; p=amp; s; } { int s; *p=amp; }

C) #incluir D) #incluir

principal() principal()

{ int *p; { int *p;

diversión(amp;p

); diversión(p);

} }

int diversión(int **p) int diversión(int *p)

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

(46) Para especificar un nombre de tipo STP, haga que la declaración de definición STP sea equivalente. char *s, la correcta de las siguientes opciones es

A) typedef STP char *s; B) typedef *char STP;

C) typedef stp *char D) typedef char* STP;

(47) tiene la siguiente definición

struct ss

{ char name[10];

int age ;

char sex;

}std[3], *p=std;

Las siguientes oraciones ingresadas son incorrectas

A) scanf("d",amp;(*p).age); B) scanf("s",amp;std.name);

C) scanf("c",amp ; std[0].sex) D) scanf("c", amp; (p-gt; sex));

(48) Supongamos que el valor en la variable de tipo char x es 10100111, entonces la expresión El valor de la fórmula (2 /p>

A) Los archivos de texto en lenguaje C almacenan datos en forma de código ASCⅡ

B) La velocidad de acceso a archivos binarios en lenguaje C es más rápida que los archivos de texto

C ) En lenguaje C, el método de lectura y escritura aleatoria no es adecuado para archivos de texto

D) En lenguaje C, el método de lectura y escritura secuencial no es adecuado para archivos binarios archivos

(50) El siguiente programa intenta Los caracteres ingresados ​​desde el terminal se envían a un archivo llamado abc.txt. Las operaciones de entrada y salida finalizan cuando el carácter # se lee desde el terminal, pero allí. es un error en el programa.

#include

main()

{ ARCHIVO *fout; char

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

ch=fgetc(stdin);

while(ch!='#')

{ fputc(ch, fout) ;

ch=fgetc(stdin);

}

fclose(fout);

}

El motivo del error es

A) La función fopen se llama en una forma incorrecta B) El archivo de entrada no está cerrado

C) La función fgetc se llama en una forma incorrecta D) La entrada estándar del puntero del archivo no está definida

2 preguntas para completar en blanco (2 puntos por cada espacio en blanco, ***20 puntos)

Escriba lo correcto. responda cada espacio en blanco en la línea horizontal numerada del 1 al 20 en la hoja de respuestas y respóndala en el examen. Sin puntos.

(1) Numere la dirección del byte en la memoria usando notación hexadecimal. Si el número de dirección es de 000 a FFFF, entonces la capacidad de la memoria es 1 KB.

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

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

(4) Supongamos que hay un programa ejecutable USER.EXE en el directorio actual del disco actual. Ahora queremos ejecutar este programa y, durante el proceso de ejecución, la información del resultado mostrada y generada se almacena en el archivo OUT.DAT en el directorio actual del disco actual. El comando completo de DOS es 4.

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

(6) Si hay una declaración

int i=-19, j=i4;

printf("d\n", j);

p>

El resultado de salida es 6.

(7) Si hay un programa

main()

{ int i, j

scanf("i=; d, j=d";amp;i,amp;j);

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

}

Si se requiere asignar 10 a i y 20 a j, entonces se debe ingresar 7 desde el teclado.

(8) Si existe el siguiente programa

main()

{ int p, a=5

if( p= a!=0)

printf("d\n", p);

else

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);

}

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

(10) Si existe el siguiente programa

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;ilt;4;i)

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

{ if(a[i][j]lt; 0)continuar

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

s =a [i][j];

}

}

printf("d\n", s);

}

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

(11) Si existe el siguiente programa

main()

{ char a;

a='H'-'A' '0';

print("c\n", a);

}

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

(12) Si existe el siguiente programa

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",

}

Después de la ejecución, el resultado de salida es 12.

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

1<. /p>

1 1

1 2 1

1 3 3 1

1 4 6 4 1

La composición La regla es:

Los elementos en la columna 0 y la diagonal principal son ambos 1

Los elementos restantes son la suma de los elementos de arriba y de la izquierda

El número de datos aumenta en 1 por cada fila

p>

Por favor, completa el programa.

#definit N 6

void YangHui(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 de la cadena. s. Complete los espacios en blanco

void dele(char *s)

{ int n=0, i; s[i]; i )

si(15)

s[n]=s[i];

s[n]=16;

}

(15) Supongamos que la función findbig se ha definido para encontrar el valor máximo de 3 números. El siguiente programa utilizará el puntero de función para llamar a la función findbig. p>

principal().

{ int findbig(int, int, int

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

f= 17;

scanf("ddd",amp;x,amp;y,amp;z);

big=(*f) (x,y,z);

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

}

(16) La salida del El siguiente programa es 18.

<. p>#defint MCRA(m) 2*m

#define MCRB(n, m) 2*MCRA(n) m

main()

{ int i=2, j=3;

printf("d\n", MCRB(j, MCRA(i))

>

}

(17) Se proporciona la siguiente definición

struct ss

{ int info; z;

y se ha establecido La estructura de la lista enlazada es como se muestra a continuación:

□□ →□□→□□

X Y Z

Escriba la declaración de asignación 19 para eliminar el punto y. p>

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

#include

main()

{ ARCHIVO *fr; char str[40]

……

;

fgets(cadena, 5, fr);

printf("s\n", cadena

fclose(fr);

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: CBDAB 26-30: DCDAB 31-35: CBDCC 36-40: CCBAC

41-45: CAAAC 46-50 :DBDDA

2. Complete los espacios en blanco

(1) 64

(2) COPIAR A.TXT B.TXT A.TXT

(3) @

(4) USUARIO gt; OUT.DAT

(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'amp;amp;s[i]lt;='9') y '\ 0'

(15) encontrargrande

(16) 16

(17) x.link=y.link;

( 18) Infierno