StudyFiWiki
WikiAplicación web
StudyFi

Materiales de estudio con IA para todos los estudiantes. Resúmenes, tarjetas, tests, podcasts y mapas mentales.

Materiales de estudio

  • Wiki
  • Aplicación web
  • Registro gratis
  • Sobre StudyFi

Legal

  • Términos del servicio
  • RGPD
  • Contacto
Descargar en
App Store
Descargar en
Google Play
© 2026 StudyFi s.r.o.Creado con IA para estudiantes
Wiki💻 Ciencias de la ComputaciónIntroducción a Algoritmos y ProgramaciónResumen

Resumen de Introducción a Algoritmos y Programación

Introducción a Algoritmos y Programación

ResumenTest de conocimientosTarjetasPodcastMapa mental

Introducción

La Programación en C es una disciplina fundamental para la formación informática universitaria. Esta guía ofrece conceptos clave del lenguaje C, ejemplos prácticos, y aplicaciones reales para que puedas comprender y aplicar técnicas de programación en C de forma eficiente.

Definición: El lenguaje C es un lenguaje de programación de propósito general, imperativo y de bajo nivel relativo, diseñado para ofrecer control sobre recursos y eficiencia en tiempo de ejecución.

Estructura básica de un programa en C

Componentes principales

  • Directivas de preprocesador: líneas que comienzan con # y se procesan antes de la compilación.
  • Funciones: bloques de código con un propósito definido; main es el punto de entrada.
  • Declaraciones y definiciones: variables, tipos y prototipos de funciones.

Definición: Una función es un bloque de código independiente que recibe parámetros (opcional) y puede devolver un valor.

Ejemplo mínimo

#include <stdio.h>

int main(void) {
    printf("Hola, mundo\n");
    return 0;
}
💡 Věděli jste?Did you know que el primer compilador de C fue desarrollado en los años 70 y que C ha sido la base para muchos otros lenguajes modernos?

Tipos de datos y variables

Tipos básicos

  • int para enteros
  • float, double para números en punto flotante
  • char para caracteres
  • Modificadores: short, long, signed, unsigned

Definición: Un tipo de dato determina el rango de valores que una variable puede almacenar y cómo se representan en memoria.

Tabla comparativa: tipos enteros

TipoTamaño típicoRango típico
short2 bytes-32768 a 32767
int4 bytes-2147483648 a 2147483647
long8 bytes (en muchos sistemas)mayor rango

Constantes y literales

  • Usar const para valores inmutables
  • Sufijos: L, U, f

Operadores y expresiones

  • Aritméticos: +, -, *, /, %
  • Relacionales: ==, !=, <, >, <=, >=
  • Lógicos: &&, ||, !
  • Bit a bit: &, |, ^, <<, >>

Definición: Una expresión es una combinación de operadores y operandos que produce un valor.

Ejemplo: calcular promedio

double promedio(int a, int b) {
    return (a + b) / 2.0;
}

Control de flujo

  • Sentencias condicionales: if, else, switch
  • Bucles: for, while, do-while
  • Saltos: break, continue, return

Ejemplo: iterar y sumar

int suma_array(int arr[], int n) {
    int suma = 0;
    for (int i = 0; i < n; ++i) {
        suma += arr[i];
    }
    return suma;
}

Funciones y paso de parámetros

  • Paso por valor: copia del dato
  • Paso por referencia: mediante punteros para modificar datos originales

Definición: Un puntero es una variable que almacena la dirección de memoria de otra variable.

Ejemplo: intercambio mediante punteros

void swap(int *a, int *b) {
    int tmp = *a;
    *a = *b;
    *b = tmp;
}
💡 Věděli jste?Fun fact: El uso de punteros permite implementar estructuras dinámicas como listas enlazadas y árboles con eficiencia de memoria.

Punteros y manejo de memoria

  • Operador de dirección & y desreferencia *
  • Asignación dinámica: malloc, calloc, realloc, liberación con free

Tabla: comparativa de asignación dinámica

FunciónUsoInicialización
mallocreservar memoriasin inicializar
callocreservar y cero inicializarinicializada a 0
realloccambiar tamaño de bloquepreserva contenido

Ejemplo: reservar memoria para un arreglo

int *vec = malloc(n * sizeof(int));
if (vec == NULL) {
    // manejar error
}
// usar vec
free(vec);

Estructuras y typedef

  • struct para agrupar datos heterogéneos
  • typedef para crear alias de tipos

Ejemplo: punto en 2D

typedef struct {
    double x;
    double y;
} Punto;

Punto p = {1.0, 2.0};
Zaregistruj se pro celé shrnutí
TarjetasTest de conocimientosResumenPodcastMapa mental
Empezar gratis

¿Ya tienes cuenta? Iniciar sesión

Programación en C - Guía

Klíčové pojmy: Conocer la estructura básica de un programa en C y el rol de main, Usar tipos de datos adecuados: int, float, double, char y modificadores, Inicializar variables y comprobar valores de retorno siempre, Usar punteros para paso por referencia y manejo dinámico de memoria, Reservar y liberar memoria con malloc/calloc/realloc y free, Usar struct y typedef para agrupar y nombrar tipos compuestos, Depurar con compilador (gcc -Wall) y herramientas como gdb o Code::Blocks, Realizar comprobaciones de errores en I/O y al abrir archivos, Preferir modularidad: funciones pequeñas y bien documentadas, Aplicar buenas prácticas: liberar recursos y evitar desbordamientos

## Introducción La **Programación en C** es una disciplina fundamental para la formación informática universitaria. Esta guía ofrece conceptos clave del lenguaje C, ejemplos prácticos, y aplicaciones reales para que puedas comprender y aplicar técnicas de programación en C de forma eficiente. > Definición: El lenguaje C es un lenguaje de programación de propósito general, imperativo y de bajo nivel relativo, diseñado para ofrecer control sobre recursos y eficiencia en tiempo de ejecución. ## Estructura básica de un programa en C ### Componentes principales - **Directivas de preprocesador**: líneas que comienzan con `#` y se procesan antes de la compilación. - **Funciones**: bloques de código con un propósito definido; `main` es el punto de entrada. - **Declaraciones y definiciones**: variables, tipos y prototipos de funciones. > Definición: Una función es un bloque de código independiente que recibe parámetros (opcional) y puede devolver un valor. ### Ejemplo mínimo ```c #include <stdio.h> int main(void) { printf("Hola, mundo\n"); return 0; } ``` Did you know que el primer compilador de C fue desarrollado en los años 70 y que C ha sido la base para muchos otros lenguajes modernos? ## Tipos de datos y variables ### Tipos básicos - `int` para enteros - `float`, `double` para números en punto flotante - `char` para caracteres - Modificadores: `short`, `long`, `signed`, `unsigned` > Definición: Un tipo de dato determina el rango de valores que una variable puede almacenar y cómo se representan en memoria. Tabla comparativa: tipos enteros | Tipo | Tamaño típico | Rango típico | |------|---------------|--------------| | `short` | 2 bytes | -32768 a 32767 | | `int` | 4 bytes | -2147483648 a 2147483647 | | `long` | 8 bytes (en muchos sistemas) | mayor rango | ### Constantes y literales - Usar `const` para valores inmutables - Sufijos: `L`, `U`, `f` ## Operadores y expresiones - Aritméticos: `+`, `-`, `*`, `/`, `%` - Relacionales: `==`, `!=`, `<`, `>`, `<=`, `>=` - Lógicos: `&&`, `||`, `!` - Bit a bit: `&`, `|`, `^`, `<<`, `>>` > Definición: Una expresión es una combinación de operadores y operandos que produce un valor. Ejemplo: calcular promedio ```c double promedio(int a, int b) { return (a + b) / 2.0; } ``` ## Control de flujo - Sentencias condicionales: `if`, `else`, `switch` - Bucles: `for`, `while`, `do-while` - Saltos: `break`, `continue`, `return` Ejemplo: iterar y sumar ```c int suma_array(int arr[], int n) { int suma = 0; for (int i = 0; i < n; ++i) { suma += arr[i]; } return suma; } ``` ## Funciones y paso de parámetros - Paso por valor: copia del dato - Paso por referencia: mediante punteros para modificar datos originales > Definición: Un puntero es una variable que almacena la dirección de memoria de otra variable. Ejemplo: intercambio mediante punteros ```c void swap(int *a, int *b) { int tmp = *a; *a = *b; *b = tmp; } ``` Fun fact: El uso de punteros permite implementar estructuras dinámicas como listas enlazadas y árboles con eficiencia de memoria. ## Punteros y manejo de memoria - Operador de dirección `&` y desreferencia `*` - Asignación dinámica: `malloc`, `calloc`, `realloc`, liberación con `free` Tabla: comparativa de asignación dinámica | Función | Uso | Inicialización | |---------|-----|----------------| | `malloc` | reservar memoria | sin inicializar | | `calloc` | reservar y cero inicializar | inicializada a 0 | | `realloc` | cambiar tamaño de bloque | preserva contenido | Ejemplo: reservar memoria para un arreglo ```c int *vec = malloc(n * sizeof(int)); if (vec == NULL) { // manejar error } // usar vec free(vec); ``` ## Estructuras y typedef - `struct` para agrupar datos heterogéneos - `typedef` para crear alias de tipos Ejemplo: punto en 2D ```c typedef struct { double x; double y; } Punto; Punto p = {1.0, 2.0}; ```

Otros materiales

ResumenTest de conocimientosTarjetasPodcastMapa mental
← Volver al tema