Formación : Programación en C

Programación en C

Descargar en formato pdf Compartir este curso por correo electrónico 2


Este curso intensivo le permitirá adquirir un conocimiento verdaderamente operativo del lenguaje. Le explicará cómo funcionan los distintos mecanismos y le mostrará cómo implementarlos mediante una serie de ejercicios prácticos. Al final del curso, será capaz de escribir programas en C robustos y portables.


Abierta
In-company
A medida

Curso práctico presencial o en clase a distancia

Ref. LGC
Precio : Contacto
  5d - 35h00




Este curso intensivo le permitirá adquirir un conocimiento verdaderamente operativo del lenguaje. Le explicará cómo funcionan los distintos mecanismos y le mostrará cómo implementarlos mediante una serie de ejercicios prácticos. Al final del curso, será capaz de escribir programas en C robustos y portables.

Público afectado
Desarrolladores, ingenieros, jefes de proyecto cercanos al desarrollo.

Requisitos previos
Conocimientos básicos de programación.

Programa de la formación

Primeros pasos en C

  • Introducción al lenguaje C y sus ventajas.
  • C++ frente a C. Normas C++11 y C11.
  • Archivos fuente (.c, .h).
  • Estructura general de un programa.
  • La sintaxis básica del lenguaje.
  • Tipos de datos y constantes básicas.
  • Variables globales y locales.
  • Almacenamiento y paso de parámetros.
  • Entradas/salidas formateadas.
  • Los comentarios.
  • Uso básico de la línea de producción.
  • Entornos de edición, compilación y ejecución.
  • Ejecutar un programa inicial.

Operadores y expresiones

  • Operadores aritméticos.
  • Mecanismos de evaluación de expresiones.
  • Post y preincremento de decremento.
  • Precedencia y asociatividad de los operadores.
  • Operadores de asignación.
  • Cómo funcionan las expresiones lógicas.
  • Expresiones lógicas en sentencias while, if...
  • Operadores de comparación : <, >, ==, !=...
  • Operadores lógicos: AND, OR, negación.
  • Tipos numéricos compuestos. Regla de conversión en expresiones mixtas. Conversiones implícitas/explícitas.
  • Inicialización de variables.
  • Aritmética de direcciones.
  • Formatos de entrada/salida asociados a los tipos digitales.
  • Operadores bit a bit: AND, OR, OR exclusivo, complemento a 1, negación. Operadores de desplazamiento: &gt;&gt;, &lt;&lt;.
  • Expresión condicional con el operador ternario.
Trabajo práctico
Utilización de operadores y expresiones.

Estructuras de control

  • Noción de bloques.
  • Estructuras de bucle: while, for.
  • Instrucciones de control de bucle: break, continue.
  • Estructuras de elección: if, else, else if.
  • Estructura de opción múltiple: interruptor.
Trabajo práctico
Implantación de estructuras de control.

Matrices, punteros y cadenas de caracteres

  • Definición, inicialización y acceso a los elementos de un array.
  • Definición de un puntero. Recuperación de la dirección de memoria de un objeto. Acceso al contenido de un puntero.
  • Equivalentes de puntero/tabla.
  • Cálculo de punteros.
  • Cadenas de caracteres.
  • Ejemplos de manipulación de cadenas.
  • C11 Cadenas de caracteres Unicode.
Trabajo práctico
Manipulación de matrices, punteros y cadenas de caracteres.

Las estructuras

  • Intereses de las estructuras.
  • Declarar, inicializar y acceder a los campos de una estructura.
  • Utilizar estructuras anidadas.
  • Crear nuevos tipos utilizando Typedef.
  • Campos de bits.
  • Sindicatos.
  • Enumeraciones.
  • Estructuras anónimas y enumeraciones en C11.
  • Definir punteros a estructuras.
Trabajo práctico
Implementación de nuevas estructuras de datos.

Las funciones

  • Definición de una función.
  • Llama a una función.
  • Paso de parámetros: por valor o por referencia.
  • Código de retorno de la función. Tipos de retorno.
  • La función "principal".
Trabajo práctico
Descomposición del código mediante funciones. Gestión de las llamadas a funciones.

Compilación separada, clase de asignación

  • Mecanismo de funcionamiento de la línea de producción.
  • Utilización de bibliotecas de fuentes.
  • Noción de Makefile.
  • Configuración de la memoria de un programa C (pila, montón, etc.).
  • Clases de asignación de variables (auto, register, static, extern).
  • Diferentes escenarios para una compilación separada.
  • Noción de objeto externo.
  • Datos globales y estáticos.
  • Datos locales.
  • Regla de visibilidad.
  • Información adicional sobre funciones e inicializaciones.

El preprocesador

  • Utilizar macros predefinidas (constantes simbólicas). Definir sus propias macros con #define.
  • Definición de macros como funciones. Uso de marcadores # y ##.
  • Anula la definición de la constante con #undef.
  • Compilación condicional: #if, #ifdef, #ifndef, #elif, #endif.
  • Incluya recursos con #include.
Trabajo práctico
Utilización de directivas de preprocesador. Configuración de la compilación condicional.

Bibliotecas estándar

  • Funciones de cálculo matemático (sqrt, sin...).
  • Funciones de entrada/salida (fprintf, fscanf...).
  • Funciones de acceso a ficheros (fread, fwrite...).
  • Funciones de manipulación de cadenas (strlen, strcat...).
  • Funciones de gestión de memoria (malloc, free...).
  • Configuración de estructuras encadenadas (listas encadenadas, árboles n-arios, etc.).
  • Las funciones "seguras" de la biblioteca estándar C11 (strcat_s, strlen_s, etc.).
Trabajo práctico
Utilización de las principales funciones de la biblioteca estándar.


Modalidades prácticas
Trabajo práctico
Se pondrán a disposición de los participantes máquinas Unix o Windows (PC) para que puedan poner en práctica los conceptos presentados.