LENGUAJE C Flashcards
¿En qué década se creó el lenguaje C?
En los años 70.
¿Cuál fue el principal objetivo de la creación de C?
Desarrollar un lenguaje eficiente, flexible y portátil para sistemas operativos y software de alto rendimiento.
¿Qué lenguajes fueron predecesores de C?
BCPL (1966) y B (1969).
¿Quién es el creador principal del lenguaje C?
Dennis Ritchie.
¿Por qué se creó C a partir de B?
Para mejorar la estructura y manejo de memoria, introducir tipos de datos y crear un lenguaje portátil.
¿Cuál fue el primer sistema operativo reescrito en C?
Unix, en 1973.
¿Cuáles son las principales versiones de C después de ANSI C?
C99 (1999): Introducción de long long int, comentarios // y mejoras en arreglos.
C11 (2011): Soporte para programación multihilo y mejoras en seguridad.
C17 (2017): Correcciones menores y estabilidad.
C23 (2023): Mejoras en sintaxis y optimización del manejo de punteros.
¿Qué es una variable en C?
Es un espacio en memoria utilizado para almacenar y manipular datos durante la ejecución de un programa.
¿Por qué es importante el tipo de dato de una variable?
Determina el espacio de memoria que ocupa y los valores que puede contener.
¿Qué tipo de datos almacena una variable int?
Números enteros positivos y negativos.
¿Cuál es el rango de un int en un sistema de 32 bits?
De -2,147,483,648 a 2,147,483,647.
Ejemplo : int edad = 25;
¿Cuál es la diferencia entre float y double?
float tiene precisión simple, mientras que double tiene precisión doble.
Ejemplo:
float temperatura = 36.5;
double pi = 3.1415926535;
¿Qué almacena una variable de tipo char?
Un solo carácter representado en ASCII.
Ejemplo: char inicial = ‘A’;
¿Qué valores puede almacenar un _Bool?
0 (falso) o 1 (verdadero).
¿Qué biblioteca se debe incluir para usar true y false?
<stdbool.h>
</stdbool.h>
¿Cómo se representan las cadenas de caracteres en C?
Como arreglos de tipo char.
Ejemplo: char nombre[] = “Carlos”;
¿Cuál es la diferencia entre long y long long?
long almacena enteros más grandes que int, mientras que long long puede almacenar valores aún mayores.
¿Qué diferencia hay entre unsigned y signed?
unsigned solo permite valores positivos, mientras que signed permite positivos y negativos.
Ejemplo:
unsigned int positivo = 40000;
signed int numero = -500;
¿Para qué se usan las estructuras en C?
Para agrupar distintos tipos de variables en una sola entidad.
Ejemplo:
struct Persona {
char nombre[20];
int edad;
} persona1;
¿Para qué se usa un enum?
Para definir un conjunto de valores constantes.
Ejemplo:
enum Dia {LUNES, MARTES, MIERCOLES};
enum Dia hoy = MARTES;
¿Cuántos bytes ocupa un char?
1 byte.
¿Cuántos bytes ocupa un int?
4 bytes.
¿Cuántos bytes ocupa un long long int?
8 bytes.
¿Cuántos bytes ocupa un float?
4 bytes.
¿Cuántos bytes ocupa un double?
8 bytes.
¿Qué son las expresiones aritméticas en C?
Son expresiones que involucran operadores matemáticos y devuelven valores numéricos.
¿Qué sucede si ambos operandos en una división son enteros (int)?
La división es entera (se descarta la parte decimal).
¿Qué sucede si al menos un operando es float o double en una división?
Se obtiene un resultado decimal.
Operadores Aritméticos
Di cuales serian los resultados de las siguientes operaciones
Operador Descripción Ejemplo
+ Suma 5 + 3
- Resta 5 - 3
* Multiplicación 5 * 3
/ División 5 / 3
% Módulo 5 % 3
Resultado
8
2
15
1 (división entera)
2 (residuo de la división)
¿Qué devuelven las expresiones relacionales?
Un valor booleano (0 para falso, 1 para verdadero).
Expresiones Relacionales
Menciona cual seria su resultado
Operador Descripción Ejemplo
(a = 5, b = 3)
== Igual a a == b != Diferente a != b > Mayor que a > b < Menor que a < b >= Mayor o igual a >= b <= Menor o igual a <= b
Resultado
0 (Falso) 1 (Verdadero) 1 0 1 0
Expresiones Lógicas
Menciona cual seria su resultado
Operador-Descripción Ejemplo
(a = 5, b = 3)
&& AND lógico (a > 2) && (b < 5)
` `
! NOT lógico !(a == 5)
Resultado
1
OR logico
0
¿Qué es la precedencia de operadores en C?
Es el orden en que se evalúan los operadores cuando hay varias operaciones en una expresión.
¿Qué permiten hacer las estructuras de control de selección en C?
Permiten que un programa tome decisiones y ejecute diferentes bloques de código según condiciones específicas.
¿Cuáles son las principales estructuras de control de selección en C?
Condicionales: if, else, else if.
Selección múltiple: switch.
¿Cómo funciona una estructura if?
Ejecuta un bloque de código si una condición se evalúa como verdadera.
Ejemplo:
int edad = 18;
if (edad >= 18) {
printf(“Eres mayor de edad.\n”);
}
¿Cómo funciona una estructura if-else?
Si la condición es verdadera, ejecuta un bloque de código; si es falsa, ejecuta otro.
Ejemplo:
int numero = 10;
if (numero % 2 == 0) {
printf(“El número es par.\n”);
} else {
printf(“El número es impar.\n”);
}
¿Cómo funciona una estructura else if?
Permite evaluar múltiples condiciones en orden y ejecutar el código correspondiente al primer caso verdadero.
Ejemplo:
int calificacion = 85;
if (calificacion >= 90) {
printf(“Tu calificación es A.\n”);
} else if (calificacion >= 80) {
printf(“Tu calificación es B.\n”);
} else if (calificacion >= 70) {
printf(“Tu calificación es C.\n”);
} else {
printf(“Reprobaste.\n”);
}
¿Para qué se usa switch?
Para evaluar una variable y ejecutar diferentes bloques de código según su valor.
int opcion = 2;
switch (opcion) {
case 1:
printf(“Seleccionaste opción 1.\n”);
break;
case 2:
printf(“Seleccionaste opción 2.\n”);
break;
case 3:
printf(“Seleccionaste opción 3.\n”);
break;
default:
printf(“Opción no válida.\n”);
}
¿Cuándo usar if y cuándo switch?
Usa if-else cuando las condiciones involucren rangos de valores o expresiones lógicas.
Usa switch cuando solo necesites comparar una variable con múltiples valores constantes y mejorar la legibilidad del código.
¿Para qué sirven las estructuras repetitivas en C?
Permiten ejecutar un bloque de código múltiples veces mientras se cumpla una condición.
¿Cuáles son los tres tipos principales de ciclos en C?
for: Se usa cuando se conoce el número de repeticiones.
while: Se ejecuta mientras una condición sea verdadera, sin un número fijo de iteraciones.
do-while: Similar a while, pero garantiza que el bloque de código se ejecute al menos una vez.
¿Cuál es la estructura de un ciclo for?
for (inicialización; condición; incremento/decremento) {
// Bloque de código
}
¿Cuáles son los tres componentes del for?
Inicialización: Se ejecuta una vez antes del ciclo.
Condición: Se evalúa antes de cada iteración; si es falsa, el ciclo termina.
Incremento/Decremento: Se ejecuta al final de cada iteración
Ejemplo de uso recomendado del for:
Recorrer arreglos o listas con un número fijo de elementos.
Generar secuencias numéricas.
¿Cuál es la estructura de un ciclo while?
while (condición) {
// Bloque de código
}
Ventajas y ejemplos de uso del while
Es adecuado cuando no se conoce el número exacto de iteraciones.
Leer datos hasta que el usuario ingrese 0.
Esperar la entrada del usuario.
¿Cuál es la estructura de un ciclo do-while?
do {
// Bloque de código
} while (condición);
Diferencia de while y do-while
do-while ejecuta el código al menos una vez, incluso si la condición es falsa.
¿Para qué se usa goto?
Para hacer saltos dentro del código utilizando etiquetas.
¿Cuándo Usar break, continue y goto?
break; Cuando se quiere salir de un ciclo antes de que la condición se cumpla.
continue; Cuando se quiere omitir una iteración y continuar con la siguiente.
goto; Solo cuando no hay una mejor alternativa para manejar el flujo del programa (evitarlo si es posible).