Red de conocimiento del abogados - Preguntas y respuestas sobre la Ley de patentes - Preguntas del examen de idioma c de la Universidad Central Sur

Preguntas del examen de idioma c de la Universidad Central Sur

Prueba de programación en lenguaje C

1. Preguntas de opción múltiple (1 punto cada una, ***20 puntos)

1. Regulaciones del lenguaje C: la ubicación. de la función principal en un programa fuente (①).

A. Debe estar al principio

B. Debe estar después de la función de biblioteca llamada por el sistema

C. p>D Debe estar al final

2. Entre las siguientes cuatro opciones, la opción que es un número de punto flotante legal es (①).

A.+1e+1 5e-9.4 03e2

B. -.60 12e-4 -8e5

C. 2e-1

D. -e3 .8e-4 5.e-0

3. Si a=-14, b=3, entonces la expresión condicional a

A. -14 B. -13 C. 3 D. 4

4. Conocido: int n,i=1,j=2; ?i++:j++;Entonces los valores de i y j son (①).

A.

5. Para determinar si dos cadenas s1 y s2 son iguales, debes usar (①)

A if (s1==s2) B. if(s1=s2)

C. if (strcmp(s1,s2))

D if (strcmp(s1,s2)==0)

6. es (①) .

A. Las definiciones de funciones se pueden anidar, pero las llamadas a funciones no se pueden anidar.

B. Las definiciones de funciones no se pueden anidar, pero las llamadas a funciones sí se pueden anidar.

C. Las definiciones de funciones y las llamadas a funciones no se pueden anidar.

D. Las definiciones de funciones y las llamadas a funciones se pueden anidar.

7. En lenguaje C, la siguiente descripción incorrecta de la función es (①).

A. Cuando se utiliza un nombre de matriz como parámetro formal, los cambios en el valor del grupo de parámetros formales pueden hacer que el valor del grupo de parámetros real cambie en consecuencia.

B. Permitir llamadas a funciones recursivas.

C. El alcance de los parámetros de la función solo se limita a la función definida.

D. La subfunción debe ubicarse antes de la función principal.

8. Si una variable se define en una declaración compuesta en una función, la siguiente declaración correcta es (①).

A. Esta variable solo es válida en esta declaración compuesta

B. Esta variable es válida en esta función

C. este programa Todos son válidos

D. Esta variable es una variable ilegal

9. La forma de función correcta a continuación es (①).

A. doble diversión(int x,int y) { z=x+y;return z;}

B. z;}

C. diversión(x,y) { int x,y; doble z; z=x+y; retorno z;}

D. x,int y) {double z; z=x+y; return z; }

10.

#include

#define F(y) 8.19-y

#define PRINT(a) printf("%d", (int)(a))

void main(void)

{

int x=2;

PRINT(x* F(3));

}

A. 10 B. 13 C. 11 D. Error

11. programa son ambos. El correcto es (①).

A. void main(void)

{

unión

{

int

>

flotante x;

} comm={1};

printf("%d",comm.n

}

B. B. void main(void)

{

unión

{

int n;

flotante x;

} comm={12.5};

printf("%f",comm.x

}

);

C. void main(void)

{

unión

{

flotante x; int n;

} comm={12.5}

printf("%f",comm.x

}

); D. D. void main(void)

{

union

{

int n

float x;

} comm=5;

printf("%d", comm.n);

}

12. : int a=1,*p=&a; float b=2.0; char c='A';

A. p++; B. a--; C. b++; D. c--;

13. un valor de la variable a es incorrecto, el motivo del error es (①).

main()

{

int *p,*q,a,b;

p=&a;

printf("entrada a:");

scanf("%d",*p);

}

A. *p representa la dirección de la variable de puntero p

B. *p representa el valor de la variable a, no la dirección de la variable a

C. representa el valor de la variable de puntero p

D. *p solo se puede usar para indicar que p es una variable de puntero

14 Si num, a, byc son todos For. una variable de tipo int, ejecute la expresión num=(a=4,b=16,c=32; el valor de num después de eso es (①);

A. 4 B. 16 C. 32 D. 52

15. Existen las siguientes definiciones y declaraciones de entrada Si los valores de a1, a2, c1 y c2. deben ser 10 respectivamente, 20, A y B, al ingresar datos de la primera columna, el método de ingreso de datos correcto es (①), (Nota: _ significa un espacio)

int al,a2 ,char c1,c2 ;

scanf("%d%c%d%c",&a1,&c1,&a2,&c2);

10A_20_B B. 10_A_20_B C. 10A20B D. 10A20_B

16. Si hay una descripción: int a[10], entonces la referencia correcta al elemento de una matriz es (①).

A. a[10] B. a[3.5] C. a[5-3] D. a[-1]

17. La definición de una matriz es:

Nombre de matriz del especificador de tipo ①;

A [Expresión constante entera] B. [Expresión]

C . constante] D. [Expresión entera]

18. La siguiente declaración que puede inicializar correctamente la matriz unidimensional a es (①).

A. en a[10]=(0,0.0,0,0);

B.int a[10]={}; {0};

D. int a[10]={10*1};

19.

x=-1;

hacer

{

x=x*x;

}

while(! >

20. La siguiente descripción incorrecta del ciclo do- while es (①).

A. El cuerpo del bucle do- while debe ejecutarse al menos una vez

B. El bucle do- while comienza con do y termina con while. No se puede escribir un punto y coma después de. while (expresión)

C. En el cuerpo del bucle do- while, debe haber una operación que pueda hacer que el valor de la expresión después de while cambie a cero ("falso")

D. do- while El cuerpo del bucle puede ser una declaración compuesta

2. Preguntas de verdadero o falso (1 punto cada una, ***15 puntos)

1. estipula que las letras en los identificadores generalmente distinguen entre mayúsculas y minúsculas.

2. El dispositivo de entrada estándar de la consola generalmente se refiere al teclado.

3. Cuando se utilizan bucles while y do- while, la operación de inicialización de la variable del bucle debe procesarse antes de la declaración del bucle.

4. La función de la instrucción continuar en el cuerpo del bucle es finalizar la ejecución de todo el bucle.

5. El valor de una expresión relacional es 0 o 1.

6. Si hay una descripción: int a[3][4]={0}, entonces solo el elemento a[0][0] puede obtener el valor inicial 0.

7. Las cadenas se almacenan en la memoria como matrices unidimensionales.

8. Un elemento en la matriz de caracteres almacena un carácter.

9. El último carácter de la matriz de caracteres debe ser '\0'.

10. Cuando el parámetro formal es una variable de puntero, el parámetro real debe ser un nombre de matriz.

11. Cuando se utiliza un nombre de matriz como parámetro de función, se pasa el valor de la matriz.

12. Las variables globales pueden ser utilizadas por cualquier expresión en cualquier función.

13. Una función puede recuperar un valor entero, un valor de carácter, un valor real, etc., o también puede recuperar datos de tipo puntero.

14. Las expresiones i++ y ++i tienen exactamente la misma función en cualquier situación.

15. En una expresión de asignación, el tipo de datos de la variable en el lado izquierdo del número de asignación y el valor de la expresión en el lado derecho pueden ser diferentes.

3. Preguntas de opción múltiple (1 punto cada una, ***5 puntos)

1 Si se requiere indicar que a no es igual a 0 en un par de. paréntesis después de la relación if, esta relación no se puede expresar correctamente

La expresión es (①).

A. a<>0

B. !a

C. a=0

D. a

E. a!=0

2. Seleccione todas las constantes legales (①).

A. 3e22.5

B. -e-3

C. -.1e-1

D. 'BÁSICO'

E. '\045'

F. 0fd

G. 0xfdaL

H. e8

I. '\\'

J. "\""

3. ¿Cuál de las siguientes afirmaciones sobre prototipos de funciones es incorrecta?

(1) "Definición" y "declaración" de variables son lo mismo, y " "definición" de funciones es lo mismo. "Definición" y "declaración" también son lo mismo.

(2) Al declarar un prototipo de función, se permite escribir solo el tipo del parámetro sin escribir el nombre del parámetro.

(3) Si no especifica el tipo de función al definir una función, el sistema especificará implícitamente el tipo de función como int.

(4) Al llamar a una función, el nombre de la función, el número de parámetros reales y el tipo de parámetros reales deben ser coherentes con el prototipo de la función.

(5) Si la definición de la función llamada aparece antes de la función que llama, no es necesario declararla.

(6) Todas las funciones pueden llamarse entre sí.

(7) En lenguaje C, todas las funciones son paralelas. Una función no puede estar subordinada a otra función, es decir, no puede estar anidada.

(8) Si la función no devuelve un valor, el tipo de función se puede omitir al definir.

(9) En lenguaje C, no se permite que la definición de ninguna función esté vacía.

(10) El lenguaje C estipula que la transferencia de datos de variables de parámetros reales a variables de parámetros formales es "transferencia de valor".

4. Seleccione 5 afirmaciones correctas de las siguientes afirmaciones sobre punteros.

(1) El puntero es la dirección.

(2) Los punteros deben asignarse antes de su uso.

(3) Cuando el puntero p apunta a la primera dirección de la matriz a, dado que tanto p[i] como a[i] pueden referirse a los elementos de la matriz, p y a son equivalentes aquí.

(4)int *p significa que se define una variable de puntero p que apunta a datos de tipo int.

(5) El puntero de la matriz se refiere a la dirección inicial de la matriz.

(6) Si se define int a[4],*p=a, entonces p después de p++ apunta al segundo byte de la memoria ocupada por la matriz a.

(7) El uso de variables de puntero como parámetros de función adopta el método de "transferencia de valor".

(8) Se pueden restar punteros del mismo tipo.

(9) Las variables puntero, como muchas variables, pueden realizar cuatro operaciones aritméticas.

(10) El puntero p apunta al elemento de la matriz a[2]. Si quieres que apunte a a[4], simplemente ejecuta p=p*2.

5. Entre las siguientes descripciones de matrices, las cinco afirmaciones más precisas son:

(1) El tamaño debe especificarse al declarar una variable de matriz.

(2) Se debe utilizar una expresión constante para describir el tamaño de una variable de matriz.

(3) Al inicializar la matriz, el número de datos entre llaves debe ser el mismo que el tamaño de la matriz.

(4) Existe una definición de variable int a[3]={0,1,2},b[3];, puedes usar b=a para hacer que cada elemento de la matriz b y cada elemento de a elementos son iguales.

(5) En lenguaje C, las cadenas se pueden procesar como matrices de caracteres.

(6) define la matriz de caracteres char c[11]; para asignarle un valor, puede usar c="china";.

(7) Si hay char s[15]={"Soy un\0 estudiante"};, entonces el valor de strlen(s) es 6.

(8) En lenguaje C, el orden en que se organizan los elementos en una matriz bidimensional es: almacenados en filas.

(9) En lenguaje C, las variables de matriz local no se pueden inicializar.

(10) El tamaño de la matriz debe especificarse al inicializar la matriz al declarar.

4. Preguntas sobre el resultado de la operación del programa (cada pregunta es de 4 puntos, ***20 puntos)

1 (4 puntos)

El resultado de la operación de el siguiente programa Sí (①).

#include

void main(void)

{

int i;

char a[]="Hora",b[]="Tom";

for(i=0;a[i]!='\0'&&b[i]!='\0 ';i++)

if (a[i]==b[i])

if (a[i]>='a' && a[i]<= ' z') printf("%c",a[i]-32);

else printf("%c",a[i]+32);

else printf ("*");

}

2. (4 puntos)

El resultado de ejecución del siguiente segmento del programa es (①).

i=1;s=3

hacer

{

s+=i++;

si ( s%7==0) continuar;

else ++i;

} whlie(s<15);

printf("%d", i);

3. (4 puntos)

Si ingresa: 5999 durante la ejecución, el resultado de ejecución del siguiente programa (conservando un decimal) es (①).

void main(void)

{

int x;

float y;

scanf(" %d",&x);

si (x>=0 && x<=2999) y=18+0.12 * x;

si (x>=3000 && x< =5999) y=36+0.6*x;

if (x>=6000 && x<=10000) y=54+0.3*x;

printf("%6.1 f",y);

}

4. (4 puntos)

El resultado de ejecución del siguiente programa es (①).

void main(void)

{

int a=1,k;

for(k=0;k<3 ;k++) printf("%4d",f1(a))

}

int f1(int x)

{

static int z=3,y=0;

y++;

z++;

return(x+y+z);

}

5. (4 puntos)

La función del siguiente programa es calcular la función F(x,y,z)=(x+y)/( x-y)+( Para el valor de z+y)/(z-y), complete el espacio en blanco.

#include

#include

float fun1(float,float);

void main(void)

{

float x,y,z,sum;

scanf("%f%f%",&x,&y, &z);

suma=fun1( ① )+ fun1 ( ② );

printf("suma=%f\n",suma);

}

float fun1(float a, float b)

{

float num;

num=a/b;

p>

return num;

}

5. Programa de preguntas para completar en blanco (2 puntos cada una, ***20 puntos)

1. A continuación La función del programa es utilizar la fórmula: π×π/6=1/(1×1)+1/(2×2)+1/(3×3) +......

Encuentra valores aproximados de π hasta que el valor del último término sea menor que 10e-6.

#include

#include

void main(void)

{

largo i=1;

① pi=0;

mientras (i*i<=10e+6) { pi= ② }

pi=sqrt(6.0*pi);

printf("pi=%10.6f\n",pi);

}

2. La función del siguiente programa es leer los caracteres que se indican a continuación en la matriz str1 de acuerdo con su formato de matriz y generar los elementos de la matriz cuya suma de números de fila y columna es 3.

void main(void)

{

char str1[4][3]={'A','b','C',' d','E','f','G','h','I','j','K','i'

};

int x,y,z;

for(x=0;x<4;x++)

for(y=0; ① ;y++)

{

z=x+y;

if ( ② ) printf("%c\n",str1[x][y]);

}

}

3. La función del siguiente programa es calcular la edad de los estudiantes mediante un método recursivo. Se sabe que el primer estudiante es el más joven, de 10 años. , y los estudiantes restantes tienen 2 años más que el otro, encuentre la edad del quinto estudiante.

La fórmula recursiva es la siguiente:

edad(1)=10

edad(n)=edad(n-1)+2 (n> 1)

#include

int edad(int n)

{

int c;

if (n==1) c=10;

else c= ① ;

return c;

}

4. La función del siguiente programa es determinar si el año de entrada es bisiesto.

void main(void)

{

int año,yes;

scanf("%d",&year);

si (año%400==0) sí=1;

si no ( ① ) sí=1;

si no ② ;

if(yes) printf("%d es ",año);

else printf("%d no es ",año);

printf("un año bisiesto .\n");

}

5. Se implementa el siguiente programa: ingrese tres números enteros y envíelos en orden de mayor a menor.

void main(void)

{

int x,y,z,c;

scanf("%d %d %d",&x,&y,&z);

si ( ① ) { c=y;y=z;z=c;}

si ( ② ) { c= x;x=z;z=c;}

if ( ③ ) { c=x;x=y;y=c;}

printf("%d,% d,%d",x,y,z);

}

6. Preguntas para completar en blanco (1 punto cada una, ***20 puntos)

1. En lenguaje C, el número de bytes ocupados por datos de tipo flotante en la memoria es (①) bytes; el número de bytes ocupados por datos de tipo doble en la memoria es (②) bytes.

2. Si hay una definición: char c='\010'; entonces el número de caracteres contenidos en la variable C es (①).

3. La unidad básica del programa fuente C es (①).

4. En lenguaje C (tomando como ejemplo una PC de 16 bits), el número de bytes que ocupan los datos de tipo char en la memoria es (①);

Un int El número de bytes ocupados por datos de tipo en la memoria es (②).

5. Ya definido:

int m;

float n,k;

char chl,ch2;

Para hacer m=3, n=6.5, k=12.6, ch1='a', ch2='A', el formato de los datos de entrada es:

3 6.5 12.6aA

La declaración scanf correspondiente es (①);.

6. Después de ejecutar el siguiente fragmento de programa, el valor de x es (①).

i=10;i++; es (①).

for(a=1,b=5;a<=b;a++) c=a+b;

8. El número de ejecuciones del cuerpo del bucle a continuación. Declaración do- while Sí (①).

a=10;

b=0;

hacer { b+=2; ;

9. Supongamos que x e y son variables de tipo int, entonces el número máximo de veces que se puede ejecutar la instrucción scanf en el siguiente bucle for es (①).

for (x=0,y=0;y!=123&&x<3;x++)

scanf ("%d",&y);

10. Si existen las siguientes definiciones y declaraciones:

int *p[3],a[9],i;

for(i=0;i<3;i++ ) p [i]=&a[3*i];

Entonces *p[0] se refiere al elemento de la matriz (①); *(p[1]+1) se refiere al elemento de la matriz ( ②).

11. Supongamos que a=3, b=4, c=5, entonces el valor de la expresión a||b+c&&b==c es (①).

12. El operador para la operación lógica AND es (①).

13. Si a=6,b=4,c=2, entonces el valor de la expresión!(a-b)+c-1&&b+c/2 es (①).

14. El número de ejecuciones del cuerpo del bucle en el siguiente fragmento de programa es (①) veces.

for(i=1,s=0;i<11;i+=2) s+=i;

15. >

int a[4]={0,1,2,3},*p;

p=&a[2];

Entonces el valor de *- -p es (①).

16. Después de ejecutar el siguiente segmento del programa, el valor de s es (①)

int a[]={5,3,7,2,1,5,3. ,10 },s=0,k;

for(k=0;k<8;k+=2)

s+=*(a+k);

17. Después de ejecutar el siguiente segmento del programa, el valor de m es (①)

int a[]={7,4,6,3,10},m,k,* ptr;

p>

m=10;

ptr=&a[0];

for(k=0;k<5;k+=2)

m=(*(ptr+k)

Respuesta:

1. (20 puntos)

p>

1.~5.CBACD 6.~10.BDADB

11.~15.CABCC 16.~20.CACCB

2. Preguntas de Verdadero o Falso (15 puntos)

√√√×√ √√√×× × √

3. Preguntas de opción múltiple (5 puntos)

1.ABC 2. CEGIJ 3.ADFHI 4.ABDEH 5.BEGHI

4. Preguntas sobre resultados de operación del programa (20 puntos)

1. >

2. 8

3. 3635.4

4 6 8 10

5. /p>

Cinco preguntas para completar en blanco (20 puntos)

1.doble ②pi+1.0/(i*i)

2. <3 ②z==2

3 ①edad(n-1)+2

4 ①año%4==0&&año%100!=0 ②sí=0

5. ①z>y ②z>x ③y>x

6. Preguntas para completar en blanco (20 puntos)

1.

2. ①1 / 1

3. ①Función

4. ①1 / uno ②2 / dos

5. d%f%f%c%c",&m,&n,&k,&ch1 ,&ch2)

6. ①12

7. ①10

8. ①3..9. ①3..10. ①a[0] ②a[4]

11.

16. ①16

17.