miércoles, 30 de abril de 2014

Lenguaje de Programación C

C es un lenguaje de programción creado en 1972 por Dennis M. Ritchie y también Kernighan, en los Laboratorios Bell (La electrónica moderna se desarrolló en gran parte en estos laboratorios). 

Es un lenguaje que permite acceder al hardaware por lo que es usado ampliamente en la creación de sistemas operativos (GNU-Linux, Windows, OSX)  y en sistemas embebidos que usan microprocesadores (celulares, dvds, etc). 

Se creo pensando en que sirva para cualquier plataforma o arquitectura y en lo posible facilmente portable, por ejemplo que el código que sirve para leer un dvd en un computador sirva para el reproductor de dvd conectado al televisor.

Es un lenguaje de programación estructurada, por lo que tiene subrutinas (llamadas también funciones o métodos), bloques condicionales y bucles. Se espera que cada linea de código se ejecute inmediatamente después de la anterior a menos que se llame a un subrutina. Esto a diferencia que en ensamblador existe el comando goto que permite ir a cualquier linea del programa pero puede causar errores si no se llega a la linea correcta.  El llamado a subrutinas permite también realizar programación funcional.   
Para la programación orientada a objetos (POO) se creo C++. Actualmente JAVA que imita bastantes características de C++ es más usado en POO.


Entre las principales características de cualquier programa escrito en C están:

  • La inclusión de bibliotecas( librerías , cabeceras):

#include <stdio.h> /*añade un librería que se encuentra en la carpeta por default, suelen ser las mas usadas*/ 
#include "micarpeta/milibreria" /*añade una librería que se encuentra en otra carpeta del programador.*/

  • La definición de contantes y macros:
#define hola hello //reemplaza todos los "hello" por "hola" en todo el código a continuación. 
#define pi  3.141592 //reemplaza la palabra pi por su valor numérico.
#if, #else, #elif, #endif    /*sirven para crear bloques condicionales para que el codigo sea distinto segun ciertas condiciones de la pataforma pero se encuentre en un solo archivo de codigo fuente*/ 
#ifdef, #ifndef   /*comprueba si se ha definido una constante o nombre, se usa para lo mismo que las cuatro anteriores. */


  • La declaración de funciones:

void main(); /*Una función que no devuelve ningún valor y no necesita ningún valor de entrada. */
int suma(int sumando_a, int sumando_b); /*Una función que devuelve un valor entero y necesita como argumentos dos valores enteros.*/


  • La declaración de variables: 
Se declaran usando la sintaxis: tipo nombre;


int a; //una variable numérica entera. 
char b; //una variable numérica de 0 a 256 usada generalmente para representar texto en ascii. 
float c; //una variable numérica decimal. 

Si se declaran antes de la función main() son llamadas variables globales, las declaradas dentro de cada función son variables locales. Una buena practica es colocar nombres distintos a las globales de las locales para corregir errores con mayor facilidad.


  • El código de las funciones :
Ejemplo: Para la función "suma" declarada arriba el código sería:

int suma(int sumando_a, int sumando_b){ 
int resultado=sumando_a+sumando_b; /*Se puede asignar valor a las variables en su declaración */ 
return resultado; /*toda función no declarada como void necesita tener al menos un sentencia return */  
}
Recordar: Toda sentencia termina con " ; ".


  • La función principal main():
Todo programa escrito en C, necesita por lo menos la función main() para ejecutarse (funcionar).


  • La función if: 
Se usa para realizar condicionantes: Si x entonces y, caso contrario z. No necesariamente se usa el caso contrario. 
  
if (a<b) {  
//Lo que tiene que suceder si en efecto "a" es menor a "b" 
} 
else { 
// Lo que tiene que suceder si "b" es menor o igual a "a" 
}

  • La función switch:
Se usa si una variable puede tener múltiples valores y cada valor necesita una distinta acción a realizar.

switch (x){ 
case 1: //Lo que debe suceder si x es 1;  break; 
case 2: //Lo que debe suceder si x es 2;  break; 
default: // Lo que debe suceder si x no es 1 ni 2;  break;  
}
  • La función while:
Se usa para repetir un bloque de sentencias (lineas de programa) hasta que se cumpla una condición. Se puede usar while(1) para crear un bucle infinito. (La mayoría de programas embebidos corren desde que se prende el equipo hasta su apagado)   

int y=0; 
while(y<10){ 
//Esto se repetirá 10 veces; 
y++; /*Una forma de hacer y=y+1, en este caso se suma al después de la linea, ++y suma antes de realizar el resto de lo que se encuentre en la misma linea. Existen ademas y--, --y */ 
}

  • La función for:
Se usa para repetir un bloque de sentencias un numero definido de veces o para cambiar secuencialmente de valor una variable. El uso de arreglos hace inevitable el uso de la función for.

for (int i=0; i<10; i++){ 
//Esto se repetirá 10 veces 
}

El código de ejemplo de la función while y la función for hacen exactamente lo mismo pero con for resumimos en una linea lo escrito en tres con while. La función while en la practica se usa para condiciones mas complejas.


  • Comentarios
Si todo lo que esta despues de // si ocupa solo una linea o dentro de /* */ para comentarios de varias lineas.
Es una buena practica iniciar el programa con: 

/* Nombre del archivo: 
Proyecto o Programa principal al que pertenece:
Descripción básica:  
Autor:
Licencia: 
Fecha de creación:
Fecha de modificación: 
Logotipo en Ascii "|\/| (()) ~|~ [[-" ;-D, existen verdaderos artistas en esto. No es necesario pero le da un toque de dedicación y originalidad.   */

No hay comentarios:

Publicar un comentario