Podcast
Questions and Answers
¿Qué es un arreglo de cadenas?
¿Qué es un arreglo de cadenas?
¿Cuál es una característica distintiva de un arreglo de apuntadores a cadenas?
¿Cuál es una característica distintiva de un arreglo de apuntadores a cadenas?
En el código para desplegar un menú, ¿qué función se utiliza para mostrar cada opción en la consola?
En el código para desplegar un menú, ¿qué función se utiliza para mostrar cada opción en la consola?
¿Qué representa el carácter '
' en un arreglo de cadenas?
¿Qué representa el carácter ' ' en un arreglo de cadenas?
Signup and view all the answers
Al definir un arreglo de cadenas, ¿cuál es la forma correcta de separar los elementos?
Al definir un arreglo de cadenas, ¿cuál es la forma correcta de separar los elementos?
Signup and view all the answers
¿Qué hace la función despliegaMenu
?
¿Qué hace la función despliegaMenu
?
Signup and view all the answers
¿Cuál es el propósito de la función selOpcionMenu
?
¿Cuál es el propósito de la función selOpcionMenu
?
Signup and view all the answers
Si un usuario teclea una letra que no corresponde a ninguna opción, ¿qué valor regresa selOpcionMenu
?
Si un usuario teclea una letra que no corresponde a ninguna opción, ¿qué valor regresa selOpcionMenu
?
Signup and view all the answers
¿Qué tipo de dato devuelve la función buscaMayuscula
si encuentra una letra mayúscula?
¿Qué tipo de dato devuelve la función buscaMayuscula
si encuentra una letra mayúscula?
Signup and view all the answers
¿Cuál es la función del módulo alturasUtils en el programa?
¿Cuál es la función del módulo alturasUtils en el programa?
Signup and view all the answers
¿Qué es un apuntador a un arreglo de cadenas?
¿Qué es un apuntador a un arreglo de cadenas?
Signup and view all the answers
¿Qué valor indica el fin de la captura de datos en el programa?
¿Qué valor indica el fin de la captura de datos en el programa?
Signup and view all the answers
¿Cuál de las siguientes opciones es correcta sobre el uso de puts
en el código?
¿Cuál de las siguientes opciones es correcta sobre el uso de puts
en el código?
Signup and view all the answers
¿Cuál de las siguientes funciones no está presente en el módulo alturasUtils?
¿Cuál de las siguientes funciones no está presente en el módulo alturasUtils?
Signup and view all the answers
¿Qué estructura de datos se utiliza para almacenar las alturas de los alumnos?
¿Qué estructura de datos se utiliza para almacenar las alturas de los alumnos?
Signup and view all the answers
¿Qué se debe definir primero para utilizar la función despliegaMenu
?
¿Qué se debe definir primero para utilizar la función despliegaMenu
?
Signup and view all the answers
¿Cuál es el retorno de buscaMayuscula
si no encuentra ninguna letra mayúscula en la cadena?
¿Cuál es el retorno de buscaMayuscula
si no encuentra ninguna letra mayúscula en la cadena?
Signup and view all the answers
¿Qué función se encarga de desplegar la tabla de datos de los alumnos?
¿Qué función se encarga de desplegar la tabla de datos de los alumnos?
Signup and view all the answers
¿Cómo se ordenan las matrículas en el programa?
¿Cómo se ordenan las matrículas en el programa?
Signup and view all the answers
¿Qué ocurre si el usuario elige consultar otra altura?
¿Qué ocurre si el usuario elige consultar otra altura?
Signup and view all the answers
¿Qué tipo de dato se requiere para las alturas de los alumnos?
¿Qué tipo de dato se requiere para las alturas de los alumnos?
Signup and view all the answers
¿Cuál es el orden de los caracteres que la función reconoce?
¿Cuál es el orden de los caracteres que la función reconoce?
Signup and view all the answers
¿Qué función emula la función strncpy() en el módulo funcionesCadenas?
¿Qué función emula la función strncpy() en el módulo funcionesCadenas?
Signup and view all the answers
¿Qué operación se realiza primero en la función main() del módulo cadenas?
¿Qué operación se realiza primero en la función main() del módulo cadenas?
Signup and view all the answers
¿Qué función se usa para convertir una cadena a mayúsculas en el módulo funcionesCadenas?
¿Qué función se usa para convertir una cadena a mayúsculas en el módulo funcionesCadenas?
Signup and view all the answers
¿Cuál de las siguientes cadenas será convertida correctamente a mayúsculas?
¿Cuál de las siguientes cadenas será convertida correctamente a mayúsculas?
Signup and view all the answers
¿Qué función se utiliza para comparar los contenidos de dos cadenas?
¿Qué función se utiliza para comparar los contenidos de dos cadenas?
Signup and view all the answers
¿Cuál es el resultado de comparar las cadenas 'perro' y 'perro' utilizando strcmp()?
¿Cuál es el resultado de comparar las cadenas 'perro' y 'perro' utilizando strcmp()?
Signup and view all the answers
¿Qué hace la función strchr() en el módulo funcionesCadenas?
¿Qué hace la función strchr() en el módulo funcionesCadenas?
Signup and view all the answers
¿Cuál es la diferencia principal entre 'msj' y 'pMsj' en las declaraciones proporcionadas?
¿Cuál es la diferencia principal entre 'msj' y 'pMsj' en las declaraciones proporcionadas?
Signup and view all the answers
¿Qué pasará si se intenta ejecutar 'msj = "Adiós"'?
¿Qué pasará si se intenta ejecutar 'msj = "Adiós"'?
Signup and view all the answers
¿Qué función se utiliza para copiar una cadena completa de 'orig' a 'dest'?
¿Qué función se utiliza para copiar una cadena completa de 'orig' a 'dest'?
Signup and view all the answers
¿Cómo se comporta 'strcmp' cuando las cadenas son iguales?
¿Cómo se comporta 'strcmp' cuando las cadenas son iguales?
Signup and view all the answers
¿Cuál de las siguientes afirmaciones sobre 'strcat' es correcta?
¿Cuál de las siguientes afirmaciones sobre 'strcat' es correcta?
Signup and view all the answers
¿Qué hace la función 'strncmp'?
¿Qué hace la función 'strncmp'?
Signup and view all the answers
¿Cuál de las siguientes afirmaciones es incorrecta respecto a 'pMsj'?
¿Cuál de las siguientes afirmaciones es incorrecta respecto a 'pMsj'?
Signup and view all the answers
¿Qué resultado puede devolver 'strcmp' si s1 es menor que s2?
¿Qué resultado puede devolver 'strcmp' si s1 es menor que s2?
Signup and view all the answers
Study Notes
Función atof
- La función
atof
convierte una cadena de caracteres que representa un número de punto flotante a un valor de doble precisión. - La función reconoce caracteres en el siguiente orden:
- Una secuencia opcional de espacios y caracteres de tabulación.
- Un signo opcional (+ o -).
- Una secuencia de dígitos y un punto decimal opcional.
- Los dígitos pueden ir a ambos lados del punto decimal.
- Opcionalmente, el carácter e o E seguido de un entero con signo.
- El primer carácter no reconocido termina la conversión.
- El archivo de cabecera es
stdlib.h
Manejo de Cadenas
- El programa implementa funciones para el manejo de cadenas en dos módulos:
funcionesCadenas
ycadenas
. - El módulo
funcionesCadenas
contiene funciones que se comportan de manera similar a las funciones estándar de la bibliotecastring.h
:-
strcpy()
-
strncpy()
-
strcat()
-
strcmp()
-
strchr()
-
strupr()
-
- El módulo
cadenas
contiene la funciónmain()
, la cual realiza las siguientes operaciones con las cadenas:- Copia la cadena "Hola" a la cadena
msj
. - Copia los primeros dos caracteres de la cadena "Hola" a la cadena
msj
. - Concatena la cadena ", mundo" a la cadena
msj
. - Compara las cadenas "perro" y "perro".
- Compara las cadenas "can" y "arbol".
- Compara las cadenas "casa" y "caza".
- Busca la primera ocurrencia del carácter ‘a’ en la cadena "entramado".
- Busca la primera ocurrencia del carácter ‘h’ en la cadena "entramado".
- Convierte la cadena "hola mundo" a mayúsculas.
- Copia la cadena "Hola" a la cadena
Apuntadores a Constantes Cadena
- Ambas declaraciones
char msj[] = "Hola";
ychar *pMsj = "Hola";
crean cadenas, pero con diferentes comportamientos:-
msj
es una constante y no se puede modificar, por lo tanto:-
msj++
es un error. -
msj = "Adiós";
es un error.
-
-
pMsj
es un apuntador, lo que permite modificar su valor:-
pMsj++
es válido. -
pMsj = "Adiós";
es válido.
-
-
Funciones para Manejo de Cadenas
- Las funciones de la biblioteca estándar para el manejo de cadenas respetan la convención de que las cadenas terminan en el carácter de fin de cadena.
- El archivo de cabecera es
string.h
-
Funciones:
-
char *strcpy(char *dest, const char *orig);
- Copia la cadena
orig
a la cadenadest
. - La función regresa un apuntador a
dest
.
- Copia la cadena
-
char *strncpy(char *dest, const char *orig, size_t n);
- Copia exactamente
n
caracteres de la cadenaorig
a la cadenadest
. - La función regresa un apuntador a
dest
.
- Copia exactamente
-
char *strcat(char *dest, const char *orig);
- Concatena la cadena
orig
a la cadenadest
. - La función regresa un apuntador a
dest
.
- Concatena la cadena
-
char *strncat(char *dest, const char *orig, size_t n);
- Concatena cuando mucho
n
caracteres de la cadenaorig
a la cadenadest
. - La función regresa un apuntador a
dest
.
- Concatena cuando mucho
-
int strcmp(const char *s1, const char *s2);
- Compara las cadenas
s1
ys2
lexicográficamente. - La función regresa un entero que es menor que 0 si
s1
es menor ques2
; - Regresa 0 si
s1
es igual as2
. - Regresa un número mayor que 0 si
s1
es mayor ques2
.
- Compara las cadenas
-
int strncmp(const char *s1, const char *s2, size_t n);
- Compara cuando mucho
n
caracteres de las cadenass1
ys2
lexicográficamente. - La función regresa un entero que es menor que 0 si en los primeros
n
caracteress1
es menor ques2
. - Regresa 0 si en los primeros
n
caracteress1
es igual as2
. - Regresa un número mayor que 0 si en los primeros
n
caracteress1
es mayor ques2
.
- Compara cuando mucho
-
Arreglos de Cadenas
- Los arreglos de cadenas son arreglos donde cada elemento es a su vez una cadena.
- Ejemplo:
-
char opcMenu[] = { "Altas", "Bajas", "Cambios", "Depurar“, "Iniciar", "Listar", "Salir"};
-
- Código para desplegar un menú de opciones:
#include <stdio.h> void despliegaMenu(char opcMenu[], int nOpc) { int i; puts(""); for(i = 0; i < nOpc; i++) puts(opcMenu[i]); }
Arreglos de Apuntadores a Cadenas
- Los arreglos de apuntadores a cadenas son arreglos donde cada elemento es un apuntador a una cadena.
- Ejemplo:
-
char *pOpcMenu[] = {"Altas", "Bajas", "Cambios", "Depurar“, "Iniciar", "Listar", "Salir"};
-
- Código para desplegar un menú de opciones:
#include <stdio.h> void despliegaMenu(char *pOpcMenu [], int nOpc) { int i; puts(""); for(i = 0; i < nOpc; i++) puts(pOpcMenu[i]); }
Ejemplo 1: Arreglos de Apuntadores a Cadenas
- El módulo
menu
contiene las siguientes funciones:-
void despliegaMenu(char *pOpcMenu[], int nOpc)
:- Despliega un menú de opciones dado un arreglo de apuntadores a cadenas.
-
int selOpcionMenu(char *pOpcMenu[], int nOpc)
:- Permite seleccionar una opción del menú presionando la letra mayúscula que aparece en la opción.
- Regresa el índice de la opción seleccionada.
- Si el usuario teclea una letra que no corresponde a ninguna opción, la función regresa -1.
-
static char buscaMayuscula(const char *s)
:- Busca la primera ocurrencia de una letra mayúscula en la cadena
s
. - Regresa la letra mayúscula si la encuentra, el carácter de fin de cadena
\n
, en caso contrario.
- Busca la primera ocurrencia de una letra mayúscula en la cadena
-
- El módulo
demoMenu
contiene la funciónmain()
la cual:- Despliega un menú.
- Permite al usuario seleccionar una opción del menú.
- Despliega la opción seleccionada.
Ejemplo 2: Arreglos de Apuntadores a Cadenas
- Se requiere un programa que lea información de alumnos (matrículas, nombres y alturas) y realice lo siguiente:
- Lea la información de los alumnos y la almacene en los arreglos
matriculas
,nombres
yalturas
. - Despliegue una tabla con la información de los alumnos.
- Ordene los arreglos en orden ascendente por las matrículas.
- Despliegue la tabla ordenada por matrícula.
- Busque y despliegue los nombres y las alturas de los alumnos dadas sus matrículas.
- Lea la información de los alumnos y la almacene en los arreglos
- El programa tiene dos módulos:
-
alturasUtils
-
main
-
- Módulo
alturasUtils
:-
leeDatos()
:- Lee la información de los alumnos y la almacena en los arreglos
matriculas
,nombres
yalturas
. - La función termina la lectura cuando encuentra una matrícula 0.
- Regresa el número de alumnos.
- Lee la información de los alumnos y la almacena en los arreglos
-
despliegaDatos()
:- Despliega una tabla con la información de los alumnos.
-
ordSelecciónMatricula()
:- Ordena en forma ascendente de las matrículas los arreglos
matriculas
,nombres
yalturas
, por el algoritmo de selección.
- Ordena en forma ascendente de las matrículas los arreglos
-
consultaMatricula()
:- Realiza las consultas de nombres y alturas por matrícula.
- Llama a la función
busquedaSecuencialMatricula()
para buscar una matrícula.
-
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
Este cuestionario se centra en la función atof
y el manejo de cadenas en el lenguaje de programación C. Explora cómo se realizan las conversiones de cadenas a números de punto flotante, así como las funciones de manejo de cadenas disponibles en los módulos. Prepárate para evaluar tus conocimientos sobre estos aspectos fundamentales de la programación en C.