Buscamos urgentemente un banco de preguntas y respuestas para la revisión del lenguaje C
1 Preguntas de opción múltiple (7 puntos, 0,5 puntos por cada pregunta)
1. La unidad básica del programa fuente en lenguaje C es (B).
Un procedimiento B función C subrutina D identificador
2. El resultado de salida del siguiente programa es (C).
principal( )
{ int a=7, b=5
printf("d\n", b=b/a);
}
A 5 B 1 C 0 D Valor incierto
3. Supongamos que las variables a y b son números enteros, la expresión (a=5, b). =2, agt; b?a: b, el valor de a b) es (B).
A 7 B 8 C 9 D 2
4. Supongamos que a es una variable de tipo int. Después de ejecutar las siguientes declaraciones de asignación, los valores de a son (B).
a=125.534; a=(int)125.5214; a=5lt;lt;2;
A 125, 31, 1 B 125, 1, 20 C 125, 31, 20 D 125.534, 2, 20
5. Se proporciona el siguiente segmento del programa. La descripción correcta a continuación es (C).
int k=10; while(k=0) k=k-1;
Un bucle se ejecuta una vez. El bucle B es una declaración del cuerpo del bucle C. ejecutado una vez. El bucle D no se ejecuta una vez. La declaración del cuerpo se ejecuta una vez
6.
int i;
void prt()
{ for(i=5;ilt;8;i) printf("c",'*'
printf("\t");
}
principal( )
{ for(i=5; ilt). ;=8;i ) prt( );
}
A *** B *** *** *** *** C *** *** D * * *
7. En un programa en lenguaje C, la siguiente afirmación es correcta (B).
La definición de la función A se puede anidar, pero la llamada a la función no se puede anidar
La definición de la función B no se puede anidar, pero la llamada a la función se puede anidar
Ni la definición de la función C ni la llamada de la función pueden anidarse
La definición de la función D y la llamada de la función pueden anidarse
8. Las declaraciones contienen (A) parámetros reales.
func((e1, e2), (e3, e4, e5));
A 2 B 3 C 5 D Error de sintaxis
9. siguiente La salida del programa es (A).
#define AGREGAR(x) x*x
main( )
{ int a=4, b=6, c=7, d=AGREGAR (a b)*c;
printf("d=d",d
}
A d=70 B d=80 C d=); 140 D d=700
10. El registro de empleado conocido se describe a continuación. En Turbo C, el sistema asigna (C) bytes de espacio para la variable w.
estructura trabajador
{ int no;
char nombre[20]
char sexo;
unión
{ int día; int mes; int año }nacimiento
} w;
11. Dada la siguiente definición, la constante de enumeración con un valor de 5 es (A).
enum semana{dom, lun=4, mar, mié, jueves, viernes, sábado} w
A martes B sábado C viernes D jueves
12. La declaración de asignación correcta en las siguientes opciones es (asume char a[5], *p=a;) (A).
A p="abcd"; B a="abcd"; C *p="abcd"; D *a="abcd"; segmento de procedimientos, entonces la expresión con valor 6 es (B).
estructura st { int n; estructura st *next;};
estructura estática st a[3]={5,amp;a[1],7,amp;a [2], 9, 0}, *p;
p=amp; a[0];
A p -gt; gt;n D (*p).n
14.El tipo de archivo en lenguaje C es solo (D).
A Dos tipos: archivo de índice y archivo de texto B Un tipo de archivo de texto
C Un tipo de archivo binario D Dos tipos de archivo de código ASCII y archivo binario
Dos juicios Si es verdadero o falso, marque “√” si es verdadero y “×” si es incorrecto (5 puntos, 0,5 puntos por cada pregunta)
1. En Turbo C, los datos enteros ocupan 2 bytes en la memoria. (× )
2. El resultado de salida de int i=20; switch(i/10){caso 2: printf("A"); caso 1: printf("B");} es A. (× )
3. La instrucción break se usa en el cuerpo del bucle para finalizar el bucle actual y la instrucción continue se usa en el cuerpo del bucle para finalizar el bucle actual. (√)
4. Una llamada a función recursiva no es más que una función que se llama a sí misma, directa o indirectamente. (√)
5. El valor de la función strlen("ASDFG\n") es 7. (× )
6. A través de la declaración de retorno, una función puede recuperar uno o más valores de retorno. (×)
7. Sólo hay un tipo de estructura. (×)
8. El significado de char *p="girl" es definir la variable de puntero de carácter p, y el valor de p es la cadena "girl". (× )
9. Si hay una definición: char *p(char a[10]); entonces p es el nombre de la función. (√ )
10. Utilice fopen("archivo", "r "); el archivo abierto "archivo" se puede modificar.
(√)
Respuesta
Una pregunta de opción múltiple (7 puntos, 0,5 puntos por cada pregunta)
1. B 5. C
6. A 7. B 8. A 9. A 10. C
11. p >2. Juzgue si está bien o mal, marque "√" y si está mal marque "×" (5 puntos, 0,5 puntos por cada pregunta)
1. × 2.× 3.√ 4.√ 5. ×
6.× 7.× 8.× 9.√ 10.√
1 pregunta de opción múltiple (24 puntos, 2 puntos por cada pregunta)
1. Se sabe que la forma de llamada de la función fread es fread (buffer, size, count, fp), donde buffer representa (B).
A Un área de almacenamiento para almacenar los elementos de datos leídos B Una dirección para almacenar los datos leídos o un puntero a esta dirección
C Un puntero de archivo que apunta al archivo leído D Una variable entera, Representa el número total de elementos de datos que se leerán
2. La salida del siguiente programa es (C). 10, 10
main()
{ int i=010, j=10
printf("d, d\n", i, j --); }
A 11,9 B 9,10 C 8,10 D 9,9
3. Supongamos que a es una variable de tipo int. Después de ejecutar las siguientes declaraciones de asignación, los valores de a son (B). a=125.534; a=20.0/3; a=(int)125.5214; a=5lt;lt;2;
A 125, 6, 31, 1 B 125, 6, 1, 20 C 125 , 6.666666, 31, 20 D 125.534, 6.666666, 2, 20
4. Supongamos que i y k son ambos tipos int, luego la instrucción de bucle for (D).
for(i=0,k=-1;k=1;i,k) printf("****\n");
Una condición para el final del bucle Ilegal B. El cuerpo del bucle nunca se ejecuta una vez C. El cuerpo del bucle solo se ejecuta una vez D. Es un bucle infinito
5. La salida del siguiente programa es (`D).
principal()
{ char c;
int i
for(i=65; ilt; 68; i )
{ c=i 32;
cambiar(c)
{ caso 'a': caso 'b': caso 'c': printf(" c, ", c); break; predeterminado: printf ("end"); }
}
}
A a, b, c, end B a, a, a, final C a, a, a, D a, b, c,
6. Declaración de llamada de función: fseek (fp, -10L, 2) significa (A);
A Mueve el puntero de posición del archivo 10 bytes desde el final del archivo hacia el principio del archivo
B Mueve el puntero de posición del archivo 10 bytes desde la posición actual hacia el comienzo del la sección del archivo
C Mueve el puntero de posición del archivo 10 bytes desde la posición actual hacia el final del archivo
D Mueve el puntero de posición del archivo 10 bytes desde el principio del archivo
7. La salida del siguiente programa es (D).
principal( )
{ char s1[40]="país", s2[20]="lado"
int i=0, j =0;
mientras(s1[i]!='\0') i
mientras(s2[j]!='\0') s1[i ]= s2[j];
s1[i]=0;
printf("s\n",
}
<); p>Lado A B país C lado D campo8. La siguiente afirmación es incorrecta (A).
A Las variables definidas en la función principal son válidas en todo el archivo o programa
B Las variables con el mismo nombre se pueden usar en diferentes funciones
C Formal parámetros Es una variable local
D Dentro de una función, las variables se pueden definir en una declaración compuesta, y estas variables solo son válidas en esta declaración compuesta
9. En el siguiente segmento del programa, el valor de la variable de enumeración c1 es (D).
color de enumeración { rojo, amarillo, azul=4, verde, blanco}c1; c1=amarillo; c1=blanco
A 1 B 3 C 5 D 6
10. Hay una descripción de int (*ptr)(); donde el identificador ptr es (B).
A es un puntero a una variable entera. B es un puntero que apunta a una función cuyo valor de función es int.
C es el nombre de una función. ilegal
11. La forma correcta de definir una matriz p que consta de n punteros a datos enteros es (C).
A int p; B int (*p)[n]; C int *p[n]; D int (*p)( ); Para la variable de tipo puntero p y la matriz a del mismo tipo, la operación que no se puede realizar es (B).
A p=a; B *p=a[0]; C p=amp; a[0]; D p=amp;
El segundo juicio es correcto. o incorrecta, marque “√” para las respuestas correctas y “×” para las respuestas incorrectas (20 puntos, 2 puntos por cada pregunta)
1. Los datos que participan en las operaciones de bits pueden ser cualquier tipo de datos. (× )
2. Si hay definiciones y declaraciones: int a; char c; float f; ("d, c, f", amp; a, amp; c, amp; f); entonces a=10, c='A', f=12.5. (√)12.500000
3. El lenguaje C trata un archivo como una secuencia de caracteres (bytes). (√ )
4. Si hay una definición de macro: #define S(a, b) t=a; a=b=t Dado que la variable t no está definida, esta definición de macro es incorrecta.
(× )
5. En Turbo C, las siguientes definiciones y declaraciones son legales: file *fp; fp=fopen("a.txt", "r"); Si hay una definición: char s[ ]="china"; entonces el sistema Turbo C abrirá una unidad de memoria de 6 bytes para los arrays. (√ )
7. Si hay definiciones y declaraciones: int a[3][3]={{3, 5}, {8, 9}, {12, 35}}, i, sum=0 for (i=0; ilt; 3 ;i) suma =a[i][2-i]; entonces suma=21. (√ )
8. Si hay definiciones y declaraciones: struct Student { int num; char name[10]; float score;} s[5]={{1, "lili", 98.5}, {9, "xiaohua", 66}}, * p=s; printf("d", *p); el resultado de salida es 1. (× )
9. Una vez definido un tipo de estructura en un programa, se puede utilizar varias veces para definir variables de ese tipo. (√ )
10. En Turbo C, esta definición y declaración son legales: enum aa{ a=5, b, c}bb=(enum aa)5; Una pregunta de opción múltiple (24 puntos, 2 puntos por cada pregunta)
1.( B ) 2.( C ) 3.( B ) 4.( D ) 5.( D ) 6.( A )
7.( D ) 8.( A ) 9.( D ) 10.( B ) 11.( C ) 12.( D )
Dos juicios: correcto o incorrecto, marque “√” si la respuesta es correcta, marque “×” si la respuesta es incorrecta (20 puntos, 2 puntos por cada pregunta)
1 ( × ) 2. ( √ ) 3. ( √ ) 4. ( × ) 5. ( × )
6. ( √ ) 7. ( √ ) 8. ( × ) 9. ( √ ) 10. ( √ )