La Red de Conocimientos Pedagógicos - Currículum vitae - Preguntas del examen final de lenguaje C (versión Tan Haoqiang)

Preguntas del examen final de lenguaje C (versión Tan Haoqiang)

Preguntas del examen final de lengua C

Sábado 12 de abril de 2008 00:22

Preguntas de opción múltiple (24 puntos, 2 puntos por cada pregunta)

1 . La forma de llamada conocida de la función fread es fread(buffer, size, count, fp), donde buffer representa ().

Área de almacenamiento, utilizada para almacenar elementos de datos leídos

La dirección donde se almacenan los datos leídos o un puntero que apunta a la dirección.

El puntero del archivo al archivo leído.

Variable entera que representa el número total de elementos de datos que se leerán.

2. La salida del siguiente programa es ().

Principal( )

{

int i=010, j = 10;

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

}

a 11.9

B 9, 10

8, 10

D 9, 9

3. Supongamos que A es una variable int. Después de ejecutar la siguiente instrucción de asignación, el valor de A es ().

a = 125,534;

a = 20,0/3;

a = (int)125,521 4; lt2;

6, 31, 1

B 125

C 125, 6.666666, 31.20

D 125.534

4. Si I y k son ambos de tipo int, entonces la instrucción de bucle for ().

for(i=0,k=-1;k=1;i,k)

printf(" * * * * \ n ");

La condición para finalizar el bucle A es ilegal.

bEl cuerpo del bucle no se ejecuta una vez.

El cuerpo del bucle c solo se ejecuta una vez.

d es un bucle infinito.

5. La salida del siguiente programa es ().

principal()

{

char c;

int I

for(I = 65 ;ilt68;i )

{

c = I 32;

Interruptor (c)

{

Caso 'a':

Caso 'b':

caso 'c': printf("c,",c);

Predeterminado valor: printf(" fin ");

}

}

}

a a b c fin

Fin , end

C a, a, a,

D a, b, c,

6. Declaración de llamada de función: fseek(fp, -10L, 2); significa ().

Mueve el puntero de posición del archivo 10 bytes desde el final del archivo hasta el principio del mismo.

b. Mueva el puntero de posición del archivo 10 bytes desde la posición actual hacia el encabezado del archivo.

Mueve el puntero de posición del archivo 10 bytes desde la posición actual hasta el final del archivo.

Mueve el puntero de posición del archivo a 10 bytes del encabezado del archivo.

7. La salida del siguiente programa es ().

Principal( )

{

int i=0, j = 0;

mientras(s1[i]!=' \0')

i;

mientras(s2[j]!='\0')

s 1[i]= S2[j] ;

s 1[I]= 0;

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

}

Prueba lateral

bPaís

Prueba lateral

Zona rural

8. ¿Cuál de las siguientes afirmaciones es incorrecta ().

Las variables definidas en la función principal main son válidas en todo el archivo o programa.

Las variables con el mismo nombre se pueden utilizar en diferentes funciones.

Los parámetros formales son variables locales.

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 ().

Colores de enumeración {rojo, amarillo, azul=4, verde, blanco} c 1

c 1 = amarillo

c 1 = blanco; /p>

1

B 3

C 5

D 6

10. ptr)(); donde el identificador ptr es ().

Es un puntero a una variable entera.

b es un puntero a una función cuyo valor de función es int.

c es el nombre de una función.

La definición de d es ilegal.

11. Defina una matriz p, que consta de n punteros que apuntan a datos enteros. El enfoque correcto es ().

a int p;

b int(* p)[n];

c int * p[n]; d int(* p)();

12. La variable de tipo puntero P y la matriz A tienen el mismo tipo. La operación que no se puede realizar es ().

A p = a

b * p = a[0];

C p = ampa[0]; p = ampa;

2. Juzgue si está bien o mal, marque “√” si está bien y marque “×” si está mal (20 puntos, 2 puntos por cada pregunta).

1. Los datos involucrados en las operaciones de bits pueden ser cualquier tipo de datos. ( )

2. Si hay definiciones y declaraciones:

int a;

char c

Floating

p >

scanf("d, c, f ", amp one, ampc, ampf

Si usa el teclado para ingresar: 10 A 12 5

Entonces a = 10, c = 'a', f = 12,5. ( )

El lenguaje 3.C trata los archivos como una serie de caracteres (bytes). ( )

4. Si hay una definición de macro:

#define S(a, b)t = a = b=t

Debido a 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:

archivo * fp

fp=fopen("a.txt " , " r "); ( )

6. Si está definido:

char s[ ]= "China";

El sistema Turbo C es la matriz S Abra a Unidad de almacenamiento de 6 bytes..( )

7. Si hay definiciones y declaraciones:

int a[3][3]={{3, 5}, {8 , 9}, {12, 35}}, I, suma = 0;

for(I = 0;ilt3;i)

suma = a[I] [2- I];

Entonces suma=21. ( )

8. Si hay definiciones y afirmaciones:

estructura estudiante

{

int num

Nombre del personaje[10];

Fracción flotante;

}

s[5]={{1,"Lili",98.5},{9 , "小花", 66}}, * p = s; printf ("d ", * p

El resultado de salida es 1. ( )

9. Después de definir un tipo de estructura en el programa, puede usarlo 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

bb = (enum aa)5; ( )

Escribe los resultados del siguiente programa (36 puntos, 6 puntos por cada pregunta)

1.

Main( )

{

int i=29, j=6, k=2, s;

s = I I/j k-9;/ /s =i (i/j)k-9

printf("s=d\n ",s);

}

2.

Principal( )

{

int x=31, y=2, s = 0;

Hacer

{

s-= x * y;

x = 2; y-= 3;

}

mientras( x 3 = = 0); // Ejecutar primero, luego juzgar.

printf("x=d\ty=d\ts=d\n ",x,y,s);

}

3.

Principal( )

{

int a[6]={10, 20, 30, 40, 50, 60}, I

;

invert(a, 0, 5);

for(I = 0;ilt6;i)

printf("d ",a[I]);< / p>

printf(" \ n ");

}

Invertir (int s [], int i, int j)//Invertir

{

int t;

if (i ltj)

{

invertir(s,i 1,j- 1) ; //Las llamadas anidadas de la función misma forman un bucle.

t = s[I];

s[I]= s[j]; p>}

}

4.

# incluir ltstdio.h gt

main()

{

char str[]= "programa C", C;

int I

for(I = 2; (c=str[i] )! ='\0'; i )

{

Interruptor (c)

{

Caso 'g': I ;Break; // Debido a i, se omite la primera letra después de G.

Caso "o": continuar

Valor predeterminado: printf("c ", c continuar;

}

printf(" * ");

}

printf(" \ n ");

}

5.

Estructura con/estructura

{

char bajo;

char alto;

};

Unión u//* * *

{

Estructura w bytes;

Palabras cortas;

} uw

Principal()

{

int resultado;

uw . palabra = 0x 1234;

printf (" valor de palabra: 04x\n ", uw . palabra);

printf ("byte alto: 02x\n ", uw . byte . alto);

printf( "byte bajo : 02x\n ", uw . byte . bajo);

uw . byte . bajo = 0x 74;

printf("valor de palabra: 04x\n ", uw . palabra );

resultado = uw . palabra 0x2a 34;

printf("Resultado: 04x\n ", resultado

}

<); p>6.

main()

{

char *s2= "¡Me encanta China!", * * s 1 = amp ;S2;

char *s3, c, * s4 = " w

s3 = ampc;

* s3 = ' H

S2 = S2 2;

printf("s\tc\ts\tc\n ", s2, *s3, s4, * * s 1

}Lea el siguiente procedimiento y complete el contenido apropiado para completar el procedimiento (20 puntos, 2 puntos por cada espacio en blanco)

1. Cien caballos transportan cien toneladas: Hay 100 caballos, 100 dans. , 3 dans para caballos grandes, 2 dans para caballos medianos y 1 dan para caballos pequeños.

¿Cuantos caballos hay?

main()

{

int hb, hm, hl, n = 0

for(HB = 0; hb; lt=100;hb =(1))

for(hm = 0;hm lt= 100-HB;hm =(2))

{

HL = 100-h B-(3);

if(hb/3 hm/2 2*(3)==100)

{

n;

printf("hb=d, hm=d, hl=d\n ", hb/3, hm/2, 2 * HL); /p>

}

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

}

2. Ordene los 10 caracteres de entrada y envíelos en orden ascendente.

#Definición número 10

char str[N]

void main()

{

int i, bandera

for(bandera = 1; bandera = = 1;)

{

scanf("s ", str);

bandera = 0;

printf(" \ n ");

}

sort(_ _ _(4)_);

for(I = 0; i ltn; i )

{

printf("c ", str[I]);

}

printf(" \ n ");

}

sort(charstr[n])//clasificación de burbujas

{

int i, j;

char t;

para(j = 1; j ltn; j )

para ( I = 0;ilt10-j;i)

if(str[i]>str[i 1])

{

t = str [I ];

____(5)____;

____(6)____;//Intercambiar posiciones

}

}

3. El siguiente programa es una función, su función es encontrar la suma de los valores de todos los elementos externos de una matriz de segundo orden (matriz de M filas N columnas). (En este programa, la matriz de segundo orden está representada por una matriz unidimensional).

Por ejemplo, la matriz es:

3 0 0 3

2 5 7 3

1 0 4 2

Entonces la suma de los valores de todos los elementos externos es 3 0 0 3 2 3 1 0 4 2 = 18.

add(int m, int n, int arr[])

{

for(I = 0; i ltm; i = i m-1 )

for(j = 0; j ltn; j )

suma = suma _ _ _ _(7)_ _ _ _ _;

for (j = 0; j ltn; j = j n-1)

for(I = 1; ____(8)____; i )

suma = suma arr[I * n j];

Return (sum);

}

4. Utilice punteros como parámetros de función para programar para encontrar los valores máximos y mínimos de los elementos. una matriz unidimensional.

#Definición número 10

main()

{

void maxmin(int arr[], int *pt1, int * pt2, int n);

int array[N]={10, 7, 19, 29, 4, 0, 7, 35, -16, 21}, *p1, *p2, a, b;

p 1 = amperio;

p2 = amperio

maxmin(matriz, p1, p2, N); p>printf("max=d, min=d ", a, b);

}

void maxmin(int arr[], int *pt1, int *pt2, int n)

{

int I;

* pt 1 = * pt2 = arr[0];

for(I = 1;iltn;i)

{

if(arr[I] gt;*pt1)

____(9)____;

if(arr[I] lt; *pt2)

____(10)____;

}

}

Responder

Preguntas de opción múltiple (24 puntos, 2 puntos por cada pregunta)

1. (C) 3. (2)

4.(D)5. (D) 6. (1)

7.(D)8. (1)9. (4)

10. (C) 12. (4)

2. Juzgue si está bien o mal, marque “√” si está bien y marque “×” si está mal (20 puntos, 2 puntos por cada pregunta).

1.( × ) 2.( √ )

3.( √ ) 4.( × )

5.( × ) 6.( √ )

7.( √ ) 8.( × )

9.( √ ) 10.( √ )

Escribe los resultados del siguiente programa ( 36 puntos, cada pregunta son 6 puntos)

1.s=20

2.x=35 y=-4 s=-29

3.60, 50, 40, 30, 20, 10,

4.e C pr * am

5. Valor de la palabra: 1234

6. Alto w l

Byte alto: 12

Byte bajo: 34

Valor de palabra: 1274

El resultado es: 3ca8

Lea el siguiente procedimiento y complete el contenido apropiado para completar el procedimiento (20 puntos, 2 puntos por cada espacio en blanco)

1 (1) 3 (2) 2 (3)hm. hl

2.(4)str(5)str[I]= str[I 1](6)str[I 1]= t

3.(7)arr [ I * n j](8)I lt; m-1

4.(9)* ptr 1 = arr[I](10)* ptr 2 = arr[I]