¿Cuál es el propósito principal de usar un array en programación C?
Almacenar múltiples valores del mismo tipo de datos de forma contigua en la memoria, en lugar de usar variables individuales dispersas.
¿Cuáles son las tres especificaciones que se deben proporcionar al declarar un array en C?
Un tipo de dato, un nombre para el array y un tamaño.
Escribe la sintaxis en C para declarar un array de enteros llamado hours que pueda almacenar 5 elementos.
int hours[5];
En C, los arrays tienen un tamaño _____, lo que significa que su tamaño debe ser especificado desde el principio y no puede cambiar durante la ejecución (según lo visto en la Semana 2 de CS50).
fijo
En C, un array solo puede contener valores de un _____ tipo de dato.
único
¿Qué es la ‘indexación basada en cero’ (0-indexed) en el contexto de los arrays?
Es el principio de que el primer elemento de un array se encuentra en el índice 0, el segundo en el índice 1, y así sucesivamente.
Dado el array int hours[5];, ¿cómo se accedería al primer valor del array?
Usando la sintaxis hours[0].
¿Cómo se asigna el valor 7 al primer elemento de un array de enteros llamado hours?
hours[0] = 7;
¿Cuál es la sintaxis para declarar e inicializar un array de enteros llamado numbers con los valores 1, 2, 4, 8 y 16 en una sola línea?
int numbers[5] = {1, 2, 4, 8, 16};
En C, un string es fundamentalmente un array de ____.
caracteres (chars)
¿Qué carácter especial se encuentra al final de cada string en C para indicar su terminación?
El carácter nulo (\0).
Si un string es “Hello”, ¿qué carácter se encuentra en word[1]?
El carácter ‘e’.
¿Cuál es la longitud del string “Hello” y cuántos bytes ocupa en memoria, incluyendo su terminador?
La longitud es 5, pero ocupa 6 bytes en memoria para incluir el carácter nulo (\0).
Cuando una computadora compara dos caracteres, como ‘H’ y ‘E’, ¿qué está comparando realmente?
Está comparando sus valores numéricos correspondientes en la tabla ASCII.
¿Qué valor numérico corresponde al carácter nulo (\0) en la tabla ASCII?
El valor 0.
En C, el tipo de dato string (como se usa en CS50) en realidad no es un tipo de dato nativo fuera de la librería de CS50. Es un alias para un tipo más fundamental. ¿Cuál es?
Es un alias para char * (un puntero a un carácter), que representa una secuencia de caracteres.
Para imprimir un solo carácter en C usando printf, ¿qué especificador de formato (placeholder) se utiliza?
Se utiliza %c.
Para imprimir el valor ASCII de un carácter como un entero, ¿qué especificador de formato se utiliza en printf?
Se utiliza %i.
¿Qué son los argumentos de línea de comandos (CLAs)?
Son los argumentos o valores que se pasan a un programa cuando se ejecuta desde la terminal.
En el comando make mario, ¿cuál es el argumento de línea de comandos?
El argumento es mario.
¿Cómo debe modificarse la firma de la función main en C para aceptar argumentos de línea de comandos?
Debe cambiarse de int main(void) a int main(int argc, string argv[]).
En int main(int argc, string argv[]), ¿qué representa el parámetro argc?
argc (argument count) es un entero que representa el número total de argumentos de línea de comandos, incluyendo el nombre del programa.
En int main(int argc, string argv[]), ¿qué representa el parámetro argv?
argv (argument vector) es un array de strings que contiene los argumentos de línea de comandos reales.
En el array argv, ¿qué valor se almacena siempre en el índice 0 (argv[0])?
El nombre del programa que se está ejecutando.