Práctica de examen de lenguaje C
opción multiple
1. ¿Cuál de las siguientes afirmaciones es correcta ()
A) El programa fuente en lenguaje C se puede ejecutar directamente sin compilar.
B) Cada declaración ejecutable en lenguaje C eventualmente se convertirá en instrucciones binarias de máquina.
C) El código binario formado al compilar el programa fuente en lenguaje C se puede ejecutar directamente.
D) Las funciones en lenguaje C no se pueden compilar por separado.Análisis
A: El lenguaje C debe compilarse y vincularse antes de que pueda ejecutarse
B: Correcto
C: Cada declaración C se convertirá en instrucciones binarias de máquina después de la compilación (compilar). Después de que el compilador de lenguaje C compila el programa fuente en lenguaje C, se genera un sufijo. archivos binarios OBJ, y finalmente por el software llamado "linker", este. El archivo OBJ está conectado con varias funciones de biblioteca proporcionadas por el lenguaje C para generar un archivo ejecutable.
D: Las funciones en lenguaje C se pueden compilar por separado y compilar en archivos objeto. Cuando se vinculan a archivos ejecutables, se requieren funciones y bibliotecas principales.
2. En un programa fuente en lenguaje C ( )
A) Debe haber una función principal B) Puede haber múltiples funciones principales
C) Debe haber otras funciones excepto la función principal D) No hay ninguna función principalAnálisis:
un programa en lenguaje c tiene y solo puede tener una función principal, y debe tener una función principal para completar la conexión a un archivo exe. No puede haber otras funciones, pero el ejecutable no se puede construir sin la función principal.
3. Los siguientes no se pueden definir como identificadores de usuario ( )
A) scanf B) Void C) _3com D) intAnálisis
①Los identificadores de usuario se componen de letras, guiones bajos y números, pero el comienzo debe ser letras o guiones bajos;
②Los identificadores de usuario no pueden usar palabras clave reservadas por el método del sistema;
③Los identificadores de usuario distinguen entre mayúsculas y minúsculas y pueden usarse como nombre de variable.
Elige la opción D
4. Si las variables en las siguientes opciones se han definido correctamente, la declaración de asignación correcta es ( )
A) x1=26.8%3;
B) 1+2=x2;
C) x3=0x12;
D) x4=1+2 = 3;Análisis:
A El resto solo puede ser un resto entero
B La constante no se puede utilizar como valor l
D 3 No se puede asignar a 1+2
Seleccione el elemento c
5. 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 de la fórmula algebraica ()
A)(a+b)*h/2 B)(1/2)*(a+b)*h C)(a+b)*h*1/2 D)h/2*(a+b)
Análisis:
Punto flotante dividido por entero, el resultado es punto flotante;
entero dividido por entero, el resto se quita, el resultado es entero;
1/2 resultado es 0; entonces el resultado elige la opción B
6. 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 、continueA, no explique;
7. La declaración !x en el while (!x) es equivalente a la siguiente expresión condicional ( )
A) x!=0 B) x==1 C) x!=1 D) x==0
En lenguaje C, si es verdadero o falso se juzga por si es cero; el número que no es cero es verdadero;
x=2, while no se ejecuta, por lo que no puede elegir el elemento C
mientras (x) significa mientras (x != 0), es decir, realizar un bucle cuando x no es 0
, por lo que while (!x) significa while (x == 0), es decir, realizar un bucle cuando x es 0. Elija
D
8. Existen los siguientes procedimientos:
#include <stdio.h> void main(){ int i=1,j=1,k=2; if( (j++||k++)&&i++ ) printf(“%d,%d,%d\n”,i,j,k); }
La salida después de la ejecución es ( )
A) 1,1,2 B) 2,2,1
C) 2,2,2 D) 2,2,3C || operación, juzgue de izquierda a derecha, si el lado izquierdo es verdadero, no juzgue el lado derecho, así que ejecute j++, no k++; && operación, ejecute
en ambos lados; por lo tanto ejecute i++;
get 2 2 2;
9. Existen los siguientes procedimientos:
#include <stdio.h> void main(){ int i,s=0; for(i=1;i<10;i+=2) s+=i+1; printf(“%d\n”,s);}
El resultado después de la ejecución del programa es ( )
A) La suma de los números naturales del 1 al 9 B) La suma de los números naturales del 1 al 10 C) La suma de los
números impares de los números naturales del 1 al 9 D) La suma de los números pares en los números naturales del 1 al 10Análisis:
i es inicialmente 1, pero el valor de i+1 se suma a s más tarde, que es 2;
i es 3 en el segundo ciclo, y s+ es el valor de 3+1, que es 4; y así sucesivamente
,
el punto D es correcto;
10. Existe la siguiente definición de función:
void fun(int n,double x){……}
Si las variables en las siguientes opciones se han definido y asignado correctamente, la declaración de llamada correcta para la función fun es ( )
A) fun (int y, doble m);
B) k=fun(10,12.5);
C) fun(x,n);
D) void fun(n,x);Elija C
A: no necesita escribir el tipo de parámetro al llamar
a B: el tipo de valor de retorno de esta función es nulo (nulo), no hay valor de retorno, por lo que, naturalmente, no puede asignar un valor a k
D: No es necesario escribir el tipo de valor de retorno al llamar a la función.
llena el espacio en blanco
11. La expresión en lenguaje C para describir "tanto x como y son mayores o iguales que z" es ()
x>=z&&y>=z
12. Los elementos básicos involucrados en la definición de la función son: _____, ______, _______.
nombre de la función, parámetros formales, cuerpo de la función
13. Las declaraciones estructuradas que se pueden utilizar para implementar bucles en lenguaje C son: _____, ______, _______.
por, mientras, hacer-mientras
14. La expresión en lenguaje C para juzgar que la variable entera a es un múltiplo entero de 5 y 7 es: ____________.
(a%5==0)&&(a%7==0)
15. Si tanto x como n son variables int y los valores iniciales de x y n son 6, luego de calcular la expresión x += n ++, el valor de x es () y el valor de n es () .
12 7
escribir resultado
16. Procedimiento 1
#include <stdio.h> void main() { int a=12,b=12; printf(“%d,%d\n”,--a,++b); }
El resultado después de la ejecución del programa es _______
- -a: primero reste 1 del valor, ++b significa sumar 1 al valor primero y luego generar
Respuesta: 11,13
17. Procedimiento 2
#include <stdio.h> void main() { int a=5,b=4,c=3,d=2; if(a>b>c) printf(“%d\n”,d); else if((c-1>=d)==1) printf(“%d\n”,d+1); else printf(“%d\n”,d+2); }
La salida del programa después de la ejecución es: _______
2
La primera rama: a>b está establecida, devuelve el resultado 1; 1>c no está establecido; ingrese el segundo juicio El segundo juicio
: c-1 es 2, 2>=d es verdadero; genera d+1;
final
18. Procedimiento 3
#include <stdio.h> void main() { int x=0,y=5,z=3; while(z-->0&&++x<5) y=y-1; printf(“%d,%d,%d\n”,x,y,z); }
La salida del programa después de la ejecución es _______
Antes de que comience el ciclo: x=0 y=5 z=3
Después del primer ciclo: x=1 y=4 z=2
Después del segundo ciclo: x=2 y=3 z=1
Después del tercer ciclo: x =3 y=2 z=0
El juicio del cuarto ciclo no ingresa al cuerpo del ciclo: x=3 y=2 z=-1
preguntas de programación
19. Escribe un programa. Realice la entrada de una letra minúscula y el programa generará su letra mayúscula correspondiente. (Pista: el valor del código ASCII de las letras minúsculas es 32 mayor que el de las letras más grandes)
#include<stdio.h> int main(){ char ch; scanf("%c",&ch); printf("%c\n",ch); return 0; }