Saltar al contenido principal

02.01 - Conceptos Generales

Lenguajes Estructurados


Lenguaje C

El lenguaje C es un lenguaje de programación de alto nivel, desarrollado en la década de 1970. Se caracteriza por su eficiencia, su capacidad para trabajar a bajo nivel y su sintaxis compacta.

#include <stdio.h>

int main() {
printf("Hola, mundo!\n");
return 0;
}

  • La función "main" es el punto de entrada del programa.
  • La biblioteca "stdio.h" se utiliza para entrada/salida.
  • La función "printf" se utiliza para imprimir texto en la consola.
  • El carácter "\n" se utiliza para indicar un salto de línea.
  • La declaración "return 0" indica que el programa ha finalizado correctamente.

Sintaxis básica

La sintaxis básica de C es relativamente sencilla. Un programa en C se compone de funciones, que a su vez se componen de declaraciones y expresiones.

Declaraciones

Una declaración es una instrucción que le dice al compilador qué hacer. Por ejemplo, una declaración puede ser una asignación de valor a una variable, una llamada a una función o una declaración de una variable.


Expresiones

Una expresión es una combinación de valores, variables, operadores y funciones que se evalúa para producir un resultado.

Tipos de datos

C es un lenguaje fuertemente tipado, lo que significa que cada variable tiene un tipo de datos asociado. El tipo de datos determina el tamaño y el rango de valores que puede tener una variable, así como el conjunto de operaciones que se pueden realizar en ella.


Tipos de datos básicos

C proporciona los siguientes tipos de datos básicos:

  • Enteros: se utilizan para representar números enteros. Por ejemplo, 1, 2, 3, 4, etc.
  • Punto flotante: se utilizan para representar números con decimales. Por ejemplo, 1.0, 2.5, 3.14159, etc.
  • Caracteres: se utilizan para representar caracteres individuales. Por ejemplo, 'a', 'b', 'c', etc.
  • Booleanos: se utilizan para representar valores lógicos. Por ejemplo, true, false.

Tipos de datos compuestos

C también proporciona los siguientes tipos de datos compuestos:

  • Arreglos: se utilizan para representar colecciones de datos del mismo tipo. Por ejemplo, [1, 2, 3, 4, 5].
  • Estructuras: se utilizan para representar colecciones de datos de diferentes tipos. Por ejemplo, {nombre: "John", edad: 30}.
  • Punteros: se utilizan para representar direcciones de memoria. Por ejemplo, 0x7ffeefbff5a0.

Variables

Una variable es un espacio de memoria que se utiliza para almacenar un valor. Cada variable tiene un nombre y un tipo de datos asociado. El nombre de una variable se utiliza para referirse a su valor.

Constantes

Una constante es un espacio de memoria que se utiliza para almacenar un valor que no cambia. Cada constante tiene un nombre y un tipo de datos asociado. El nombre de una constante se utiliza para referirse a su valor.


Operadores

Los operadores son símbolos especiales que se utilizan para realizar operaciones en variables y constantes.

  • Aritméticos: se utilizan para realizar operaciones aritméticas. Por ejemplo, +, -, *, /, %
  • Relacionales: se utilizan para comparar valores. Por ejemplo, ==, !=, <, >, <=, >=
  • Lógicos: se utilizan para combinar expresiones lógicas. Por ejemplo, &&, ||, !
  • Bit a bit: se utilizan para realizar operaciones bit a bit. Por ejemplo, &, |, ^, ~, <<, >>

Funciones

Una función es un bloque de código que se ejecuta cuando se llama a su nombre. Las funciones se utilizan para organizar el código en bloques reutilizables.

  • Se utilizan para encapsular un bloque de código que se puede reutilizar.
  • Se definen mediante la palabra clave "void" o el tipo de dato que devuelve.
int suma(int a, int b) {
return a + b;
}

void main() {
int resultado = suma(2, 3);
printf("%d\n", resultado);
}

Estructuras de control de flujo

  • if-else: Se utiliza para ejecutar un bloque de código si se cumple una condición, y otro bloque de código si no se cumple.
if (edad >= 18) {
printf("Eres mayor de edad.\n");
} else {
printf("Eres menor de edad.\n");
}
  • switch: Se utiliza para ejecutar diferentes bloques de código en función del valor de una variable.

switch (dia) {
case 1:
printf("Lunes\n");
break;
case 2:
printf("Martes\n");
break;
case 3:
printf("Miércoles\n");
break;
default:
printf("Día desconocido\n");
break;
}

Bucles

  • for: Se utiliza para repetir un bloque de código un número determinado de veces.
for (int i = 0; i < 10; i++) {
printf("%d\n", i);
}
  • while: Se utiliza para repetir un bloque de código mientras se cumpla una condición.
int i = 0;
while (i < 10) {
printf("%d\n", i);
i++;
}

Arrays

  • Se utilizan para almacenar colecciones de datos del mismo tipo.
  • Se accede a los elementos de un array mediante un índice.
int numeros[5] = { 1, 2, 3, 4, 5 };
printf("%d\n", numeros[0]);

Punteros

  • Se utilizan para almacenar direcciones de memoria.
  • Se definen mediante el operador "*".
int a = 5;
int *p = &a;
printf("%d\n", *p);

Estructuras

  • Se utilizan para encapsular colecciones de datos de diferentes tipos.
  • Se definen mediante la palabra clave "struct".
struct Persona {
char nombre[20];
int edad;
};

struct Persona p = { "Juan", 20 };
printf("%s\n", p.nombre);