Examen "Conceptos básicos de programación-C"
1.
654380. Los programas en lenguaje C se pueden comentar y la parte del comentario debe estar encerrada entre los símbolos _ _ _ _.
a, '{y}' b, '[y]' c, '/* ' y ' */' d, ' */' y '/* '
2. Entre los siguientes operadores, el que tiene menor precedencia es _ _ _ _.
A, B, = C, D, =
3 Si las variables están definidas correctamente, el valor de la expresión (j=3, j) es _ _ _ _. _.
a, 3 B, 4 C, 5 D, 0
4. El código ASCII del carácter conocido 'a' es 97 y el resultado de la siguiente declaración es _. _ _ _ .
printf ("d, c ", ' b ', ' b ' 1);
a, 98, b B, declaración ilegal c, 98, 99 D, 98, c
5. El valor de la expresión strcmp ("box", "jefe") es un _ _ _ _ _.
a, número positivo b, número negativo c, 0 D, número indefinido
6. La matriz se define como int a[3][2]={1, 2, 3, 4, 5,6}, el valor del elemento de la matriz _ _ _ _ es 6.
a, a[3][2] B, a[2][1] C, a[1][2] D, a[2][3]
7. Al llamar a funciones matemáticas, _ _ _ _ _ _ _ debe incluirse en la línea de comando #include.
a, " stdio.h" B, " string.h" C, " math.h" D, " ctype.h "
8. y J Una expresión con un valor distinto de cero es _ _ _ _ _.
¡Yo! = 0 amperios amperios! =0 B, i*j! = 0°C ,!(i==0 || j==0) D, i amp ampj
9. Si A es una variable entera básica y C es una variable real de precisión simple, entonces enter La afirmación _ _ _ _ _ es incorrecta.
a. scanf("d, f ", amplificador uno, ampc);
c. scanf("df ", amp one, ampc); d, scanf("df ", a, c
10). (*p) es equivalente a At_ _ _ _ _.
a, p B, x C, *(p) D, ampx
11 Si p1 y p2 son punteros enteros, entonces p1 ya apunta a la variable X, sea. p2 También apuntar a X _ _ _ _ es correcto.
a, p2 = p 1; b, p2 = * * p 1; p2 = ampp 1; d, p2 = * p 1; segmento sí_ _ _ _ _.
int c[]={1, 3, 5};
int * k = c 1
printf("d ", * k) ;
a, 3 B, 5 C, 4 D, 6
13 La asignación o valor inicial incorrecto es _ _ _ _ _.
a. char str[]= " cadena ";
b. char str[7]={'s ', 't', 'r', 'I', ' n ', ' g ' };
c, char str[10]; str = " cadena
d, char str[7]={'s ', ' t ', ' r ', ' I ', ' n ', ' \ 0 ' };
14. Para la siguiente definición de estructura, p-> en str se agrega a _ _ _
.14. p>
Estructura {
int len
char * str
} * p;
a en el puntero str, B, C en el puntero P, D o superior señalado por str
15 Para la siguiente explicación, la asignación sintáctica y semánticamente correcta es _ _ _ _
a, c = * b, s[0]= a[0]; [1]; d, c = a;
Segundo, complete los espacios en blanco
1. Escriba el resultado de salida del siguiente segmento del programa
Punto flotante x1, x2;
x 1 = 3/2;
x2 = x 1/2
printf("d,.1f ", (int )x1 , x2);
2. Expresión (7
3. Escribe el resultado de salida del siguiente segmento del programa.
#Definir un 10 p>
#Definición B(Al lt; A 2)-2
printf("d ", B * 2);
4. La variable de carácter C es la letra inglesa.
5. Escribe el resultado de salida del siguiente segmento de programa
int k, x
for (k=0). , x =. 0;k lt= 9 amperios ampx! =10;k )
x = 2;
printf ("d,d ",k,x);
6. Escriba los resultados de salida de los siguientes segmentos del programa
printf("d, d ", NULL, EOF
7. siguiente función recursiva f, llámela. El valor de retorno de f (3) es _ _ _ _ _
f(integer n)
{ return((n gt; 0). ) ?2 * f(n-1) ) f(n-2):-1);}
8. Escribe el resultado de salida del siguiente segmento de programa
char. str[]= " hola \ t mundo \ n. ";
printf("d, c\n ", sizeof(str), *(str 10));
9. Después de ingresar 12345#, escriba el siguiente programa Resultados de salida.
void main()
{ char c;
for(c = getchar(); getchar()!='#'; c=getchar( ))
putchar(c);
}
10. Al ejecutar el programa find–nxouldtext.txt, el valor de * argv[1] es _ _ _ _ _ _.
Tres preguntas de lectura del programa
1. Si la entrada es 3 1 23, la salida del siguiente programa es _ _ _ _ _ _.
#Contiene "stdio.h"
void main()
{ int i, j, n, a[10]; p>scanf("d ", ampn);
for(I = 0;iltn;i)
scanf("d ", ampa[I]);
p>for(I = 0;i ltn;i)
for(j = 0;j ltn;j)
printf("d ",a[ ( I j) n]);
}
2. Si la entrada es 89 76 24 25 9 8 11 1635 4, la salida del siguiente programa es _ _ _ _ _ _.
#Contiene "stdio.h"
#Definición número 10
Principal()
{
int x[N], y1[N], y2[N];
int i, j, n1, n2, t, p;
n 1 = N2 = 0;
for(I = 0;iltn;i){
scanf("d", ampx[I]);
if(x[I ] 2 = = 0)y 1[n 1 ]= x[I];
si no y2[n2 ]= x[I];
}
for(I = 1;i ltn 1;i)
for(j = 0;j ltn 1-1;j)
if(y 1[j] gt; y1 [j 1]){
t = y 1[j]; y 1[j]= y 1[j 1]; }
for(I = 0;i ltN2-1;i){
p = I;
for(j = I 1;j ltN2 ; j )
if(y2[p] lt; y2[j])p = j;
if (p!=i){
t = y2[I]; y2[I]= y2[p]; y2[p]= t;
}
}
para(I = 0 ;iltn 1;i) printf("d,",y 1[I]);
for(I = 0;iltN2;i) printf("d",y2[I] );
}
3. La salida del siguiente programa es _ _ _ _ _ _.
# include ltstdio.h gt
int z
void p(int *x, int y)
{ * x ;
y-;
z = * x y z;
printf("d,d,d# ",*x,y,z); p>
p>
}
void main()
{ int x=1, y=5, z = 9
; p( amp; x , y);
printf("d,d,d# ",x,y,z);
}
4. Si -6 15 * 3/5 =, la salida del siguiente programa es _ _ _ _ _ _.
# incluir ltstdio.h gt
void main()
{
int m=0, suma = 0; p>
p>
char c, oldc = ' ';
hacer {
c = getchar();
if(c lt; = ' 9 ' amp ampc gt= ' 0 ')m = 10 * m c-' 0 ';
En caso contrario{
if(oldc = = ' ')sum = m;
p>
else suma-= m;
m = 0;
oldc = c; printf("d ",suma);
}
} while(c!='=');
}
Cuarto, el programa llena los espacios en blanco
La función del siguiente programa es crear una lista enlazada unidireccional.
# include ltstdio.h gt
# include ltalloc.h gt
Enlace de estructura {
Nombre del personaje[10];
etiqueta int;
estructura enlace * siguiente
};
inserción vacía (char *, int);
struct link * head = NULL
main()
{
Nombre del personaje[10];
etiqueta int;
estructura enlace * t;
mientras ( 1 ) {
scanf("s d ", nombre y marca
if ( strcmp(nombre, " # " = = 0)break;
______(1)_______;
}
for(t =cabeza;______(2 )_______)
printf(" lt; s gt: d\n ", t- gt; nombre, t- gt; marca
}
void insert(char * nombre, int marca)
{
struct link * p;
p = _ _ _ _ _ _(3)_ _ _ _ _ _ _ _;
strcpy(p- gt; nombre, nombre);
p->;mark=marca;
______( 4)_______;
si (cabeza! = NULL)_ _ _ _ _ _ _(5)_ _ _ _ _ _ _ _;
cabeza = p; p> p>
}
Respuestas
Respuestas de referencia a "Fundamentos de programación en C" para el año escolar 2000~2001
1. preguntas de elección
C D A D A B C B D B A B C A C
Segundo, completa los espacios en blanco
1 1, 0,5
2 1
3 -3
4c gt;= ' a ' amp ampc lt= ' z ' | c gt= ' A ' amp ampc lt='Z '
5 5, 10
6 0, -1
7 -17
8 13, d
9 13
10 'n '
Tres preguntas de lectura del programa
1 1, 2, 3, 2, 3, 1, 3, 1, 2,
2 4 , 8, 16, 24, 76 , 89, 35, 25, 11, 9,
3 2, 4, 6#2, 5, 9#
4 0, - 6, 9, 6, 1,
Cuarto, el programa llena los espacios en blanco
(1) Insertar (nombre, etiqueta)
(2) t! = NULLt = t- gt; entonces
(3)(struct link *)malloc(sizeof(struct link))
(4) p->next = NULL
(5) p->Next=Head
Programa
Rellene los espacios en blanco del programa sin cambiar las oraciones relacionadas con la entrada y la salida.
Ingresa un número entero positivo y repite (0
Dadas las coordenadas (x1, y1) y (x2, y2) de dos puntos cualesquiera en el plano, encuentra la distancia entre los dos puntos (Mantenga 2 decimales).
Es necesario definir y llamar a la función dist(x1, y1, x2, y2) para calcular la distancia entre dos puntos. Los tipos de parámetros de función x1, y1,. x2, y2 son todos. es doble y el tipo de función también es doble
Ejemplos de entrada y salida:
Entradas
1 (repetir=1). )
10 10(x 1 = 10, y1=10)
200 100 (x2=200, y2=100)
Salida
Distancia = 210.24
# incluir ltstdio.h gt
# incluir ltmath.h gt
doble dist(doble x1, doble y1, doble x2 , doble y2) ;
int main(void)
{
int repetición, ri;
Doble distancia, x1, y1 , x2, y2;
scanf("d ", repetir amplificador
for(ri = 1; ri lt=repetir; ri){
scanf(" lflflflf ", ampx1.y1.x2, ampy2);
/* - */
printf("Distancia = .2f\n ", distancia); p>
}
}
/* - */
Rellena los espacios en blanco según el procedimiento
Buscar todo los números del 1 al 100 que se pueden reemplazar por 6. La suma de números enteros divisibles por
# incluye ltstdio.h gt
int main(void)
{
int i, suma = 0;
/* - */
printf("d ",suma);
}
Rellene los espacios en blanco en el programa, no cambie las oraciones relacionadas con la entrada y la salida.
Ingrese un número entero positivo y repita (0
. Leer un número real x y un entero positivo n (n
Ejemplo de entrada y salida:
Entradas
2(repeat=2)
1,5 ^ 2(x = 1,5, n=2)
2 ^ 7 (x = 2, n=7)
Salida
2,25.
128.00
# incluir ltstdio.h gt
int main(void)
{
int i , n;
int repetir, ri;
doble mypow, x
scanf("d", amp repetir
for(ri = 1; ri lt=repeat; ri){
scanf("lfd ", ampx amp;n);
/* - */
printf(".2f\n ", mypow);
}
}
.....Hay muchas preguntas sobre programación~ ~ Puedo enviártelos si es necesario~