Banco de preguntas del examen final de lengua C para estudiantes de primer año
1, el tipo de datos que no pertenece al tipo de datos básico del lenguaje C es ().
a, tipo de puntero b, entero
c, tipo de carácter d, tipo real
2.Establecer: int a=3, b= 4, c = 5, x, y; expresión 0; amp(x = a)amp;
a, 1 B, 0 C, 3 D, 4
3, hay una sentencia int a = 3 luego se ejecuta la sentencia a = 6; El valor de la variable a es ().
a, 18 B, 3 C, 9 D, 12
4. Después de ejecutar el siguiente segmento del programa, el valor de salida y es ().
void main()
{ int a[]={2, 4, 6, 8, 10 }
int y, * p; /p>
p = ampa[0];
y = * p; printf("d ",y);
}
a , 2 B, 4 C, 6 D, 8
5. Hay una declaración de definición: float a[4]; el espacio de memoria asignado a la matriz A es () bytes.
a, 20 B, 12 C, 16 C, 10
6. ¿Cuál de las siguientes descripciones es incorrecta ().
1. La declaración break se puede utilizar en una declaración while.
b. La declaración de interrupción y la declaración de continuación tienen la misma función.
C. El propósito de utilizar la instrucción break en una instrucción de bucle es salir del bucle y finalizarlo antes de tiempo.
D. El propósito de utilizar la instrucción continuar en la instrucción del bucle es finalizar este bucle sin terminar el bucle completo.
7. El lenguaje C estipula que en la estructura anidada de la declaración if, else siempre es ().
a. Emparejar con el if más cercano y emparejar con el primer if.
c. Emparejar D con un if con la misma posición de sangría y relacionarlo con el if no emparejado más cercano.
8. Explique la afirmación "int(* p)();" significa ().
a y p son variables de puntero que apuntan a matrices unidimensionales.
byp son variables de puntero que apuntan a datos enteros.
cyp son punteros a funciones que devuelven datos int.
d.Ninguna de las anteriores es correcta.
9. Respecto a la matriz bidimensional c, la siguiente afirmación es correcta ().
a, int c[3][]; b, int c(3,4);
c, int c(2)(2); 3][2];
10, el resultado de salida del siguiente segmento del programa es ().
int x=100, y = 200
printf (" d ", (x, y));
a, 100 B, 200 C, 100, 200 D, error de compilación.
2. Preguntas para completar los espacios en blanco (***7 preguntas, ** 10 espacios en blanco, 1 punto por cada espacio en blanco, ** 10 puntos. Complete la respuesta en la línea horizontal del pregunta)
1 y los tres operadores lógicos proporcionados por el lenguaje C son; amp|||y! ;
2. El valor de retorno de la función se obtiene a través de la declaración de retorno en la función.
3.In "int a [] [3] = {{1}, {3, 2}, {4, 5, 6}, { 0 } };" El valor de ][2] es _ 6 _ _;
4.for " int * pa[5]; "Pa es un _ puntero de matriz _ con cinco elementos, cada elemento es una variable int _ _ puntero _ _
5. El siguiente puntero del nodo de cola de la lista enlazada unidireccional debe asignarse _ _ null _ _
6. = 1, y = 3;x gty;Y) El número de veces que se ejecuta el cuerpo del bucle es 0.
7.int a[5]; la primera dirección de la matriz A es 2000, por lo que la dirección del elemento a[1] es 2002 y la dirección del elemento a[2] es 2004.
3. Preguntas para completar en blanco (***2 preguntas, *** 5 espacios en blanco, 4 puntos por cada espacio en blanco, ***20 puntos)
1. , complete los siguientes procedimientos 1-1 /2 Cálculo de la suma de los primeros n términos de 1/3-1/4 1/5... Por favor complete los espacios en blanco.
# include ltstdio.h gt
int main()
{ int i, n, flag
Suma flotante; p>
p>
scanf("d ", ampn);
bandera = 1;
suma = 0
para( I = 1; i lt= n;i)
{ suma =(float)bandera/I;
bandera =-bandera;
} p>
printf(".3f\n ",sum);
}
2. La función del siguiente programa es ingresar n números enteros desde el teclado y contar. números positivos, 0 y números negativos. Por favor complete los espacios en blanco.
# include ltstdio.h gt
void main()
{int a, I, count1, count2, count3
count 1 = contar 2 = contar 3 = 0;
for(I = 1;ilt= n;i)
{ scanf("d", ampa);
si(a gt0)cuenta 1;
si no(a == 0)cuenta 2;
si no cuenta 3;
}< / p>
Printf("Número positivo:; d, cero: d, negativo: d\n", cuenta1, cuenta2, cuenta 3
}
Cuatro, Resultados de ejecutar el programa (***4 preguntas, 6 puntos cada una, ***24 puntos)
1.
void main()
{ int x=1, y=2, t
int *p1, * p2
p 1 = amp;x;p2 = ampy;
t = * p 1; * p 1 = * p2; * p2 = t;
printf("x=d, y=d\n ", x, y);
}
Los resultados de la ejecución son los siguientes:
Hay un problema con el programa, así que ¡No se puede ejecutar! O escriba:
x=2, y=1
2. Escriba los resultados de la operación del programa.
# incluir ltstdio.h gt
int max(int a, int b)
{ int c;
c = un gtb? A: B;
Retorno (c);
}
int min(int a, int b)
{ int c ;
c = a ltb? A: B;
Retorno (c);
}
void main()
{ int a=2, b = 6;
printf("max=d\n ", max(a, b));
printf("min=d\n ", mínimo(a, b) );
}
Los resultados de la ejecución son los siguientes:
¡Hay un problema con el programa, por lo que no se puede ejecutar! O escriba:
Valor máximo=6
Valor mínimo=2
3.
# incluir ltstdio.h gt
void main()
{ int a[3][3]={1, 2, 3, 4, 5, 6, 7, 8, 9};
int i, j, suma = 0;
for(I = 0; i lt3; i)
for(j = 0; j lt3; j )
if(I = = j)suma = suma a[I][j];
printf("suma= d\n ",sum);
}
Los resultados de la ejecución son los siguientes:
Hay un problema con el programa, por lo que no se puede ejecutar ! O escriba:
sum=15
4. Escriba los resultados de ejecución del programa.
void main()
{ int n, f;
n = 1
mientras(n lt; =10)
{ f = f * n;
n = 2
}
printf("f=d\n ", ampf);
}
Los resultados de la ejecución son los siguientes:
¡Hay un problema con el programa, por lo que no se puede ejecutar! O escriba:
F=Incierto
5. Preguntas de programación (***2 preguntas, 13 puntos cada una, ***26 puntos)
1. Almacene la matriz en orden inverso, como los elementos 1, 2, 3, 4, 5. Después de almacenar en orden inverso, son 5, 4, 3, 2, 1.