Programación en C. Parte 0

platilla-portada-para-dummies

Este es la primera entrada de varias publicaciones que hare sobre programación en C, las publicaciones prenden y pretendo, tratar de enseñar lo mucho o poco que se sobre programación en C, explicando cosas y detalles que de alguna u otra manera en cursos que he llevado en la universidad pasaron por alto y tuve que ponerme a buscar para poder entender diferentes cuestiones en cuanto al lenguaje, espero y poder ayudar a los que están empezando a programar en C.

Se preguntaran ¿Por que el lenguaje C y no Java u otros?, pues a decir verdad una es por cuestiones de personales ya que se me da bien manejar C y la otra es por que en mi opinión pienso que C es bastante sencillo de aprender, claro hay otros lenguajes mas sencillos tal vez, pero C te da la pauta para poder empezar a programar C++, Java,C# entre otros, por que con C se puede aprender de una manera sencilla la lógica de programación, el manejo de estructuras de datos, métodos y funciones por que no tiene un nivel demasiado alto de abstracción como lo tienen muchos de los lenguajes mas modernos.

En cuanto a mi portada que coloque, es nada mas que una parodia de un libro de programación que nos vendía un maestro en mi universidad llamado: C, el comienzo.Y que es de su autoría ,solo que no hayan estudiado en el Tecnológico de Tuxtla Gutiérrez tal vez no entenderán el chiste, pero igual es una bonita portada.

Como todo en la vida para que puedas presumir ser bueno en algo, no solo tienes que saber poner en practica las cosas si no también conocer los orígenes de esta, en el caso del lenguaje C no solo es necesario que sepas todas las librerías y sepas crear buenos programas también tienes que saber la historia que hay detrás de todo ello. Ya hace algunos días publique un articulo: Quiero aprender a programar. ¿Que hago?.

Una de las mejores cosas que la tiene la web y que es su base principal son los hipervínculos, con esto no tengo que contarles la historia de C si no nada mas enlazar la información para que hagamos uso de ella así que te recomendaría hacer clic en los enlaces y leer antes de empezar a picar código. 

Bueno comencemos.

El lenguaje C es un lenguaje de propósito general que ha sido estrechamente asociado con el sistema UNIX, algo muy común que escuchamos sobre C es que, es un “lenguaje de programación de sistemas” esta idea esta mal enfocada ya que C no esta ligado con ningún sistemas operativo, la idea viene por que C comúnmente se utiliza para escribir compiladores y sistemas operativos.

Muchas ideas que están en C provienen del Lenguaje B, que a su vez provienen del Lenguaje BCPL, algo que hace la diferencia entre C y estos lenguajes es que los dos anteriores son Lenguajes “Carentes de tipos”. ¿Que significa esto?. Pues que no existían los tipos de datos: char, int, float, mucho menos existían los arreglos, estructuras y uniones, solo existía la palabra (word) y para lograr algo parecido se utilizaba la notación hugara, una notación que se utiliza a menudo en lenguaje ensamblador.

En C las operaciones se forman a partir de operadores y operandos; cualquier expresión, incluyendo una asignación o una llamada a función, puede ser una proposición.

C proporciona construcciones fundamentales de control de flujo que se requieren en programas bien estructurados: agrupación de proposiciones, toma de decisiones (if-else), selección de un caso entre conjuntos de ellos (switch), iteración con la condición de paro en la parte superior (while,for) o en la parte inferior (do), y terminación prematura de ciclos (break).

Las funciones creadas en C pueden retornar valores de tipos básicos, estructuras, uniones o apuntadores, y estas pueden ser llamadas de forma recursiva, mas adelante veremos esta parte.

Algo que hay que conocer bien en C es que existe un estándar llamado ANSI C, esto es que existen un “tratado” para programar y crear código en C que cumpla con ciertos requisitos y esto hará que los programas sean portables de una plataforma a otra, actualmente se utiliza el estándar C99 y es el que utilizare para explicar los ejemplos.

Y por fin después de tanta palabrería pero que no por ello no es importante y al menos pienso que les di las pautas para empezar a indagar por su cuenta sobre los orígenes de C, pasemos al Código.

Pero antes explicare las herramientas con las que trabajo y los compiladores que usare.

Para crear código en C se puede usar cualquier editor de texto pero al menos por facilidad de uso les recomendare uno bastante interesante.

Sublime Text, es un editor bastante minimalista pero potente y admite varios lenguajes de programación, hay una versión portable y existe tanto para Windows como para Linux, otro editor bastante popular es Notepad++.

El compilador que en los ejemplos usare será gcc este se basa en el estándar ANSI C, es para entornos Gnu/Linux y por ende trabajare en Linux dada la facilidad de uso de su consola de comandos y por que para algunos ejemplos tratare de programar algunas funciones que llevan acabo los comandos de Linux. Claro siempre tratare que todo funcione en Windows también.

Para instalar gcc en Ubuntu 10.04 que es la versión que utilizare, solo ejecuta en la consola. $ sudo apt-get install gcc.

Si vas a trabajar en Windows te recomiendo descargar el compilador MinGW aun que tendrás que agregar al path de Windows el gcc y si no bajate el IDE+Compilador llamado Dev-c++ eso si desconozco que tanto soporte tiene para algunas funciones con respecto al estándar ya que el proyecto Dev-c++ esta actualmente parado aun que no utilizare cosas raras, también tendrás que añadir al path  los binarios si quieres compilar desde consola y no desde el IDE.

Empecemos a programar¡¡

Lo primero que vamos hacer es imprimir en la pantalla el clásico Hola Mundo.

  1: #include <stdio.h>
  2: 
  3: main()
  4: {
  5: 	printf("Hola Mundo\n");
  6: }
  7: 

El código lo guardamos en un archivo con extensión .c, y para compilarlo y ejecutarlo haremos lo siguiente, en este caso utilizando la consola de Linux:

~$ gcc holamundo.c

Automáticamente se generara un archivo a.aout , en Windows será a.exe . Para ejecutar en la consola escribiremos:

~$ ./a.aout

No se preocupen por el momento en como cambiar el nombre del ejecutable, por el momento lo dejare así para posteriormente explicar los parámetros del compilador.

Analizaremos el programa por partes:

Un programa en C, consta de funciones y variables. Una función contiene proposiciones que especifican las operaciones de calculo que se realizaran y las variables sirven para almacenar los valores utilizados para los cálculos.

En el ejemplo de hola mundo, tiene una función llamada “main”, esto es por que en C los programas se empiezan a ejecutar al principio de main, así que siempre un programa en C tiene que tener esta función ya sea al principio o al final pero tiene que llevarla, también puede no estar esa función pero en cuyo caso lo que estamos creando es una biblioteca que de alguna manera tendrá que ser llamada por un programa que si contenga main.

#include <stdio.h>

Esta parte indica al compilador que debe incluir la información acerca de la biblioteca estándar de entrada/salida, es muy común encontrarse esta biblioteca en la mayoría de los programas en C si no es que en todos.

La manera para comunicar datos entre las funciones, es por medio de una lista de valores llamados argumentos. Los paréntesis que están después del nombre de la función encierran a la lista de argumentos.

Por ejemplo main() es una función en este caso sin argumentos, que esta indicado por la lista vacía ( ).

Las proposiciones de una función están encerradas entre llaves { }. La función main de nuestro ejemplo solo contiene una proposición:

printf(“Hola Mundo\n”);

Si se dan cuenta printf es también una función a la que se le pasan los argumentos “Hola Mundo\n”. printf es una función de biblioteca que escribe la salida en función de los argumentos que se le pasen, en este ejemplo solo le pasamos una cadena de caracteres y una secuencia de escape \n . Mas Ejemplos de secuencias de escape.

La función printf por si sola no proporciona un salto de línea de manera que tenemos siempre que usar las secuencias de escape para lograr un salto de línea, por la misma razón podemos utilizar la función printf de manera consecutiva y obtendremos el mismo resultado:

  1: #include <stdio.h>
  2: 
  3: main()
  4: {
  5: 	printf("Hola ");
  6: 	printf("Mundo");
  7: 	printf("\n");

8: }

 

Bueno con esto finalizo este articulo, estén pendientes en breve publicare la Parte 1. Si ven algún error o quieren hacer alguna sugerencia coméntela y si te gusto comparte la noticia.

Programación en C. Parte 1

4 comentarios en “Programación en C. Parte 0

  1. Pingback: Programacion en C parte 0
  2. Pingback: Programación en C. Parte 1 « 80 Bits

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s