WorksheetsEstructuras-Archivos
Total questions: 42
Worksheet time: 29mins
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.
Las estructuras son llamadas también muy a menudo (a)
La siguiente es una declaracion correcta de una estructura.
typedef struct {
int idEmpleado;
char nombre[30];
char direccion[30];
long telefono;
float sueldo;} empleado;
Verdadero
Falso
Cada variable de una estructura se denomina a menudo (a)
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;
Verdadero
Falso
La definiciion de un nuevo tipo de datos de tipo estructura, se logra con la palabra reservada (a)
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]
Verdadero
Falso
Para referenciar elementos de la estructura anidada se emplea sucesivamente el operador de selección punto ‘.’
Verdadero
Falso
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.
Verdadero
Falso
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)
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.
Verdadero
Falso
Cuando el buffer se carga o se vacía se actualizan los datos desde y hacia el archivo.
Verdadero
Falso
La funcion fopen devuelve (a)
La funcion fclose puede devolver, según el resultado de su ejecucion:
0 (cero)
un puntero
1 (uno)
EOF
La funcion fcloseall devueve lo mismo que la funcion fclose, solo que lo hace tendiendo en cuenta varios archivos a la vez
Verdadero
Falso
La funcion fread devuelve el numero de bytes leidos exitosamente:
Verdadero
Falso
La funcion fwrite devuelve true/false dependiendo de si pudo escribir o no pudo.
Verdadero
Falso
La funcion (a) devuelve 0 si la operación es exitosa. Devuelve <> 0 si ocurre un error
La funcion ............., devuelve la cantidad de ........ en base a la posición actual en el archivo.
(a)
(a) no devuelve un valor (es de tipo void).
Al abrir un archivo en modo append puedo ubicarme (mediante fseek) al principio y/o final del mismo; para agregar un nuevo registro.
Verdadero
Falso
Los parametros de la funcion fread son:
(de donde leo, cuanto leo, cuantas veces leo, donde guardo lo leido)
(donde guardo lo leido, cuantas veces leo, cuanto leo, de donde leo)
(donde guardo lo leido, cuanto leo, cuantas veces leo, de donde leo)
La funcion ....... determina si se llego al final del archivo. Retorna ......... si llego al ......... del archivo.
(a)
Al abrir exitosamente un archivo con fopen, el puntero se ubica....
inicio del archivo
final del archivo
posicion aleatoria del archivo
final del primer registro
La instrucción (a) (tipo) retorna la cantidad de bytes en memoria que ocupa un dato del tipo indicado
El modificador "r+b" permite abrir un archivo en modo:
lectura y escritura
lectura
lectura archivo de texto
ninguna de las anteriores
LA funcion ftell, sin importar ubicacion en actual en el archivo, retorna:
espacio en memoria
cantidad de bytes total del archivo
un puntero al inicio
ninguna de las anteriores
¿La función fseek devuelve true/false dependiendo de si pudo moverse o no en el archivo?
Verdadero
Falso
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)
"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."
Verdadero
Falso
"Existen 2 categorías de funciones para trabajar con archivos
y son las que usan “buffer” y las que acceden directamente al archivo."
Verdadero
Falso
"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)
"Se pueden abrir varios archivos al mismo tiempo siempre y cuando exista por lo menos
un puntero para cada uno."
Verdadero
Falso
¿Por qué no debería castear un malloc?
Porque Betty no lo permite
Porque el tipo del puntero que apunta al malloc es suficiente
Porque hace que el código sea más difícil de leer
Hace que el código sea repetitivo
Porque no se sabe qué se va a guardar en ese espacio
Yo NO puedo _____________ un puntero nulo
Declarar
Hacer operaciones aritméticas a
Desreferenciar
Inicializar
¿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?
Uno elimina el contenido, el otro libera la memoria
Nada
Error!
Libera la memoria alocada junto al bloque original
¿Cuál es el propósito principal de la función realloc en C?
Aumentar o disminuir el tamaño de un bloque de memoria previamente asignado
Asignar memoria para un nuevo bloque sin liberar el anterior
Liberar la memoria asignada a un puntero
Si realloc no puede asignar el nuevo tamaño solicitado, ¿qué sucede con el puntero original?
Se libera automáticamente
Permanece sin cambios
Se pierde y no se puede acceder más
¿Qué valor devuelve realloc si la operación de reasignación falla?
Un puntero a la memoria original
0
NULL
¿Cuál es el valor de retorno de realloc cuando se solicita un tamaño de memoria de 0?
NULL
Un puntero a la memoria original
Un puntero a un bloque de memoria de tamaño 0
¿Qué sucede con la memoria previamente asignada cuando se utiliza realloc para aumentar el tamaño de un bloque de memoria?
Se pierde y no se puede acceder más
Se mantiene y se copia al nuevo bloque
Se libera automáticamente
¿Es posible usar realloc para cambiar el tamaño de un puntero que no ha sido previamente asignado con malloc o calloc?
Falso
Verdadero
