Introducción a C

Para programar tanto en C, como en C++, Java o cualquier otro lenguaje de programación, necesitamos contar con aplicaciones o herramientas que nos permitan poner en funcionamiento nuestro programa.

El lenguaje de programación C es compilado, así que en este caso necesitaremos un compilador, que será el encargado de transformar nuestro código fuente en código que la computadora pueda ejecutar.

Además, para facilitar la tarea de los programadores existen los denominados Entorno de desarrollo integrados (IDE). En muchos casos, estos entornos incluyen un compilador, un depurador, y otras herramientas.

Las herramientas a instalar dependerán del sistema operativo utilizado. A continuación se listan algunas posibilidades para el sistema operativo Windows o GNU/Linux, no es imprescindible utilizar estas herramientas en particular, cualquier compilador puede servir.

Windows

Uno de los entornos de desarrollo más conocidos entre los programadores de C sobre Windows, tanto novatos como expertos, es el Bloodshed Dev-C++, que es un entorno libre multiplataforma. Tal entorno de desarrollo fué abandonado y retomado mejorándolo pasando a llamarse WxDev-C++. Es posible utilizarlo tanto para C como para C++.

También hay otras alternativas privativas como los compiladores de Borland o de Microsoft (Microsoft Visual C++).

Para conseguir el WxDev-C++ puede utilizarse la web

GNU/Linux

En los sistemas GNU/Linux, será necesario tener instaladas las herramientas gcc y make y la versión 6 de la glibc con su documentación, que son las que permitirán compilar los programas.

Para escribir y modificar el código, es posible utilizar cualquier editor de texto plano (en lo posible que cuente con resaltado de sintaxis), como son emacs, vim, nano, kate, gedit o geany.

Sin embargo, para quienes son novatos en la programación, es recomendable utilizar un entorno de desarrollo como son el Anjuta DevStudio (para el entorno GNOME) o KDevelop (para el entorno KDE), ya que incluyen facilidades adicionales para la ejecución y solución de problemas.

Los programas mencionados se incluyen dentro de la instalación estándar de la mayoría de las distribuciones actuales de GNU/Linux, de modo que para instalarlos sólo será
necesario seguir el procedimiento usual de instalación de aplicaciones para la distribución deseada.

Para Comenzar a programar Primero es necesario conocer algunos Códigos con la lógica del lenguaje.

> Códigos Básicos

Código para asignar variables:

Entiéndase variable como un área reservada en la memoria principal del computador

  • Enteros: son los números Naturales más el cero ( números Cardinales ).

El lenguaje C hace la distinción de si el entero es con signo o sin signo (signed o unsigned). La forma de declarar un entero es con uno de los tipos de datos que sean enteros según el tamaño que se quiera. En caso de que no se declare si es con signo o sin signo, se toma con signo.

Algunos ejemplos de declaraciones de enteros:

<span style="color: #00ff00;"> <span style="font-size: x-small;">int x;</span> <span style="font-size: x-small;">unsigned int x;</span> <span style="font-size: x-small;">signed long x;</span> <span style="font-size: x-small;">signed long long x = 10000000;</span></span>

esto significa que “x” es un numero entero ( int ) , Acá hay una observación que hacer , si “x” fuera un decimal, este al estar definido como entero por el “int” toma el valor del menor entero más cercano a este, osea si x= 1,5 , entonces int x = 1.

  • Flotantes

Son los números Reales .

El tipo de dato flotante en lenguaje C sólo tiene dos tamaños: el float y el double, que son 4 bytes y 8 bytes respectivamente. Se los puede utilizar tanto para representar números decimales, como para representar números enteros con un orden de magnitud muy grande.

Algunos ejemplos:

<span style="color: #00ff00;"> <span style="font-size: x-small;">float x;</span> <span style="font-size: x-small;">double x = 1e23;</span> <span style="font-size: x-small;">double x = 3.1416;</span> <span style="font-size: x-small;">float x = 4e-9;</span> <span style="font-size: x-small;">double x = -78;</span></span>
  • Caracteres

Los caracteres se representan utilizando el tipo char, que tiene sólo 1 byte de tamaño. Este tipo se utiliza para representar los 255 caracteres de la tabla de caracteres del sistema. El tipo char es también un tipo entero, ya que puede tomar valores de 0 a 255.

En cuanto a la forma de declarar variables de tipo char es la misma forma que con los otros tipos.

<span style="color: #00ff00;"> <span style="font-size: x-small;">char x;</span> <span style="font-
size: x-small;">char x = 's';</span> <span style="font-size: x-small;">char x = 48;</span></span>

Código para imprimir en pantalla:

Como todo programa , es necesario interactuar con el Usuario, ya sea mediante preguntas, instrucciones, solicitando o entregando Datos.

Printf(“…..”) = se ocupa para imprimir texto, numero, etc, en la pantalla del pc.

Scnaf(“…..”) = se ocupa para guardar los datos ingresados por el usuario.

n = se ocupa para realizar un salto de linea en la consola.

Ejemplo:

<span style="font-size: x-small; color: #00ff00;">printf(“ingrese un numero n”);</span>
<span style="font-size: x-small; color: #00ff00;">int numero;</span>
<span style="font-size: x-small;"><span style="color: #00ff00;">scanf(“%i”, &amp;numero)</span>;</span>

Dentro del “printf” va nuestro texto el cal aparece en la pantalla solicitando un dato al usuario, este dato siempre debe estar definido para que el computador sepa que tipo de variable es , en este caso nuestra variable es de tipo entero (int) y el nombre de la variable es “numero”, luego este dato es guardado por nuestro “scanf”, dentro del “scnaf” es necesario especificar que tipo de variable vamos a guardar y donde la vamos a guardar ( variable entera , llamada numero )(%i = variable entera y &numero = lugar a guardar). Si fuera una variable float se remplaza el “%i” por “%f” o si fuera double se remplaza “%i” por “%d” o si fuera un carácter se remplaza la “%i”, por “%c” o si fuera un string se remplaza “%i” por “%s”.

Ejemplos

<span style="color: #00ff00;"><span style="font-size: x-small;">int n;</span> <span style="font-size: x-small;">printf("Introduce un numero: ");</span> <span style="font-size: x-small;">scanf("%d",&amp;n);</span> <span style="font-size: x-small;">// Este ejemplo guarda un carácter en m.</span> <span style="font-size: x-small;">char m;</span> <span style="font-size: x-small;"> </span> <span style="font-size: x-small;">printf("Introduce un caracter: ");</span> <span style="font-size: x-small;">scanf("%c",&amp;m);</span> <span style="font-size: x-small;">// Este ejemplo guarda una cadena de caracteres (solamente una palabra) en cad. </span> <span style="font-size: x-small;"> </span> <span style="font-size: x-small;">// Notese la ausencia de &amp;</span> <span style="font-size: x-small;"> </span> <span style="font-size: x-small;">char cad[20];</span> <span style="font-size: x-small;">printf("Introduce una palabra: ");</span> <span style="font-size: x-small;">scanf("%s",cad);</span> <span style="font-size: x-small;">int a,b;</span> <span style="font-size: x-small;">printf ("introduzca dos valores con el formato "a,b" :");</span> <span style="font-size: x-small;">scanf("%i,%i",&amp;a,&amp;b);</span> <span style="font-size: x-small;">printf ("el primer valor : %in",a);</span> </span>
<span style="font-size: x-small; color: #00ff00;">printf ("el segundo valor : %in",b);</span>

Acá para imprimir el valor identificamos la variable a imprimir con %i, si es un entero, o con %f si es float, etc. Luego

 

>Función Main

Todo programa en C debe tener la función “Main” int main {}

La función main debe tener uno de los siguientes prototipos:

<span style="font-size: x-small;"> <span 
style="color: #00ff00;"><tt>int main()</tt></span> <span style="color: #00ff00;"><tt>int main(int argc, char** argv)</tt></span> <span style="color: #00ff00;"><tt>int main(int argc, char** argv, char** env)</tt></span></span>


La primera es la forma por omisión de un programa que no recibe parámetros ni argumentos. La segunda forma tiene dos parámetros: argc, un número que describe el número de argumentos del programa (incluyendo el nombre del programa mismo), y argv, un puntero a un array de punteros, de argc elementos, donde el elemento argv[i] representa el i-ésimo argumento entregado al programa. En el tercer caso se añade la posibilidad de poder acceder a las variables de entorno de ejecución de la misma forma que se accede a los argumentos del programa, pero reflejados sobre la variable env.

El tipo de retorno de main es int. Al finalizar la función main, debe incluirse el valor de retorno (por ejemplo, return 0;, aunque el estándar prevé solamente dos posibles valores de retorno: EXIT_SUCCESS y EXIT_ERROR, definidas en el archivo cstddef), o salir por medio de la función exit. Alternativamente puede dejarse en blanco, en cuyo caso el compilador es responsable de agregar la salida adecuada.


> Funciones personales

Las funciones personales son muy útiles sobretodo cuando uno va a realizar una operación mas de una ves, además las funciones personales ayudan a la estructura del código y facilita su desarrollo.

La estructura es muy similar al int main, solo que acá es:

<span style="color: #00ff00;"><span style="font-size: x-small;">TipoVariable NombreFunción(TipoVariable1 NombreVariable1, TipoVariable2 NombreVariable2, etc)</span> <span style="font-size: x-small;">{</span> <span style="font-size: x-small;">operaciones</span> <span style="font-size: x-small;">}</span></span>

TipoVariable = int, float, etc NombreVariable = el nombre que deseamos ponerle NombreFunción = el nombre que deseamos ponerle

Ejemplo:

<span style="color: #00ff00;"><span style="font-size: x-small;">int suma(int x, int y )</span> </span>
<span style="font-size: x-small; color: #00ff00;">{ </span>
<span style="color: #00ff00;"><span style="font-size: x-small;">int resultado = x +y;</span> </span>
<span style="color: #00ff00;"><span style="font-size: x-small;">return resultado; // esta función retorna el valor de x + y</
span> </span>
<span style="font-size: x-small; color: #00ff00;">}</span>

>Otros códigos

1) system(“pause”); este código se ocupa para que una ves ejecutado el programa no se cierre ( no es necesario en GNU Linux )

2) Return x;