Respuestas modelo
Consulta aquí las respuestas correctas y explicaciones de las autoevaluaciones y los tests del manual. Ideal para repasar antes de un test o aclarar dudas.
3.03 · Cadenas de Caracteres y Expresiones Regulares
16 preguntas con respuesta en este tema.
🎯 Autoevaluación (3)
En C++, ¿cómo se declara un string?
- A. string s;
- B. std::string s;
- C. char s[];
- D. A y B son válidas ✓ CORRECTA
`std::string s;` es la forma completa. `string s;` funciona con `using namespace std;`.
¿Qué hace `s.length()` en C++?
- A. Convierte a mayúsculas
- B. Devuelve el número de caracteres del string ✓ CORRECTA
- C. Compara con otro string
- D. Busca un carácter
length() y size() devuelven el tamaño del string (en caracteres, no bytes necesariamente).
¿Qué hace `s.substr(2, 5)` en C++?
- A. Reemplaza el string
- B. Devuelve el substring desde posición 2 con longitud 5 ✓ CORRECTA
- C. Concatena strings
- D. Convierte a mayúsculas
substr(pos, len) devuelve el substring comenzando en `pos` con `len` caracteres.
📝 Test · Sección A · Opción múltiple (10)
En C++, ¿cómo se incluye el header de strings?
- A. #include <string> ✓ CORRECTA
- B. #include "string.h"
- C. #include <text>
- D. #include <cstring>
#include <string> para std::string. <cstring> es para C-strings.
¿Cómo se declara un string en C++?
- A. string s;
- B. std::string s;
- C. char s;
- D. A y B son válidas ✓ CORRECTA
std::string s; completa. string s; con using namespace std;
¿Qué hace s.length() en C++?
- A. Cuenta bytes
- B. Devuelve el número de caracteres ✓ CORRECTA
- C. Convierte a mayúsculas
- D. Busca
length() o size(): número de caracteres.
¿Cómo concatenar strings en C++?
- A. s1 + s2
- B. s1.append(s2)
- C. A y B ✓ CORRECTA
- D. concat(s1, s2)
Operador + o append().
¿Qué hace s.substr(2, 5)?
- A. Reemplaza
- B. Devuelve substring desde pos 2 con 5 caracteres ✓ CORRECTA
- C. Concatena
- D. Convierte a mayúsculas
substr(pos, len): devuelve substring.
¿Cómo comparar dos strings en C++?
- A. s1 == s2
- B. s1.compare(s2)
- C. A y B ✓ CORRECTA
- D. Solo compare()
Operador == funciona con std::string. compare() también.
¿Qué es un caracter de escape?
- A. Un caracter normal
- B. Secuencia especial como \n, \t, \ ✓ CORRECTA
- C. Un emoji
- D. Una variable
Escape: \n (newline), \t (tab), \ (backslash), \" (comilla).
¿Cómo leer un string con espacios desde consola?
- A. cin >> s
- B. getline(cin, s) ✓ CORRECTA
- C. cin.get()
- D. scanf
cin >> lee hasta espacio. getline(cin, s) lee toda la línea.
¿Qué es un string vacío?
- A. s = null
- B. s = "" o s = string() ✓ CORRECTA
- C. s = 0
- D. s = "0"
String vacío: "" (literal) o std::string() (constructor).
¿Cómo convertir string a número en C++?
- A. atoi, stoi ✓ CORRECTA
- B. parseInt
- C. Number(s)
- D. int(s)
stoi (string to int), stod, stof. C++11+.
✍️ Test · Sección B · Preguntas abiertas (3)
¿Cuál es la diferencia entre string y char[] en C++? ¿Cuándo usar cada uno?
string: clase STL, longitud dinámica, métodos útiles (substr, find, length). char[]: array de chars, longitud fija, estilo C. Usar string por defecto, char[] solo para interoperabilidad con C o rendimiento crítico.
Explica cómo funciona getline vs cin para leer strings con espacios.
cin >> str: lee hasta el primer espacio o newline. getline(cin, str): lee toda la línea hasta newline, incluyendo espacios. Usar getline cuando el input puede tener espacios (nombres, direcciones).
Diseña una función que cuente cuántas palabras tiene un string.
int contarPalabras(string s) { int count = 0; bool enPalabra = false; for (char c : s) { if (c != ' ' && !enPalabra) { count++; enPalabra = true; } else if (c == ' ') enPalabra = false; } return count; }.
📝 ¿Listo para evaluarte?
Regístrate o inicia sesión para tomar la autoevaluación o el test de este tema y registrar tu puntaje.