Lenguaje C
Lenguaje C
6° SEMESTRE
Asignatura: Lenguaje C para PLC
Docente:
Autor:
Erick Daniel Castillo Valdez
Antecedentes
La base del C proviene del BCPL, escrito por Martin Richards, y del B escrito por
Ken Thompson en 1970 para el primer sistema UNIX en un DEC PDP-7. Estos
son lenguajes sin tipos, al contrario que el C que proporciona varios tipos de
datos. Los tipos que ofrece son caracteres, números enteros y en coma flotante,
de varios tamaños. Además se pueden crear tipos derivados mediante la
utilización de punteros, vectores, registros y uniones. El primer compilador de C
fue escrito por Dennis Ritchie para un DEC PDP-11 y escribió el propio sistema
operativo en C.
C trabaja con tipos de datos que son directamente tratables por el hardware de la
mayoría de computadoras actuales, como son los caracteres, números y
direcciones. Estos tipos de datos pueden ser manipulados por
las operaciones aritméticas que proporcionan las computadoras. Esto permite que
el código generado sea muy eficiente y de ahí el éxito que ha tenido como
lenguaje de desarrollo de sistemas. No proporciona otros mecanismos
de almacenamiento de datos que no sea el estático y no proporciona mecanismos
de entrada ni salida. Ello permite que el lenguaje sea reducido y los compiladores
de fácil implementación en distintos sistemas. Por contra, estas carencias se
compensan mediante la inclusión de funciones de librería para realizar todas estas
tareas, que normalmente dependen del sistema operativo.
main( )
Como nos podemos imaginar, este programa no hace nada, pero contiene la parte
más importante de cualquier programa C y además, es el más pequeño que se
puede escribir y que se compile correctamente. En él se define la función main,
que es la que ejecuta el sistema operativo al llamar a un programa C. El nombre
de una función C siempre va seguida de paréntesis, tanto si tiene argumentos
como si no. La definición de la función está formada por un bloque de sentencias,
que está encerrado entre llaves { }.
#include <stdio.h>
main( )
{
printf("Hola amigos!\n");
Los tipos de datos básicos definidos por C son caracteres, números enteros y
números en coma flotante. Los caracteres son representados por char, los enteros
por short, int, long y los números en coma flotante por float y double. Los tipos
básicos disponibles y su tamaño son:
#include <stdio.h>
main()
farh = 35.0;
Funciones
#include <stdio.h>
#define VALOR 5
int r = 1, i = 0;
while ( i <= v )
r = r * i;
i = i + 1;
return r;
if ( v == 0 ) return 1;
main() {
Todas las líneas que comienzan con el símbolo # indican una directiva del pre-
compilador. Antes de realizar la compilación en C se llama a un pre compilador
cuya misión es procesar el texto y realizar ciertas sustituciones textuales.
Expresiones y Operadores
+, - suma, resta
| OR booleano
^ EXOR booleano
~ complemento a 1
waste_time () {
float a, b = 0.0;
Control de flujo
Sentencia if
La sentencia de control básica es if (<e>) then <s> else <t>. En ella se evalúa una
expresión condicional y si se cumple, se ejecuta la sentencia s; si no, se ejecuta la
sentencia t. La segunda parte de la condición, else <t>, es opcional.
if ( a == 0.0 )
return (TRUE);
else
return (FALSE);
Sentencia switch
Su utilización es:
switch (valor) {
...
default: <sentencias>
Cuando se encuentra una sentencia case que concuerda con el valor del switch se
ejecutan las sentencias que le siguen y todas las demás a partir de ahí, a no ser
que se introduzca una sentencia break para salir de la sentencia switch. Por
ejemplo:
{
switch(c){
break;
break;
case 'c':
break;
Setencia while
Otras sentencias de control de flujo son las que nos permiten realizar iteraciones
sobre un conjunto de sentencias. En C tenemos tres formas principales de realizar
iteraciones. La sentencia while (<e>) <s> es seguramente la más utilizada. La
sentencia, o grupo de sentencias <s> se ejecuta mientras la evaluación de la
expresión <e> sea verdadera.
long r = 1;
r++;
return r;
}
Una variación de la sentencia while es: do <s> while ( <e> ); En ella la sentencia
se ejecuta al menos una vez, antes de que se evalúe la expresión condicional.
Setencia for
Otra sentencia iterativa, que permite inicializar los controles del bucle es la
sentencia for ( <i>; <e>; <p> ) <s>. La sentencia for se puede escribir también
como:
<i>;
while ( <e> ) {
<s>;
<p>;
long r;
return r;
Break y Continue
while ( count--> 1 )
if ( count == 4 )
start_engines();
if ( status() == WARNING )
break;
if ( count == 0 ){
launch();
printf("Shuttle launched\n");
else
d2 ()
{
int f;
if ( f % 2 == 0 )
continue;
printf("%d",f );
* Es un lenguaje muy flexible que permite programar con múltiples estilos. Uno de
los más empleados es el estructurado "no llevado al extremo" (permitiendo ciertas
licencias de ruptura).
Bibliografía:
http://lenguajedeprogramacion21.blogspot.mx/
http://teoria-de-programacion.globered.com/categoria.asp?idcat=34
http://www.dc.fi.udc.es/~so-grado/current/Varios/CursoC.pdf