Wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Estructuras-Archivos

Total questions: 42

Worksheet time: 29mins

Name
Class
Date
1.

Las (a)   nos permiten agrupar varios datos, aunque sean de distinto tipo, que mantengan algún tipo de relación, y manipularlos todos juntos, con un mismo identificador, o por separado.

2.

Las estructuras son llamadas también muy a menudo (a)  

3.

La siguiente es una declaracion correcta de una estructura.

typedef struct {

 int idEmpleado;   

char nombre[30];   

char direccion[30];   

long telefono;   

float sueldo;} empleado;

a)

Verdadero

b)

Falso

4.

 Cada variable de una estructura se denomina a menudo (a)  

5.

La siguiente declaración es correcta y a la vez se definen en memoria, 3 variables.

struct empleado{
    char nombre[30];
    char direccion[50];
    long telefono;
} emple_1, emple_2, emple_3;

a)

Verdadero

b)

Falso

6.

La definiciion de un nuevo tipo de datos de tipo estructura, se logra con la palabra reservada (a)  

7.

Para acceder a un carácter determinado de las cadenas de caracteres que son elementos de la estructura de datos, podemos hacerlo de la siguiente manera:

nombreVariableEstructura.nombreElemento [subíndice] 

a)

Verdadero

b)

Falso

8.

Para referenciar elementos de la estructura anidada se emplea sucesivamente el operador de selección punto ‘.’

a)

Verdadero

b)

Falso

9.

Los metodos de Ordenamiento aplicados a un arreglo de int, pueden ser aplicados tambien a un arreglo de estructuras, realizando los cambios necesarios en cada caso.

a)

Verdadero

b)

Falso

10.

Básicamente existen 2 tipos de archivos que son los de ........ y ......... Esta clasificación hace referencia a la forma en la cual se interpretan los datos, se debe tener en claro que la única forma de guardar datos en el disco es en formato binario. Todos los archivos tienen al final una marca que indica el final del archivo. Dicha marca se conoce como .......

(a)  

11.

El hecho de utilizar un buffer significa que se tiene acceso directo al archivo y que cualquier operación que se desee realizar (lectura o escritura) va a ser hecha sobre el buffer. 

a)

Verdadero

b)

Falso

12.

Cuando el buffer se carga o se vacía se actualizan los datos desde y hacia el archivo.

a)

Verdadero

b)

Falso

13.

La funcion fopen devuelve (a)  

14.

La funcion fclose puede devolver, según el resultado de su ejecucion:

a)

0 (cero)

b)

un puntero

c)

1 (uno)

d)

EOF

15.

La funcion fcloseall devueve lo mismo que la funcion fclose, solo que lo hace tendiendo en cuenta varios archivos a la vez

a)

Verdadero

b)

Falso

16.

La funcion fread devuelve el numero de bytes leidos exitosamente:

a)

Verdadero

b)

Falso

17.

La funcion fwrite devuelve true/false dependiendo de si pudo escribir o no pudo.

a)

Verdadero

b)

Falso

18.

La funcion (a)   devuelve 0 si la operación es exitosa. Devuelve <> 0 si ocurre un error

19.

La funcion ............., devuelve la cantidad de ........ en base a la posición actual en el archivo.

(a)  

20.

(a)   no devuelve un valor (es de tipo void).

21.

Al abrir un archivo en modo append puedo ubicarme (mediante fseek) al principio y/o final del mismo; para agregar un nuevo registro.

a)

Verdadero

b)

Falso

22.

Los parametros de la funcion fread son:

a)

(de donde leo, cuanto leo, cuantas veces leo, donde guardo lo leido)

b)

(donde guardo lo leido, cuantas veces leo, cuanto leo, de donde leo)

c)

(donde guardo lo leido, cuanto leo, cuantas veces leo, de donde leo)

23.

La funcion ....... determina si se llego al final del archivo. Retorna ......... si llego al ......... del archivo.

(a)  

24.

Al abrir exitosamente un archivo con fopen, el puntero se ubica....

a)

inicio del archivo

b)

final del archivo

c)

posicion aleatoria del archivo

d)

final del primer registro

25.

La instrucción (a)   (tipo) retorna la cantidad de bytes en memoria que ocupa un dato del tipo indicado

26.

El modificador "r+b" permite abrir un archivo en modo:

a)

lectura y escritura

b)

lectura

c)

lectura archivo de texto

d)

ninguna de las anteriores

27.

LA funcion ftell, sin importar ubicacion en actual en el archivo, retorna:

a)

espacio en memoria

b)

cantidad de bytes total del archivo

c)

un puntero al inicio

d)

ninguna de las anteriores

28.

¿La función fseek devuelve true/false dependiendo de si pudo moverse o no en el archivo?

a)

Verdadero

b)

Falso

29.

Si tengo las siguientes estructuras:

typedef struct{

int dd,mm,aa} fecha;

typedef struct {

int legajo;

char nombreYapellido [30];

fecha fechaNac;

} stAlumno;

si tenemos stAlumno A, como accedo al mes (mm) de la fecha de nacimiento de A?

(a)  

30.

"Un archivo de texto contiene toda su información guardada en binario pero se interpreta como

texto. Absolutamente todo lo que contiene debe ser interpretado como texto, ya que cuando se

escribe el archivo, los datos son enviados como caracteres."

a)

Verdadero

b)

Falso

31.

"Existen 2 categorías de funciones para trabajar con archivos

y son las que usan “buffer” y las que acceden directamente al archivo."

a)

Verdadero

b)

Falso

32.

"Para trabajar con archivos en C, las funciones utilizan un puntero a la estructura (a)   Dicha

estructura se encuentra definida en el archivo <stdio.h> y se detalla a continuación." (completar con minúsculas)

33.

"Se pueden abrir varios archivos al mismo tiempo siempre y cuando exista por lo menos

un puntero para cada uno."

a)

Verdadero

b)

Falso

34.

¿Por qué no debería castear un malloc?

a)

Porque Betty no lo permite

b)

Porque el tipo del puntero que apunta al malloc es suficiente

c)

Porque hace que el código sea más difícil de leer

d)

Hace que el código sea repetitivo

e)

Porque no se sabe qué se va a guardar en ese espacio

35.

Yo NO puedo _____________ un puntero nulo

a)

Declarar

b)

Hacer operaciones aritméticas a

c)

Desreferenciar

d)

Inicializar

36.

¿Qué pasa si dos punteros apuntan al mismo espacio alocado y le hago free a UNO de esos punteros e intento hacerlo luego con el otro?

a)

Uno elimina el contenido, el otro libera la memoria

b)

Nada

c)

Error!

d)

Libera la memoria alocada junto al bloque original

37.

¿Cuál es el propósito principal de la función realloc en C?

a)

Aumentar o disminuir el tamaño de un bloque de memoria previamente asignado

b)

Asignar memoria para un nuevo bloque sin liberar el anterior

c)

Liberar la memoria asignada a un puntero

38.

Si realloc no puede asignar el nuevo tamaño solicitado, ¿qué sucede con el puntero original?

a)

Se libera automáticamente

b)

Permanece sin cambios

c)

Se pierde y no se puede acceder más

39.

¿Qué valor devuelve realloc si la operación de reasignación falla?

a)

Un puntero a la memoria original

b)

0

c)

NULL

40.

¿Cuál es el valor de retorno de realloc cuando se solicita un tamaño de memoria de 0?

a)

NULL

b)

Un puntero a la memoria original

c)

Un puntero a un bloque de memoria de tamaño 0

41.

¿Qué sucede con la memoria previamente asignada cuando se utiliza realloc para aumentar el tamaño de un bloque de memoria?

a)

Se pierde y no se puede acceder más

b)

Se mantiene y se copia al nuevo bloque

c)

Se libera automáticamente

42.

¿Es posible usar realloc para cambiar el tamaño de un puntero que no ha sido previamente asignado con malloc o calloc?

a)

Falso

b)

Verdadero