Test cuestionario de programación en C - the question form
Preguntas: 16 · 10 minutos
1. ¿Cuál es el valor de sizeof(s) en esta declaración?
char s[] = ""cat"";
3, porque solo cuentan las letras visibles
4, porque el arreglo también contiene el carácter nulo de terminación
5, porque la declaración agrega un byte de longitud
El tamaño de un puntero a char
2. ¿Qué sucede cuando se evalúa esta condición con x igual a 0?
if (x != 0 && 10 / x > 2)
Se evalúan ambos operandos, lo que provoca una división entre cero
La condición es verdadera porque se ignora el segundo operando
La condición es falsa y 10 / x no se evalúa
El código no compila porque && no puede contener operaciones aritméticas
3. ¿Qué hace principalmente en C una directiva como #define MAX 100?
Crea una variable llamada MAX durante la ejecución
Indica al enlazador que busque un símbolo llamado MAX
Define una macro que se procesa durante el preprocesamiento
Crea en memoria un objeto constante con comprobación de tipos
4. ¿Cuál es el propósito habitual de una instrucción break dentro de un caso de switch?
Reiniciar el switch usando el siguiente valor de la expresión
Saltar directamente a la etiqueta default
Salir del switch y evitar que la ejecución continúe en los casos posteriores
Finalizar de inmediato todo el programa
5. ¿Qué devuelve malloc cuando una asignación de memoria tiene éxito?
Un objeto completamente inicializado del tipo solicitado
Un puntero a un bloque de memoria asignado dinámicamente del tamaño solicitado
Un arreglo de caracteres que siempre está lleno de ceros
La cantidad de bytes reservados en la pila
6. ¿Qué encabezado estándar declara la función printf?
<stdio.h>
<stdlib.h>
<string.h>
<math.h>
7. ¿Qué imprime este código?
int next(void) {
static int n = 0;
n++;
return n;
}
int first = next();
int second = next();
printf(""%d %d"", first, second);
1 2
1 1
0 1
2 2
8. Dado int a[10];, en el mismo ámbito en el que se declara el arreglo, ¿qué expresión se evalúa como el número de elementos de a?
sizeof(a[0])
sizeof(a)
sizeof(a) / sizeof(a[0])
sizeof(&a) / sizeof(int)
9. Si p es un puntero a una estructura, ¿qué operador permite acceder a uno de los miembros de esa estructura a través de p?
El operador punto: p.member
El operador de ámbito: p::member
El operador de dirección: p&member
El operador flecha: p->member
10. ¿Qué valor imprime este código?
int sum = 0;
for (int i = 1; i <= 5; i++) {
if (i % 2 == 0) continue;
sum += i;
}
printf(""%d"", sum);
6
15
10
9
11. ¿Qué imprime este código?
int x = 5;
int *p = &x;
*p = 8;
printf(""%d"", x);
5
Un valor indeterminado
La dirección de x
8
12. ¿Qué imprime este código?
int a[3] = {10, 20, 30};
int *p = a;
printf(""%d"", p[2]);
10
30
20
La dirección de memoria del tercer elemento
13. ¿Qué carácter marca el final de una cadena en C?
El carácter nulo '\0'
Un carácter de nueva línea '\n'
Un carácter de espacio ' '
El marcador de fin de archivo EOF
14. ¿Qué imprime este programa?
void set_to_zero(int n) {
n = 0;
}
int main(void) {
int x = 7;
set_to_zero(x);
printf(""%d"", x);
}
7, porque la función recibe una copia de x
Un valor indeterminado, porque la función modifica n
0, porque n hace referencia directamente a x
Nada, porque no se puede pasar un int a una función void
15. ¿Qué modo abre un archivo de texto para que la nueva salida se escriba al final, en lugar de reemplazar su contenido actual?
""w""
""a""
""rb""
""r+""
16. ¿Qué valor imprime este bucle?
int sum = 0;
for (int i = 1; i <= 4; i++) {
sum += i;
}
printf(""%d"", sum);
6
9
15
10