
Damos una introducción al lenguaje de programación C. Quienes lo crean y para que se utiliza generalmente.
Realizamos el proceso de instalación del IDE que utilizaremos durante la gran mayoría del curso y realizamos nuestro primer programa en C con el famoso Hola Mundo.
Empezaremos a ver que son las variables, para que se utilizan, como se representan en la memoria y también los diferentes tipos de datos que puede manejar C. Entre estos tipos de datos encontramos los enteros, decimales, caracteres, enteros sin signo, enteros largos, etc.
Comentar el código es una excelente práctica de programación que nos sirve para explicar detalladamente lo que vamos haciendo y de esta manera en un futuro no nos olvidemos lo que programamos.
También los comentarios nos sirven para comentar aquellas porciones de código que no queremos que se ejecuten debido a que estamos realizando pruebas.
Un tipo de variable que es característica del lenguaje C es la variable de tipo puntero. Estas variables tienen la capacidad de poder almacenar una dirección de memoria.
La posibilidad del lenguaje de poder recuperar y almacenar direcciones de memoria es lo que lo hace de los mas eficientes y rápidos a la hora de ejecutar, ya que nos permite trabajar casi directamente con la memoria pudiéndola administrar manualmente.
Continuamos analizando las variables puntero. Veremos el operador para obtener una dirección de memoria, el operador de indirección, el puntero NULL y los punteros genéricos.
En este video vemos todos los operadores soportados por C: Operadores aritméticos (suma, resta, producto, división, modulo), relacionales (mayor, menor, igual, etc.), lógicos(and, or, not) y de asignación. Además analizaremos como el lenguaje analiza la prioridad de estos operadores.
Dos operadores típicos de C y de sus lenguajes derivados es la capacidad de incrementar y/o decrementar el valor de una variable con una sintaxis sencilla y acortada.
Es fundamental que cualquier programa pueda ser capaz de informar mensajes o datos por pantalla. Por ello, C provee la función printf que nos permite mostrar los datos de nuestro programa.
Otra parte fundamental de cualquier programa es poder permitirle al usuario que ingrese sus datos al programa para luego poder manipularlos. La función scanf de C permite leer por consola los datos que ingresa el usuario.
Las directivas de preprocesador son una especie de instrucción que se le da al compilador para importar librerías, definición de macros, entre otros.
La estructura de selección if-else nos permite controlar el flujo del programa dependiendo de una condición lógica. Si esta condición es verdadera entonces se ejecutará el código que se encuentra dentro del if, si es falsa entonces irá por el lado del else.
Un típico ejemplo de esto es determinar si un numero es par o no. Si el numero es divisible por 2 entonces es par y puedo realizar ciertas operaciones, caso contrario es impar y realizo otro conjunto de operaciones.
La estructura de selección switch tiene un comportamiento similar al if-else pero no igual. Mientras que en el if-else solo puedo analizar una condicion por cada if, con la estructura del switch se pueden analizar multiples condiciones y tener una porcion de codigo por cada condicion.
La instrucción switch tiene sus desventajas, es por ello que hay que saber cuando utilizar if-else y cuando switch.
Dentro de las estructuras de control de flujo es muy importante tener la capacidad de repetir secciones de código.
La primera estructura a analizar es el ciclo while que permite ejecutar repetidamente una sección de código sujeto a una condición verdadera, cuando esa condición se torne falsa entonces se dejará de repetir.
La segunda estructura de repetición es el ciclo for. A diferencia del ciclo while este se utiliza para repetir una sección de código una cantidad preestablecida de veces, por esta razón, también se lo denomina ciclo incondicionado.
Esta estructura de repetición es prácticamente idéntica al ciclo while con la salvedad de que en este ciclo primero se ejecuta la instrucción y luego se analiza la condición permitiendo así que las instrucciones dentro del ciclo se ejecuten siempre al menos una vez.
En esta nueva sección aprenderemos a como modularizar programas. Un concepto muy importante en cualquier lenguaje de programación que permite programar código que se pueda reutilizar, poderlo encapsular y abstraernos de ciertas cuestiones.
Las funciones son un tipo de módulo que surgen del concepto matemático de funciones en cual esta función recibe datos y devuelve un valor determinado. Este valor devuelto puede ser de cualquier tipo soportado por el lenguaje.
Los procedimientos son otro tipo de módulos que permiten encapsular código sin la necesidad de que este tenga que devolver algo como en las funciones o cuando se necesite retornar mas de un valor.
Las funciones solamente pueden devolver un valor y siempre deben hacerlo. En cambio los procedimientos pueden retornar cero o mas valores.
Una parte muy importante que hay que aprender de los módulos es la diferencia entre parámetros actuales y formales y lo que es un prototipo o cabecera del modulo.
Estos conceptos ayudaran a entender mejor como es que funcionan las funciones y procedimientos y también entender el ámbito de las diferentes variables.
Las diferentes variables que utilizamos en un programa tiene un ámbito donde pueden ser utilizadas, no se pueden usar en cualquier lugar. Al igual que una variable no vive para siempre, puede ser destruida antes de que finalice el programa.
Cuando queremos modificar el valor de una variable que no pertenece al ámbito de un módulo entonces hay que entender como C maneja el pasaje de parámetros desde la invocación de un módulo hasta el código que tiene el mismo.
C dispone de múltiples librerías que nos permiten hacer diferentes tareas sin que nosotros las tengamos que programar nuevamente. Existen librerías para generación de números aleatorios, manejo de cadenas de caracteres, manejo de errores, para bases de datos, para leer archivos, etc.
Estas librerías o bibliotecas fueron programadas en su momento por un tercero y puestas a disposición para que puedan ser utilizadas por cualquier desarrollador de C.
La generación de números aleatorios no es un concepto único de C, sino de cualquier lenguaje de programación. La capacidad de poder introducir aleatoriedad en nuestros programas nos permiten simular situaciones que de otra manera no podrían realizarse.
¿Está listo para convertirte en un programador en C profesional? Este curso le brinda la oportunidad de aprender el lenguaje de programación C de una manera clara y efectiva. Comenzaremos por los conceptos básicos, incluyendo las variables, las operaciones básicas y las estructuras de control. A medida que avanzamos, exploraremos temas más avanzados, como el manejo de memoria, las bases de datos, las aplicaciones en red y el trabajo concurrente. Además, aprenderá sobre buenas prácticas de programación y cómo aplicarlas en su trabajo diario.
Este curso está diseñado para ayudarlo a convertirse en un programador en C competente y eficiente. Cada sección está llena de ejemplos prácticos y proyectos aplicables que le permitirán poner en práctica lo que ha aprendido y desarrollar su capacidad para crear soluciones eficientes y sofisticadas. Ya sea que sea un principiante en programación o un programador con experiencia buscando ampliar sus habilidades, este curso es perfecto para usted.
El curso también incluye recursos adicionales, como ejercicios y desafíos, para ayudarlo a fortalecer sus habilidades y consolidar su comprensión. Tendrá un contacto directo con el instructor para resolver las dudas que le vayan surgiendo.
No esperes más, unite a esta emocionante aventura de aprendizaje de programación en C y descubrí cómo puede aumentar tu conocimiento y habilidades en programación. ¡Esperamos tenerlo como parte de esta comunidad de estudiantes satisfechos y apasionados por la programación en C!