option
Cuestiones
ayuda
daypo
buscar.php

PROGRAMACION 4

COMENTARIOS ESTADÍSTICAS RÉCORDS
REALIZAR TEST
Título del Test:
PROGRAMACION 4

Descripción:
Programacion 4

Fecha de Creación: 2025/02/06

Categoría: Otros

Número Preguntas: 53

Valoración:(0)
COMPARTE EL TEST
Nuevo ComentarioNuevo Comentario
Comentarios
NO HAY REGISTROS
Temario:

Cuál es la salida del siguiente código en C? char* cadena = "Hola mundo"; cadena[0] = 'h'; printf("%s", cadena);. Ninguna de las anteriores. “hola mundo”. El programa produce un error. “Hola mundo”.

Cuál es la diferencia entre un puntero genérico (void) y un puntero a un tipo específico (por ejemplo, int) en C?. Un puntero genérico no se puede utilizar para realizar aritmética de punteros, mientras que un puntero a un tipo específico sí se puede utilizar. Un puntero genérico debe convertirse explícitamente al tipo de dato apropiado antes de ser utilizado, mientras que un puntero a un tipo específico no requiere conversión. Todas las anteriores son correctas. Un puntero genérico puede apuntar a cualquier tipo de dato, mientras que un puntero a un tipo específico solo puede apuntar a datos de ese tipo.

Cuál es la principal diferencia entre malloc() y calloc() en C?. malloc() asigna memoria sin inicializarla, mientras que calloc() asigna memoria e inicializa todos los bytes a cero. No hay diferencia entre ambos. malloc() asigna memoria e inicializa todos los bytes a cero, mientras que calloc() asigna memoria sin inicializarla. malloc() se utiliza para asignar memoria para un solo objeto, mientras que calloc() se utiliza para asignar memoria para un array de objetos.

Qué modo de apertura de archivo en C se utiliza para abrir un archivo existente para lectura y escritura, posicionando el puntero al principio del archivo?. “r”. “r+”. “a”. “w”.

Cuál es la utilidad de la función realloc() en C?. Cambiar el tamaño de un bloque de memoria asignado previamente. Copiar el contenido de un bloque de memoria a otro. Asignar un nuevo bloque de memoria. Liberar un bloque de memoria asignado previamente.

Cuál es la técnica utilizada en C para implementar funciones que aceptan un número variable de argumentos, como printf()?. Utilizar funciones variádicas (con la cabecera stdarg.h). Utilizar macros. Utilizar plantillas. No es posible implementar funciones con un número variable de argumentos en C.

Cuál es la salida del siguiente código en C? int x = 5; int* ptr1 = &x; int** ptr2 = &ptr1; printf("%d", **ptr2);. La dirección de memoria de ptr1. 5. La dirección de memoria de x. El programa produce un error.

Qué función de la biblioteca estándar de C se utiliza para escribir un número flotante en un archivo?. fgets(). fscanf(). fprintf(). fputs().

Cuál es la principal diferencia entre la aritmética de punteros y la aritmética de enteros en C?. La aritmética de punteros opera con direcciones de memoria, mientras que la aritmética de enteros opera con valores numéricos. No hay diferencia entre ambos. La aritmética de punteros es más segura que la aritmética de enteros. La aritmética de punteros es más rápida que la aritmética de enteros.

Cuál es la utilidad de la función feof() en C al trabajar con archivos?. Cerrar el archivo. Mover el puntero del archivo a una posición específica. Comprobar si se ha llegado al final del archivo. Obtener la posición actual del puntero del archivo.

Qué función de la biblioteca estándar de C se utiliza para escribir un carácter en un archivo?. fprintf(). fscanf(). fgetc(). fputc().

Cuál es la principal ventaja de utilizar memoria dinámica en C?. Permite asignar memoria en tiempo de ejecución, lo que brinda flexibilidad para manejar datos de tamaño variable. Permite asignar memoria en tiempo de compilación. Mejora la legibilidad del código. Evita errores de programación.

Qué función de la biblioteca estándar de C se utiliza para escribir una cadena de caracteres en un archivo?. fputs(). fprintf(). fscanf(). fgets().

Cuál es la diferencia entre pasar un argumento por valor y pasar un argumento por referencia a una función en C?. No hay diferencia entre ambos. Pasar por valor pasa la dirección de memoria del argumento original, mientras que pasar por referencia crea una copia del argumento en la memoria de la función. Ninguna de las anteriores. Pasar por valor crea una copia del argumento en la memoria de la función, mientras que pasar por referencia pasa la dirección de memoria del argumento original.

Cuál es la salida del siguiente código en C? #include <stdio.h> void intercambiar(int* a, int* b) { int temp = *a; *a = *b; *b = temp; } int main() { int x = 10, y = 20; intercambiar(&x, &y); printf("x = %d, y = %d\n", x, y); return 0; }. El programa produce un error. x = 10, y = 20. x = 20, y = 10. x = 0, y = 0.

Cuál es la forma correcta de liberar la memoria asignada dinámicamente para una matriz de punteros en C, donde cada puntero apunta a una fila de la matriz?. Liberar primero la memoria de cada fila individualmente y luego liberar la memoria del array de punteros. No es necesario liberar la memoria, ya que se libera automáticamente al finalizar el programa. Ninguna de las anteriores. Liberar directamente la memoria del array de punteros.

Cuál es la diferencia entre una lista enlazada simple y una lista enlazada doble en C?. Una lista enlazada simple tiene nodos que contienen un puntero al siguiente nodo, mientras que una lista enlazada doble tiene nodos que contienen punteros tanto al siguiente nodo como al nodo anterior. Una lista enlazada simple permite recorrer la lista en ambas direcciones, mientras que una lista enlazada doble solo permite recorrerla en una dirección. No hay diferencia entre ambos. Una lista enlazada simple es más eficiente en términos de memoria que una lista enlazada doble.

Cuál es la salida del siguiente código en C? #include <stdio.h> int main() { int arr[] = {10, 20, 30, 40, 50}; int* p = &arr[1]; int* q = &arr[3]; int diff = q - p; printf("%d\n", diff); return 0; }. 2. 20. El programa produce un error. 30.

Qué es un puntero en C?. Una variable que almacena una dirección de memoria. Una función de la biblioteca estándar. Una estructura de datos. Un tipo de dato primitivo.

Qué modo de apertura de archivo en C se utiliza para abrir un archivo existente solo para lectura?. “r”. “r+”. “a”. “w”.

Qué función de la biblioteca estándar de C se utiliza para leer un número entero de un archivo?. fscanf(). fgets(). fprintf(). fputs().

Cuál es la forma correcta de acceder al miembro nombre de una estructura Persona a través de un puntero p a dicha estructura?. *p.nombre. p.nombre. (*p).nombre. p->nombre.

Cuál es la función de la biblioteca estándar de C que se utiliza para escribir un bloque de datos binarios en un archivo?. fwrite(). fputs(). fprintf(). fputc().

Cuál es la diferencia entre un archivo de texto y un archivo binario en C?. Un archivo de texto se puede abrir con cualquier editor de texto, mientras que un archivo binario requiere un programa específico para interpretarlo. Todas las anteriores son correctas. Las funciones de la biblioteca estándar de C para leer y escribir archivos de texto son diferentes de las funciones para leer y escribir archivos binarios. Un archivo de texto almacena caracteres legibles por humanos, mientras que un archivo binario almacena datos en su representación interna en memoria.

Cuál es la diferencia entre pasar un array por valor y pasar un array por referencia a una función en C?. Pasar un array por valor crea una copia del array en la memoria de la función, mientras que pasar un array por referencia pasa la dirección de memoria del primer elemento del array. En C, los arrays siempre se pasan por referencia, por lo que no hay diferencia entre ambos. Pasar un array por valor pasa la dirección de memoria del primer elemento del array, mientras que pasar un array por referencia crea una copia del array en la memoria de la función. Ninguna de las anteriores.

Cuál es la forma correcta de asignar memoria dinámicamente para una matriz de 3 filas y 4 columnas de enteros en C?. int matriz[3][4];. int matriz[3 * 4];. int** matriz = (int**)malloc(3 * sizeof(int*)); for (int i = 0; i < 3; i++) { matriz[i] = (int*)malloc(4 * sizeof(int)); }. int* matriz = (int*)malloc(3 * 4 * sizeof(int));.

Cuál es el operador utilizado en C para acceder al valor almacenado en la dirección de memoria a la que apunta un puntero?. &. *. . ->.

Qué modo de apertura de archivo en C se utiliza para crear un nuevo archivo o sobrescribir uno existente?. “w”. “a”. “r”. “r+”.

Cuál es la diferencia entre los modos de apertura de archivo “a” y “a+” en C?. No hay diferencia entre ambos. “a” abre un archivo para añadir contenido al final, permitiendo tanto lectura como escritura, mientras que “a+” abre un archivo para añadir contenido al final, permitiendo solo escritura. “a” crea un nuevo archivo si no existe, mientras que “a+” no crea un nuevo archivo si no existe. “a” abre un archivo para añadir contenido al final, permitiendo solo escritura, mientras que “a+” abre un archivo para añadir contenido al final, permitiendo tanto lectura como escritura.

Cuál es la función principal de la memoria dinámica en C?. Asignar memoria en tiempo de ejecución para adaptarse a las necesidades del programa. Agrupar datos relacionados de diferentes tipos. Almacenar datos de forma persistente. Representar texto.

Qué es una fuga de memoria en C?. Cuando un programa se cierra inesperadamente. Cuando un programa se queda sin memoria disponible. Cuando un programa intenta acceder a una dirección de memoria no válida. Cuando un programa asigna memoria dinámicamente pero no la libera después de usarla.

Cuál es la salida del siguiente código en C, asumiendo que el archivo “texto.txt” existe y contiene el texto “Hola mundo”? #include <stdio.h> int main() { FILE* archivo = fopen("texto.txt", "r+"); fseek(archivo, 6, SEEK_SET); fputs("amigos", archivo); fclose(archivo); return 0; }. El contenido del archivo “texto.txt” se modifica a “Hola mundoamigos”. El contenido del archivo “texto.txt” se modifica a “Hola amigosndo”. El programa produce un error. El contenido del archivo “texto.txt” se modifica a “Hola amigos”.

Cuál es la forma correcta de declarar un puntero a un array de enteros en C?. int (*array)[];. int array[];. int* array;. int[] *array;.

Qué significa que un puntero sea NULL en C?. Que el puntero apunta a la dirección de memoria 0. Tanto A como B son correctas. Que el puntero no apunta a ninguna dirección de memoria válida. Que el puntero apunta al primer elemento de un array.

Cuál es la forma correcta de declarar un puntero a una función en C que toma dos enteros como argumentos y devuelve un entero?. int (int, int) *ptr;. (*ptr) int(int, int);. int ptr(int, int);. int (ptr)(int, int);.

Qué significa el modo de apertura de archivo “a” en C?. Abrir un archivo para lectura y escritura. Abrir un archivo para escritura, creando uno nuevo o sobrescribiendo uno existente. Abrir un archivo para lectura. Abrir un archivo para añadir contenido al final.

Qué función de la biblioteca estándar de C se utiliza para comprobar si se ha llegado al final de un archivo?. rewind(). feof(). ftell(). fseek().

Cuál es la salida del siguiente código en C? int numeros[] = {5, 10, 15, 20}; int* ptr = numeros; ptr += 2; printf("%d", *ptr);. 15. 20. 10. 5.

Cuál es la principal ventaja de utilizar listas enlazadas en lugar de arrays en C?. Las listas enlazadas ocupan menos memoria que los arrays. Las listas enlazadas permiten insertar y eliminar elementos de forma más eficiente que los arrays. Las listas enlazadas permiten un acceso más rápido a los elementos que los arrays. No hay ventajas en utilizar listas enlazadas en lugar de arrays.

Cuál es la salida del siguiente código en C? int arr[] = {10, 20, 30}; int* ptr = arr; printf("%d", *(ptr + 2));. 20. 10. El programa produce un error. 30.

Cuál es la salida del siguiente código en C? int num = 10; int* ptr = # *ptr = 20; printf("%d", num);. El programa produce un error. 10. La dirección de memoria de num. 20.

Cuál es la salida del siguiente código en C? #include <stdio.h> int main() { int x = 10; int* p = &x; int** q = &p; int*** r = &q; ***r = 20; printf("%d", x); return 0; }. 20. La dirección de memoria de q. La dirección de memoria de p. 10.

¿Qué función de la biblioteca estándar de C se utiliza para leer un carácter de un archivo?. fputc(). fscanf(). fprintf(). fgetc().

Cuál es la salida del siguiente código en C? #include <stdio.h> int main() { int arr[] = {1, 2, 3, 4, 5}; int* p = arr + 1; int* q = &arr[3]; printf("%d", q - p); return 0; }. 3. 4. El programa produce un error. 2.

¿Cuál es la vulnerabilidad de seguridad más común asociada al uso de la función strcpy() en C, y cómo se puede evitar?. strcpy() no es una función vulnerable y se puede utilizar de forma segura en cualquier situación. strcpy() no realiza ninguna comprobación de límites al copiar cadenas, lo que puede provocar un desbordamiento del búfer. Se debe evitar el uso de strcpy() y utilizar en su lugar funciones más seguras como strncpy() que permiten especificar el tamaño máximo del búfer de destino. strcpy() no puede copiar cadenas que contengan caracteres nulos. Se debe utilizar memcpy() en su lugar. strcpy() solo puede copiar una cadena a la vez. Se debe utilizar un bucle para copiar varias cadenas.

Cuál es la sintaxis correcta para declarar un puntero a un carácter en C?. char ptr;. char ptr*;. char * ptr;. char & ptr;.

Cuál es la función de la biblioteca estándar de C que se utiliza para obtener la posición actual del puntero de un archivo?. feof(). rewind(). ftell(). fseek().

Cuál es la función de la biblioteca estándar de C que se utiliza para mover el puntero de un archivo al principio del archivo?. rewind(). fseek(). ftell(). feof().

Cuál es la función de la biblioteca estándar de C que se utiliza para redimensionar un bloque de memoria asignado dinámicamente?. calloc(). malloc(). realloc(). free().

Cuál es la función de la biblioteca estándar de C que se utiliza para asignar memoria dinámicamente?. calloc(). realloc(). free(). malloc().

Cuál es la función de la biblioteca estándar de C que se utiliza para liberar memoria asignada dinámicamente?. calloc(). realloc(). malloc(). free().

¿Cuál es la forma correcta de pasar un array bidimensional a una función en C?. Pasando un puntero a un array de punteros (cada puntero apunta a una fila de la matriz). Pasando un puntero al primer elemento del array. Pasando el nombre del array directamente. Todas las anteriores son incorrectas.

Cuál es el operador utilizado en C para obtener la dirección de memoria de una variable?. *. . ->. &.

Denunciar Test