Programación en lenguaje C 2015A Volumen-
1. En el estándar C, solo los datos numéricos pueden realizar cuatro operaciones mixtas.
2. En el estándar C, _a es un identificador personalizado legal.
3. Hay una definición: float f; la expresión f+=(int)3.6%2" no se ajusta a la sintaxis del lenguaje C.
4. En C estándar , solo lógica El resultado de la operación es 1, lo que significa que se cumple la condición, y el resultado es 0, lo que significa que no se cumple la condición
6 Los siguientes operadores están ordenados de mayor a menor. : '&;& amp', '! ', '==', '-'
7. Un programa en lenguaje C puede tener múltiples fuentes. Composición de archivos, cada archivo fuente puede tener su propia función main()
9.9.
10. La primera dirección de la matriz representada por el nombre de la matriz es una constante, por lo que es incorrecto pasar la dirección representada por el nombre de la matriz del parámetro real al nombre del grupo del parámetro formal.
11. Cuando la función no tiene un tipo de valor de retorno. Cuando, significa que el tipo de función es nulo.
En lenguaje 12. C, cuando se utiliza una variable de puntero. como parámetro de función, no se utiliza la transferencia de valor unidireccional
13. Solo se permite una declaración de devolución
14. la variable no está especificada,
15. Debido a que la dirección almacenada en el puntero es un número entero, los punteros enteros y los punteros de punto flotante pueden asignarse valores entre sí. 2. Complete los espacios en blanco (1 punto por cada espacio en blanco, ***15 puntos)
1. Si a = 4; b=. =-a); el valor de c es (1)
2. Calcular el valor de la expresión:
4&& El valor de -4: (2);
Supongamos que int a=3, b=4, c=5, entonces el valor de la expresión a | b+ c & amp & ampb==c: ( 3);
Supongamos que x = 2.5, a = 7, y = 4.7, entonces el valor de la expresión x+a%3*(int)(x+y)%2/4: (4) ;
Supongamos que =12, entonces el valor de la expresión a* = a/5:(5);
3. Si int x = 4, y = 6, z = 0;;Bucle while(x = y) {z++;y-;}
Después de ejecutar la instrucción de bucle, el valor z es (6). El puntero a la variable apunta a (7). variable.
5. Si se define int (*p)[4], entonces el identificador p es (8); si se define int *p[4], entonces el identificador p es (9) ;
6. Definición existente: char * p [] = { "Francia", "China", "Rusia", "Estados Unidos" }; ); printf(" % c ",*(p[1]+2)); printf("%c ",*(*(p+1)+1));
Los resultados de salida son (10), (11) y (12) respectivamente.
7. Definición existente: int x = 65. Si el resultado del formato de impresión es "A, 65", la declaración del formato de impresión correspondiente es printf(" (13+03), (14)", x , x, x).
8 Definido: int a [] [2] = {1, 2, 3, 4, 2, 6, 7, 2}; luego a[3][0] = (15).
Tres. Preguntas de respuesta corta (4 puntos cada una, ***12 puntos)
1. Describa brevemente la diferencia entre los pares de declaraciones if y else de la declaración de selección y la declaración de cambio.
2. Describe brevemente la diferencia entre break y continue en sentencias de bucle.
3. Si int a[5], * p = a; describe brevemente la diferencia entre *p++ y (*p)++.
4. Cada uno de los siguientes programas tiene dos errores. Señale la afirmación incorrecta y escriba la afirmación correcta correspondiente (cada pregunta tiene 4 puntos, ***16 puntos).
Programa Verb (abreviatura de verbo) rellena los espacios en blanco: Faltan varias frases en el programa siguiente. Complete las oraciones apropiadas en las líneas subrayadas correspondientes y complete solo una oración por cada línea subrayada (cada pregunta vale 6 puntos, * * * 24 puntos).
6. Lea el siguiente programa y escriba los resultados de la operación (el primer elemento es 4 puntos, el segundo elemento es 6 puntos y *** es 10 puntos).
7. Preguntas de programación (8 puntos)
La función del compilador es comparar los tamaños de cadenas (no se permite el uso de la función de comparación de cadenas strcmp proporcionada por el sistema). ). Los requisitos son:
(1) se implementa llamando a la función strcompare desde la función principal.
(2) La función strcompare es necesaria para comparar dos caracteres: si el primer carácter es menor que el segundo, se devuelve un valor negativo; si los dos caracteres son iguales, se devuelve el valor 0; si el primer carácter es mayor que el segundo carácter, se devuelve un valor positivo.
(3) Genera las subcadenas de las mismas partes de las dos cadenas.
Respuestas de referencia al examen "Fundamentos de programación en lenguaje C"
1 Preguntas de verdadero o falso (1 punto por cada pregunta, ***15 puntos)
1 ~5 ;6~10 ;11~15
2. Complete los espacios en blanco (1 punto por cada espacio en blanco, ***15 puntos)
(1) 6 (2) 1 (3) 1 (4) 2.5 (5) 24 (6) 6
(7) Puntero de fila de dirección (8), que apunta a una matriz unidimensional con cuatro elementos.
(9) Nombre de la matriz de punteros, tiene cuatro elementos, cada elemento es un puntero.
(10)Rusia(11)I(12)h(13)% c(14)% d(15)7
Tres. Preguntas de respuesta corta (4 puntos cada una, ***12 puntos)
1. Si siempre determina si el valor de la siguiente expresión es distinto de cero, ejecute la siguiente declaración o. use {} La declaración compuesta adjunta; de lo contrario, se ejecuta la siguiente declaración. La declaración de cambio se juzga en función del valor calculable de la siguiente expresión, y se ejecuta la declaración que sigue a una de las declaraciones de caso: valor constante igual en el cuerpo de la declaración de cambio. Después de ejecutar la declaración de interrupción, salte del cuerpo de la declaración de cambio.
2. Romper es terminar todo el proceso del ciclo; continuar es terminar el ciclo.
3.*p++ primero toma el valor de a[0], y luego p apunta a a[1] (*p)++ aumenta el valor de a[0] en 1, pero p permanece sin cambios.
4. Cada uno de los siguientes programas tiene dos errores. Señale la afirmación incorrecta y escriba la afirmación correcta correspondiente (cada pregunta tiene 4 puntos, ***16 puntos).
Falta 1 y (1)#include; (2)scanf("%f",a); cambiado a scanf("%f",&a);
2. (1) La suma faltante = 0; (2) for (I = 1; I<=3;I++) se cambia a for(I = 0; I<3;i++)
3. p2 se cambia a *p 1 = *P2(2)swap(&a, *p) se cambia a swap(&a,p)
4, (1) en if (m
Programa Verb (abreviatura de verbo) complete los espacios en blanco: Faltan varias oraciones en el programa a continuación Complete las oraciones apropiadas en el subrayado correspondiente, completando solo una oración por cada subrayado (cada una Una pregunta corta que vale 6 puntos. , * * * 24 puntos).
1, (1)x = 0; (2)if(n = = x)(3)s++ o s = s+1;
2, 4 & amp. ;núm[i] (5)máx<núm[i]? (6)núm[i]! =0
3, (7)n-i-1 (8)a[j]>a[j+1][9)a[j+1]=temperatura
4 , (10)cuenta = 0; (11)n % 10(12)n & gt; =0 o n
6. Lea el siguiente programa y escriba los resultados de la operación (el primer elemento es 4 puntos, el segundo elemento es 6 puntos y ***10 puntos).
1. #*#*#*
2. Principal i=1 j=2 k=2
sub i=1 j=2 k= 1 x=2
sub i=1 j=2 k=1 x=3
7 Preguntas de programación (8 puntos)
#Incluye p> p>
main()
{
int i, j, bandera = 0
char str1[90], str 2[ 90] ;
gets(str 1);
gets(str 2);
I = 0;
Hacer {
flag=strcompare(str1[i],str 2[I]);
i++;
} while(str1[i]!=""& ; &str2[i]!=""&&flag = 0);
if(flag<0) printf ("%s es menor que %s", cadena 1, cadena 2
);Elseif (flag == 0) printf ("%s es igual a %s", STR 1, STR 2
Elseprintf ("%s es mayor que %s", STR 1, STR); 2);
Printf("La misma cadena en las dos cadenas es:");
j = 0;
I-; puede ser str 1[I]=""; printf("%s ", str 1); también se puede usar str2 en lugar de //.
while(j & lt;i){printf("%c ", str 1[I]);j++;} span = " " & gt& lt/i){printf("%c " , str 1[I]); j++;} & gt
}
int strcompare(char c1, char c2)
{
int v;
v = c 1-C2;
Regresión v;
}