Тест: Fundamentos y Técnicas en Programación en C — 24 въпроса

Подробни въпроси и отговори

1. ¿Qué describe mejor la función main en un programa en C?

Es la parte donde se declaran todas las variables globales
Es la función de arranque del programa y debe tener tipo int
Es el archivo que contiene únicamente las directivas #include
Es la librería que contiene las funciones de entrada y salida

Es la función de arranque del programa y debe tener tipo int

Обяснение

La función main es el punto de inicio de la ejecución en C y su tipo de retorno debe ser int. Las directivas #include pertenecen a la cabecera, no a main.

2. ¿Qué hacen las directivas #include y #define en la cabecera de un programa en C?

Cargan librerías y fijan valores constantes
Compilan cada función por separado
Definen el punto de entrada y el valor de retorno
Reservan memoria para arrays y punteros

Cargan librerías y fijan valores constantes

Обяснение

#include sirve para incorporar librerías y #define para establecer constantes simbólicas. Ambas forman parte de la cabecera del programa.

3. ¿Cuál es la diferencia principal entre un error de sintaxis y un warning en compilación?

El error de sintaxis impide compilar y el warning solo avisa de un posible problema
Ambos significan que el programa produce un resultado incorrecto
Ambos aparecen únicamente durante la ejecución
El warning impide compilar y el error de sintaxis solo avisa

El error de sintaxis impide compilar y el warning solo avisa de un posible problema

Обяснение

Un error de sintaxis rompe la gramática del lenguaje y bloquea la compilación. Un warning, en cambio, no impide compilar pero señala un posible problema.

4. ¿Cuál de estas situaciones puede provocar un segmentation fault?

Usar una condición con &&
Acceder fuera de los límites de un array
Imprimir un entero con printf
Declarar una variable double

Acceder fuera de los límites de un array

Обяснение

Acceder fuera de los límites de un array puede intentar leer o escribir en memoria no permitida. Eso es una causa típica de segmentation fault.

5. ¿Para qué se usa mpz_t en GMP?

Para enteros de tamaño arbitrario
Para números complejos
Para caracteres de cadenas
Para matrices de precisión cuádruple

Para enteros de tamaño arbitrario

Обяснение

mpz_t es el tipo de GMP destinado a enteros de tamaño arbitrario. Para reales de precisión arbitraria se usa mpf_t.

6. ¿Qué debe hacerse antes de inicializar variables mpf_t para fijar su precisión?

Enlazar solo con -lm
Declarar las variables dentro de main
Usar printf con %lf
Llamar a mpf_set_default_prec(n)

Llamar a mpf_set_default_prec(n)

Обяснение

La precisión de mpf_t se fija con mpf_set_default_prec(n) antes de inicializar las variables. Así se define el número de bits de precisión que usarán.

7. ¿Qué condición debe cumplirse para que una expresión unida con && sea verdadera?

Que la primera subcondición sea verdadera
Que solo una subcondición sea verdadera
Que todas las subcondiciones sean falsas
Que todas las subcondiciones sean verdaderas

Que todas las subcondiciones sean verdaderas

Обяснение

El operador && exige que todas las condiciones conectadas sean verdaderas. Si una sola es falsa, el resultado es falso.

8. ¿Cuándo son necesarias las llaves en un if en C?

Solo cuando se usa un else
Solo cuando la condición contiene &&
Nunca, porque if no admite bloques
Cuando el if ejecuta varias sentencias

Cuando el if ejecuta varias sentencias

Обяснение

Si el if debe ejecutar varias sentencias, es necesario agruparlas con llaves. Sin ellas, solo la primera sentencia quedaría asociada al if.

9. ¿Qué función de C se usa para leer datos desde el teclado siguiendo un formato?

printf
scanf
switch
strlen

scanf

Обяснение

scanf es la función de entrada que lee datos según un formato y los guarda en variables. printf, en cambio, se usa para mostrar salida formateada.

10. ¿Por qué en scanf se escribe &a para leer una variable entera?

Porque & imprime el valor en pantalla
Porque & convierte el entero en doble
Porque & evita que se use un formato
Porque scanf necesita la dirección donde guardar el valor

Porque scanf necesita la dirección donde guardar el valor

Обяснение

scanf modifica la variable y por eso necesita su dirección de memoria. El operador & proporciona esa dirección.

11. ¿Qué estructura se forma cuando un bucle está dentro de otro?

Un bucle recursivo
Un bloque de selección
Un bucle anidado
Un bucle condicional

Un bucle anidado

Обяснение

Un bucle anidado es un bucle contenido dentro de otro, útil para recorrer estructuras como matrices. Permite manejar dos índices de forma coordinada.

12. En un array multidimensional, ¿qué índice cambia más deprisa al recorrerlo de forma lineal?

El último índice
El primero índice
El índice central
Ningún índice cambia más deprisa

El último índice

Обяснение

Al recorrer un array multidimensional en memoria lineal, el último índice es el que varía más rápidamente. Esto coincide con el orden de almacenamiento contiguo en C.

13. ¿Qué ocurre si un case coincide en un switch y no aparece break?

Se ejecuta siempre default antes de seguir
El programa salta al primer case
La ejecución continúa en los casos siguientes
El switch se cierra inmediatamente

La ejecución continúa en los casos siguientes

Обяснение

Sin break, el flujo cae al siguiente case, fenómeno conocido como fall-through. break es lo que detiene la ejecución del switch en ese punto.

14. ¿Qué papel tiene default en una sentencia switch?

Se usa para detener el programa
Solo se ejecuta si hay break
Se ejecuta antes de evaluar los case
Se ejecuta cuando ningún case coincide

Se ejecuta cuando ningún case coincide

Обяснение

default es la ruta por defecto del switch y se ejecuta cuando no coincide ningún case. No sustituye a break, que sirve para cortar la ejecución.

15. ¿Qué representa un array unidimensional en C?

Una tabla de punteros a funciones
Un bloque de memoria reservado solo para texto
Un conjunto de variables de tipos distintos
Una secuencia indexada de elementos del mismo tipo en memoria contigua

Una secuencia indexada de elementos del mismo tipo en memoria contigua

Обяснение

Un array unidimensional almacena elementos del mismo tipo de forma contigua y se accede a ellos mediante índices. Esa es su característica básica.

16. ¿Cuándo se necesita un prototipo de función?

Solo cuando la función devuelve void
Solo cuando la función usa arrays
Nunca, porque el compilador deduce siempre la firma
Cuando la función está definida después de main o en otro fichero

Cuando la función está definida después de main o en otro fichero

Обяснение

Si la función no está definida antes de ser llamada, el compilador necesita conocer su firma mediante un prototipo. Esto ocurre, por ejemplo, cuando la definición va después de main o en otro fichero.

17. ¿Qué diferencia principal existe entre paso por valor y paso por referencia?

Con paso por valor no se pueden pasar argumentos
Con paso por valor la función siempre cambia la variable original
Con paso por referencia la función puede modificar la variable original mediante punteros
Con paso por referencia no se usan direcciones

Con paso por referencia la función puede modificar la variable original mediante punteros

Обяснение

En paso por referencia se pasa la dirección y la función puede modificar la variable original. En paso por valor, en cambio, la función recibe copias.

18. ¿Qué función proporciona la librería string.h para trabajar con cadenas de caracteres?

Funciones para definir constantes
Funciones para leer ficheros binarios
Funciones estándar para manipular cadenas
Funciones para compilar programas

Funciones estándar para manipular cadenas

Обяснение

string.h agrupa funciones estándar para trabajar con cadenas de caracteres en C. Es la librería específica de manipulación de cadenas.

19. ¿Qué elemento es indispensable en una función recursiva para evitar llamadas infinitas?

Una condición base
Un prototipo de función
Un bucle for externo
Un puntero doble

Una condición base

Обяснение

Toda recursión necesita una condición base que detenga las llamadas. Sin ella, la función seguiría llamándose indefinidamente.

20. ¿Cómo se calcula el determinante por la regla de Laplace al fijar una fila?

Restando la primera fila de la última
Multiplicando todos los elementos de la diagonal
Sumando términos con menores complementarios y signos alternos
Aplicando solo operaciones de intercambio de filas

Sumando términos con menores complementarios y signos alternos

Обяснение

La regla de Laplace desarrolla el determinante mediante menores complementarios y signos alternos. Es el método descrito para calcularlo por una fila o columna fija.

21. ¿Cuál es el formato de salida del ejercicio del factorial en fichero?

Guardar el resultado en memoria sin archivo
Volcar solo el último dígito del factorial
Escribir N! en factorial.dat con 80 números por línea
Escribir cada dígito en una línea distinta

Escribir N! en factorial.dat con 80 números por línea

Обяснение

El ejercicio pide escribir el factorial en factorial.dat con 80 números por línea. Además, debe evitarse imprimir ceros a la izquierda.

22. ¿Qué criterio de parada se usa en la exponencial de matrices al escribir el resultado en fichero?

Que el error en cada elemento sea menor que 10^-12
Que la matriz sea diagonal
Que la suma de elementos sea cero
Que el fichero tenga menos de 80 caracteres

Que el error en cada elemento sea menor que 10^-12

Обяснение

La exponencial de matrices se detiene cuando el error en cada elemento de e^A es menor que 10^-12. Ese umbral marca la convergencia requerida.

23. ¿Qué valor inicial se usa para comenzar la suma de la serie matricial?

La matriz identidad
La matriz nula
Una matriz aleatoria
La matriz transpuesta

La matriz identidad

Обяснение

La serie matricial comienza con la matriz identidad, que actúa como valor inicial neutro. También se inicializa S con la identidad antes de iterar.

24. ¿Cómo se decide en la práctica que la serie matricial ha convergido?

Verificando que todos los elementos sean positivos
Contando el número de filas de la matriz
Exigiendo que el determinante sea cero
Comprobando que el máximo valor absoluto de A^i/i! sea menor que ε

Comprobando que el máximo valor absoluto de A^i/i! sea menor que ε

Обяснение

La convergencia se evalúa midiendo el mayor cambio aportado por el siguiente término y deteniendo si ese máximo es menor que ε. En el material se fija ε = 10^-12.

Прегледайте с флашкарти

Запомнете отговорите с 24 флашкарти по Fundamentos y Técnicas en Programación en C.

Estructura programa en C — componentes clave?

Cabecera, funciones, main, #include, #define.

Código fuente — qué es?

Archivo legible en .c que escribe el programador.

Código máquina — qué representa?

Instrucciones ejecutables por el procesador.

Вижте флашкартите →

Учете с листа за преговор

Прочетете пълния лист за преговор на Fundamentos y Técnicas en Programación en C.

Вижте листа за преговор →

Similar courses

Създайте свои собствени тестове

Импортирайте курса си и AI генерира тестове с корекции за 30 секунди.

Генератор на тестове