Week 1 - Section (C) Flashcards

(53 cards)

1
Q

En C, ¿cuáles son los cuatro componentes de una declaración de variable como en int calls = 4;?

A

El tipo (int), el nombre de la variable (calls), el operador de asignación (=) y el valor (4).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

¿Qué tipo de dato se especifica con int en una declaración de variable en C?

A

Un entero, que es un número sin punto decimal.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

En la declaración int x = 50;, ¿cuál es el operador de asignación?

A

El signo de igual (=).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Traduzca la línea de código int x = 50; a una frase en lenguaje natural que describa su acción.

A

Crear un entero llamado x que obtiene el valor 50.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Después de declarar int calls = 4;, ¿qué línea de código se usaría para cambiar el valor de calls a 5?

A

calls = 5;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

En la expresión calls = calls - 1;, ¿qué parte se evalúa primero?

A

El lado derecho de la ecuación (calls - 1).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

El operador ++ se utiliza comúnmente en C para ____.

A

incrementar una variable en uno.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

¿Qué función de la biblioteca CS50 se utiliza para obtener un número entero como entrada del usuario?

A

La función get_int().

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

En la llamada a la función get_int("Número de llamadas: ");, ¿qué propósito tiene el texto “Número de llamadas: “?

A

Es el “prompt” o la indicación que se muestra al usuario para que ingrese un valor.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

¿De qué biblioteca específica de CS50 provienen funciones como get_int y get_string?

A

De la biblioteca cs50.h.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

¿Cuál es la función en C utilizada para imprimir texto formateado en la terminal?

A

La función printf().

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

En printf, ¿qué se utiliza como marcador de posición para una variable de tipo entero?

A

El código de formato %i.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

¿Cuál es la diferencia entre los códigos de formato %i y %d para enteros?

A

Son intercambiables, pero %i es el preferido actualmente mientras que %d se considera algo obsoleto.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

En la función printf("Llamadas: %i", calls);, ¿qué representa el segundo argumento, calls?

A

Es la variable cuyo valor se insertará en el marcador de posición %i.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

¿Qué código de formato se utiliza en printf para imprimir un valor de tipo float?

A

El código de formato %f.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

En printf, ¿qué código de formato se utiliza para imprimir una cadena de texto (string)?

A

El código de formato %s.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

¿Qué entorno de desarrollo integrado (IDE) virtual se recomienda para los estudiantes de CS50?

A

El entorno cs50.dev (Visual Studio Code para CS50).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Para poder usar la función printf en un programa de C, ¿qué biblioteca se debe incluir?

A

La biblioteca stdio.h.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

¿Cuál es el nombre de la función principal que debe existir en todo programa de C?

A

La función main.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

En C, ¿qué carácter o secuencia de caracteres se coloca al final de la mayoría de las instrucciones o sentencias?

A

Un punto y coma (;).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

En el entorno de CS50, ¿qué comando se ejecuta en la terminal para compilar un archivo fuente llamado hello.c?

A

make hello

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Después de compilar hello.c, ¿qué comando se usa para ejecutar el programa resultante?

23
Q

¿Qué secuencia de escape se añade dentro de una cadena printf para crear una nueva línea en la salida?

A

La secuencia \n.

24
Q

¿Por qué es necesario volver a compilar un programa en C con make después de modificar el código fuente?

A

Para que los cambios se traduzcan del código fuente al código máquina y se reflejen en el programa ejecutable.

25
¿Qué carácter de escape se debe usar para imprimir comillas dobles (`"`) dentro de una cadena de `printf`?
La barra invertida (`\`), por ejemplo: `\"Hello\"`.
26
Para poder usar el tipo de dato `string` y la función `get_string` en un programa de CS50, ¿qué archivo de cabecera debe incluir?
El archivo de cabecera `#include `.
27
Si un programa solicita el número de teléfono como `int` y el usuario ingresa `(111) 111-1111`, ¿por qué falla?
Porque los paréntesis y guiones no son parte de un número entero (`int`), que solo acepta dígitos.
28
¿Qué tipo de dato es más apropiado para almacenar un número de teléfono que puede incluir guiones o paréntesis?
Un `string`, ya que no se realizarán operaciones matemáticas con él.
29
En una estructura condicional `if`, ¿qué tipo de expresión se evalúa dentro de los paréntesis?
Una expresión booleana, que resulta en verdadero (true) o falso (false).
30
Si la expresión booleana en una declaración `if` es verdadera, ¿qué parte del código se ejecuta?
El código que se encuentra dentro de las llaves `{}` inmediatamente después del `if`.
31
¿Para qué se utiliza la cláusula `else` en una estructura condicional?
Para ejecutar un bloque de código alternativo si la condición del `if` es falsa.
32
Las ramas de una estructura `if-else` son mutuamente ____.
excluyentes.
33
¿Cuáles son los tres componentes principales de un bucle `while` típico, como se ve en el ejemplo de la sección?
Inicialización de la variable de control, expresión booleana (condición) y la actualización (incremento/decremento).
34
En un bucle `while (i < 2)`, ¿cuándo deja de ejecutarse el bucle?
Cuando la condición `i < 2` se vuelve falsa.
35
Un bucle `for` combina la inicialización, la condición y el incremento en ____.
una sola línea.
36
En la estructura `for (int i = 0; i < 2; i++)`, ¿cuál es la parte de inicialización?
`int i = 0;`
37
En la estructura `for (int i = 0; i < 2; i++)`, ¿cuál es la expresión booleana?
`i < 2`
38
En la estructura `for (int i = 0; i < 2; i++)`, ¿cuál es la parte de incremento?
`i++`
39
¿Cuándo es preferible usar un bucle `for` en lugar de un bucle `while`?
Cuando se conoce de antemano el número exacto de repeticiones o iteraciones que se deben realizar.
40
¿Cuándo podría ser más adecuado un bucle `while` que un bucle `for`?
Cuando el bucle debe continuar mientras una condición más fluida sea verdadera, sin un número predefinido de iteraciones.
41
En el contexto de la creación de funciones personalizadas en C, ¿qué es un prototipo de función?
Es una declaración de la función (tipo de retorno, nombre y parámetros) que se coloca antes de `main` para que el compilador la reconozca antes de su definición completa.
42
¿Por qué el compilador de C genera un error si se llama a una función antes de que haya sido definida o prototipada?
Porque el compilador lee el código de arriba hacia abajo y no conoce la existencia de la función en el punto de la llamada.
43
En la definición de una función como `void print_row(int bricks)`, ¿qué significa `void` como tipo de retorno?
Significa que la función no devuelve ningún valor.
44
En la definición de la función `void print_row(int bricks)`, ¿qué es `int bricks`?
Es el parámetro de entrada, especificando que la función espera recibir un valor entero llamado `bricks`.
45
En el problema de Mario, ¿por qué es útil crear una función separada como `print_row`?
Para descomponer el problema en partes más pequeñas y manejables, haciendo el código más modular y fácil de leer.
46
Para asegurar que una pirámide de altura 4 imprima filas de 1, 2, 3 y 4 bloques, se pasa `i + 1` a `print_row` dentro del bucle `for`. ¿Por qué?
Porque el contador del bucle `i` comienza en 0, y al sumarle 1 se consigue que la primera fila tenga 1 bloque, la segunda 2, y así sucesivamente.
47
¿Qué tipo de bucle es ideal para validar la entrada del usuario, repitiendo una solicitud hasta que se ingrese un valor válido?
Un bucle `do-while`.
48
¿Cuál es la característica principal de un bucle `do-while` en comparación con un bucle `while`?
El bloque de código dentro de `do` se ejecuta al menos una vez, ya que la condición se verifica al final.
49
Escriba la condición para un bucle `do-while` que continúe pidiendo la altura de una pirámide mientras el valor ingresado sea menor que 1.
`while (height < 1);`
50
¿Qué es un comentario en el código C y cómo se escribe un comentario de una sola línea?
Es una nota para el programador que el compilador ignora; se escribe comenzando la línea con dos barras diagonales (`//`).
51
El tipo de dato `bool` se utiliza para representar valores de ____.
verdadero o falso (true/false).
52
En C, el concepto de "ámbito" (scope) se refiere a la región del código donde una ____ es visible y puede ser utilizada.
variable.
53
Si una variable `bricks` se define como parámetro de la función `print_row`, ¿se puede acceder a ella directamente desde la función `main`?
No, porque su ámbito está limitado a la función `print_row`.