Fundamentos Esenciales de Programación en C y Conceptos de Sistemas Operativos

Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 5,42 KB

Conceptos Fundamentales de Sistemas y Programación

Sistema Operativo (SO)

El Sistema Operativo (SO) coordina el hardware, organiza los archivos y controla los diferentes procesos de la computadora. Puede ser de tarea única o multitarea.

Lenguaje Binario

El lenguaje binario es el lenguaje básico de la computadora.

Programación Estructurada

Es la disciplina de escribir programas que sean claros, que se demuestre que son correctos y que sean fáciles de modificar.

Fundamentos del Lenguaje C

Proceso de Compilación en C

El proceso de transformación del código fuente a ejecutable sigue varios pasos:

  1. Editor: Creación del código fuente.
  2. Preprocesador: Procesa directivas como #include.
  3. Compilador: Crea el código objeto.
  4. Enlazador (Linker): Enlaza el código objeto con las bibliotecas necesarias.
  5. Cargador: Coloca el programa en la memoria para su ejecución (CPU).

Características Clave del Lenguaje C

  • Legibilidad
  • Portabilidad
  • Modificabilidad
  • Eficiencia

Archivos de Cabecera y Bibliotecas Estándar

Archivos de Cabecera (*Header Files*)

Se denomina header file al archivo, normalmente en forma de código fuente, que el compilador incluye de forma automática al procesar algún otro archivo fuente.

Archivos de Cabecera Comunes y su Función

  • stdio.h: Macros y funciones para realizar operaciones de entrada y de salida sobre ficheros y flujos de datos.
  • conio.h: Es una biblioteca de manejo de entrada y salida de datos en la consola, comúnmente utilizada en sistemas DOS.
  • time.h: Declaración de funciones para el manejo de fechas y tiempo.
  • ctype.h: Funciones útiles para la clasificación y el mapeado de códigos de caracteres.
  • math.h: Sirven para realizar operaciones matemáticas comunes sobre valores de tipo double.

Funciones de Biblioteca Esenciales

Funciones de stdio.h:

  • printf: Imprimir salidas.
  • scanf: Para introducir entradas.
  • fclose, remove, rename, perror, feof, ferror, clearerr.

Funciones de conio.h:

  • getch, clrscr, gotoxy, textcolor, textbackground.

Caracteres de Escape

Los caracteres de escape se utilizan dentro de cadenas de texto para representar caracteres especiales:

  • \n: Salto de línea.
  • \t: Tabulador.
  • \a: Sonido (alerta).
  • \\: Diagonal invertida.
  • \": Comilla doble.
  • \': Comilla simple.

Diagrama de Flujo

Es la representación gráfica del algoritmo o proceso.

Ejemplos Prácticos de Código en C

Ejemplo 1: Declaración y Asignación de Variables

Declarar dos variables enteras y asignarles valores.

#include <stdio.h>
#include <conio.h>

/* Declarar 2 variables enteras y asignarles valores */
main () {
    int x, y;
    x = 5;
    y = 8;
    printf ("x=%d \ny=%d", x, y);
    
    x = 7;
    y = 2; // Asignación de nuevos valores
    
    printf ("\nLa variable x=%d", x);
    printf ("\nLa variable y=%d", y);
    getch();
}

Ejemplo 2: Entrada de Datos por Teclado y Operaciones Aritméticas

Solicitar valores desde el teclado y realizar operaciones básicas.

#include <stdio.h>
#include <conio.h>

/* Pedir valores desde el teclado */
main (){
    int a, b;
    a = 0;
    b = 0;
    
    printf("\nDame un número entero para a: ");
    scanf("%d", &a);
    printf("\nEl valor que introdujo para a es: %d", a);
    getch();
    
    printf("\nDame un número entero para b: ");
    scanf("%d", &b);
    printf("\nEl valor que introdujo para b es: %d", b);
    getch();
    
    printf("\nSuma = %d", a + b);
    printf("\nResta = %d", a - b);
    printf("\nMultiplicación = %d", a * b);
    printf("\nDivisión = %d", a / b);
    getch();
}

Ejemplo 3: Uso de Operadores de Incremento (Pre y Post)

#include <stdio.h>
#include <conio.h>

main () {
    int i;
    
    i = 5;
    printf("\nValor inicial: %d", i);
    printf("\nPost-incremento (i++): %d", i++);
    printf("\nValor actual de i: %d", i);
    
    i = 5;
    printf("\n\nValor inicial: %d", i);
    printf("\nPre-incremento (++i): %d", ++i);
    printf("\nValor actual de i: %d", i);
    
    getch();
}

Ejemplo 4: Estructuras Condicionales (if)

Comparación de dos números enteros.

#include <stdio.h>
#include <conio.h>

main () {
    int x, y;
    
    printf("Dame dos números enteros: ");
    scanf("%d%d", &x, &y);
    
    if (x == y) {
        printf("Los números son iguales.\n");
    }
    
    if (x != y) {
        printf("Los números son diferentes.\n");
    }
    
    getch();
}

Entradas relacionadas: