Ejercicios de programación en lenguaje C
1. Preguntas de opción múltiple (***15 preguntas, 2 puntos cada una, ***30 puntos)
1. La palabra clave que define la estructura es ( )
A. union B. enum C.struct D.typedef
2 Supongamos que la variable entera a es 5 y la expresión que hace que b no sea 2 es ( )
A. b=a/2 B. b=6-(--a) C. b=a%2 D. b=a>3?2:1
3. siguiente Es un método incorrecto de asignación de cadenas o asignación de valores iniciales ( )
A.char *str= “china”
B. 'c', 'h', 'i', 'n', 'a'};
C. char str1[]= “china”,str2[]=“123”;
D. char str1[10]; str1= “china”;
4. La siguiente inicialización correcta de la matriz bidimensional a es ( )
A. int a[2][3]={{1,2},{3,4},{5,6}}; B. int a[ ][3]={1,2,3,4,5, 6 };
C. int a[2][ ]={1,2,3,4,5,6}; , {3,4}};
5. Elija cuál de los siguientes identificadores no es un identificador legal ( )
A. hot_do B. cat1 C. _pri D. 2ab
6. ¿Cuál de las siguientes afirmaciones es correcta ( )
A. Los programas en lenguaje C siempre inician la ejecución desde la primera función
B. programa, la función a llamar debe estar definida en la función main()
C. Un programa en lenguaje C siempre comienza la ejecución desde la función main()
D. program La función main() debe colocarse al inicio del programa
7. Si se ha definido: int a[9], *p=a; declaraciones posteriores, no se puede expresar La expresión de la dirección a[1] es ( )
A. p+1 B. a+1 C. a++ D. ++p
A. *&j; C. i =&j; D. i=* *p;
9. Si la variable c es de tipo char, la expresión que puede determinar correctamente que c es una letra minúscula es ( )
A.'a'<=c<= 'z' B. (c>= 'a') || (c<= 'z')
C. 'a'<=c) y ( 'z'>=c) D. (c>= 'a') && (c<= 'z')
10. es ( )
main()
{ int a[]={1,2,3,4,5,6,7,8,9}, *p;
p=a;
*(p+3)+=2;
printf( “%d,%d
\n”,*p,*(p+3) }
A. 0, 5 B. 1, 6 C. 1, 5 D. 0, 6
11. El resultado de salida del siguiente programa es ( )
main()
{ int a=5;
float x=3.14;
a*=x*('E'- 'A');
printf(“%f\n”,(float)a }
A); 62.000000 B. 62.800000 C. 63.000000 D. 62
12. La salida del siguiente programa es ( )
#define f(x) x*x
<. p>principal (){ int a=6,b=2,c;
c=f(a)/f(b);
printf(“ %d\n”,c); }
A. 9 B. 6 C. 36 D. 18
13. ; int x[ 3][3]={1,2,3,4,5,6,7,8,9};
Entonces la declaración for(i=0;i<3; i++) printf(" El resultado de salida de %d ",x[i][2-i]); 3 6 9 p>
14. El resultado de salida del siguiente segmento del programa es ( )
void main()
{ int k;
.for (k=1 ;k<5;k++)
{ if(k%2!=0)
printf( “#” );
else
printf(“*”); }
}
A. #*#* B. *#*# C. ## D. **
15. El resultado de salida después de la ejecución del siguiente programa es ( )
int d=1;
fun (int p)
{ int d= 5;
d + =p + +;
printf("%d,",d }
<); p>main(){ int a=3;
fun(a);
d + = a + +;
printf("%d\n", d); }
A 8, 4 B. 9, 6 C. 9, 4 D. 8, 5
2. Complete los espacios en blanco (***7 preguntas, cada una con 2 puntos por vacía, 30 puntos por ***)
1. Array int a[3][5]; ***define _______________ elementos.
2. Si float f=3.1415927; entonces printf(“%5.4f”, f );
3. La función del siguiente programa es generar todos los números enteros dentro de 100 (excluyendo 100) que se pueden dividir por 3 y tienen un solo dígito de 6. Complete los espacios en blanco.
main()
{ int i;
for(i=1; _______________; i++)
if (_______________)
printf("%d", i);
}
4. Si se especifica "int x=2, y", la expresión de coma " The El valor de "y=x+5,x+y" es_______________
5. El siguiente es un programa que utiliza punteros para copiar cadenas. Complete los espacios en blanco.
main()
{ char a[]= “Universidad de Tsinghua”, b[30], *p1,*p2;
p1=a;
p2=b;
for(; *p1!= '_______________'; p1++, p2++)
_______________=_______________;
*p2= '_______________';
printf("la cadena a es:%s\n",a);
printf("la cadena b es:%s\n" ,b);
}
6. El siguiente programa utiliza el método de burbuja para ordenar la matriz a en orden descendente.
principal()
{ int a[5]={4,7,2,5,1}
int i,j,m;
for(i=0;i<4;i++)
for(j=0;j<_______________;j++)
if( _______________< _______________ )
{ m=a[ j]
a[ j]=a[ j+1]
a[ j+1]= m; ; }
for(i=0;i<5;i++)
printf("%d ",a[i]); /p>
7. La función de la función fun es almacenar una cadena en orden inverso.
void fun (char str[])
{ char m; int i,j
for(i=0,j=strlen(str) ;i<_______________;i++,j--)
{ m=cadena[i];
cadena[i]= _______________
cadena[j; -1]=m;
}
printf("la cadena rotada es %s\n",_______________);