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 principal

Aná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) int

Aná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 、continue

A, 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,3

C || 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 10

Aná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;
}

Supongo que te gusta

Origin blog.csdn.net/Stanford_sun/article/details/123653550
Recomendado
Clasificación