Secuencia Estructuras condicionales Estructuras iterativas Desarrollo de aplicaciones
Fundamentos de programacion de Sistemas EmbebidosProgramacion estructurada y lenguaje C
Mg. Ing. E. Sergio Burgos
Universidad Nacional de Entre RıosFacultad de Ingenierıa
Especializacion en Sistemas Embebidos
31/08/2018
1 / 28 Fundamentos de programacion de Sistemas Embebidos Programacion estructurada y lenguaje C
Secuencia Estructuras condicionales Estructuras iterativas Desarrollo de aplicaciones
Estructura de una aplicacion
#include <stdio.h>
int main(int argc , char * argv [])
{
float op1 , op2 , r;
printf("-= Suma de dos valores =-\n");
printf("Operador 1:");
scanf("%f", &op1);
printf("Operador 2:");
scanf("%f", &op2);
r = op1 + op2;
printf("Resultado: %.2f\n", r);
return 0;
}
2 / 28 Fundamentos de programacion de Sistemas Embebidos Programacion estructurada y lenguaje C
Secuencia Estructuras condicionales Estructuras iterativas Desarrollo de aplicaciones
Estructura de una aplicacion
#include <stdio.h>
int main(int argc , char * argv [])
{
float op1 , op2 , r;
printf("-= Suma de dos valores =-\n");
printf("Operador 1:");
scanf("%f", &op1);
printf("Operador 2:");
scanf("%f", &op2);
r = op1 + op2;
printf("Resultado: %.2f\n", r);
return 0;
}
3 / 28 Fundamentos de programacion de Sistemas Embebidos Programacion estructurada y lenguaje C
Secuencia Estructuras condicionales Estructuras iterativas Desarrollo de aplicaciones
Estructura de una aplicacion
#include <stdio.h>
int main(int argc , char * argv [])
{
float op1 , op2 , r;
printf("-= Suma de dos valores =-\n");
printf("Operador 1:");
scanf("%f", &op1);
printf("Operador 2:");
scanf("%f", &op2);
r = op1 + op2;
printf("Resultado: %.2f\n", r);
return 0;
}
4 / 28 Fundamentos de programacion de Sistemas Embebidos Programacion estructurada y lenguaje C
Secuencia Estructuras condicionales Estructuras iterativas Desarrollo de aplicaciones
Variables
Toda variable consta de un nombre, un tipo y un valor.
Necesariamente ocupa un lugar en memoria, por lo que tiene una direccion asociada.
En funcion de su tipo, tiene un rango de valores que puede contener.
5 / 28 Fundamentos de programacion de Sistemas Embebidos Programacion estructurada y lenguaje C
Secuencia Estructuras condicionales Estructuras iterativas Desarrollo de aplicaciones
Variables - Nombres
No podemos establecer cualquier nombre a una variable. Ciertas reglas deben cumplirse:
Solo pueden estar compuestas por letras, numeros y el caracter guion bajo ( )
El primer caracter del nombre debera ser una letra o guion bajo
No puede contener caracteres especiales tales como espacio en blanco, &, #, $, etc.
No pueden denominarse de la misma manera que palabras claves o reservadas del lenguaje(int, for, break, return, etc.)
6 / 28 Fundamentos de programacion de Sistemas Embebidos Programacion estructurada y lenguaje C
Secuencia Estructuras condicionales Estructuras iterativas Desarrollo de aplicaciones
Variables - Tipos y rangos
Variables de tipo entero con signo
Tipo de datoRango de valores
Mınimo Maximo
char -128 127
short -32.768 32.767
int -2.147.483.648 2.147.483.647
long -2.147.483.648 2.147.483.647
long longmin: -9.223.372.036.854.775.808
max: 9.223.372.036.854.775.807
7 / 28 Fundamentos de programacion de Sistemas Embebidos Programacion estructurada y lenguaje C
Secuencia Estructuras condicionales Estructuras iterativas Desarrollo de aplicaciones
Variables - Tipos y rangos
Variables de tipo entero sin signo
Tipo de datoRango de valores
Mınimo Maximo
unsigned char 0 255
unsigned short 0 65.535
unsigned int 0 4.294.967.295
unsigned long 0 4.294.967.295
unsigned long long 0 18.446.744.073.709.551.615
8 / 28 Fundamentos de programacion de Sistemas Embebidos Programacion estructurada y lenguaje C
Secuencia Estructuras condicionales Estructuras iterativas Desarrollo de aplicaciones
Variables - Tipos y rangos
Variables de tipo real.
Tipo de dato Rango
floatmin: 1,175494e-38
max: 3,402823e+38
doublemin: 2,22507385851e-308
max: 1,79769313486e308
long doublemin: 3,36210314311209350626e-4932
max: 1,18973149535723176502e+4932
9 / 28 Fundamentos de programacion de Sistemas Embebidos Programacion estructurada y lenguaje C
Secuencia Estructuras condicionales Estructuras iterativas Desarrollo de aplicaciones
Variables - Tipos y rangos
Con el objetivo de lograr portabilidad entre sistemas, el estandar C99 del Lenguaje C agrega elheader stdint, en el que se agregan los tipos de datos:
uint8 t y int8 t
uint16 t y int16 t
uint32 t y int32 t
uint64 t y int64 t
10 / 28 Fundamentos de programacion de Sistemas Embebidos Programacion estructurada y lenguaje C
Secuencia Estructuras condicionales Estructuras iterativas Desarrollo de aplicaciones
Estructura de una aplicacion
#include <stdio.h>
int main(int argc , char * argv [])
{
float op1 , op2 , r;
printf("-= Suma de dos valores =-\n");
printf("Operador 1:");
scanf("%f", &op1);
printf("Operador 2:");
scanf("%f", &op2);
r = op1 + op2;
printf("Resultado: %.2f\n", r);
return 0;
}
11 / 28 Fundamentos de programacion de Sistemas Embebidos Programacion estructurada y lenguaje C
Secuencia Estructuras condicionales Estructuras iterativas Desarrollo de aplicaciones
Salidas de informacion con formato
La funcion printf permite mostrar informacion indicando el formato de la misma. El prototipo deesta funcion es:
printf(const char *formato, ...)
Donde la cadena de formato es una cadena de caracteres literal que puede incorporar especificadoresde formato (”%”).Los siguientes serıan ejemplos de uso validos:
printf("Hola mundo!\n");
printf("Resultado entero: %d", varInt );
printf("Base 16: %04x", valU16 );
printf("Resultado real: %0.2f", varInt );
12 / 28 Fundamentos de programacion de Sistemas Embebidos Programacion estructurada y lenguaje C
Secuencia Estructuras condicionales Estructuras iterativas Desarrollo de aplicaciones
Especificadores de formato
Identificacion Tipo de dato Formato de ingreso
(*) hhi char Entero en base 10, base 8 si
se lo precede con 0 o en base
16 si se lo precede con 0x.
i inthi shortli long int
(*) lli long long int
(*) hhd char
Entero en base 10d int
hd shortld long int
(*) lld long long int
(*) hhu unsigned char
Entero sin signo en base 10hu unsigned shortu unsigned intlu unsigned long
(*) llu unsigned long long
13 / 28 Fundamentos de programacion de Sistemas Embebidos Programacion estructurada y lenguaje C
Secuencia Estructuras condicionales Estructuras iterativas Desarrollo de aplicaciones
Especificadores de formato
Identificacion Tipo de dato Formato de ingreso
(*) hhx unsigned char
Entero en base 16x unsigned int
hx unsigned shortlx unsigned long
(*) llx unsigned long long
(*) hho unsigned char
Entero en base 8o unsigned int
ho unsigned shortlo unsigned long int
(*) llo unsigned long long
f floatRealeslf double
Lf long double
c char Caracter
14 / 28 Fundamentos de programacion de Sistemas Embebidos Programacion estructurada y lenguaje C
Secuencia Estructuras condicionales Estructuras iterativas Desarrollo de aplicaciones
Estructura de una aplicacion
#include <stdio.h>
int main(int argc , char * argv [])
{
float op1 , op2 , r;
printf("-= Suma de dos valores =-\n");
printf("Operador 1:");
scanf("%f", &op1);
printf("Operador 2:");
scanf("%f", &op2);
r = op1 + op2;
printf("Resultado: %.2f\n", r);
return 0;
}
15 / 28 Fundamentos de programacion de Sistemas Embebidos Programacion estructurada y lenguaje C
Secuencia Estructuras condicionales Estructuras iterativas Desarrollo de aplicaciones
Entradas de datos
La funcion homologa a printf es la funcion scanf. Esa toma como argumento una cadena de espe-cificacion de formato donde deben indicarse la cantidad y tipo de valores a cargar. Los indicadoresde formato son los mismos de la tabla anterior.A continuacion de la cadena de formato debe indicarse la lista de direcciones de las variables quecontendran los datos.
scanf(const char *formato, ...)
Los siguientes serıan ejemplos de uso validos:
scanf("%d", &varInt );
scanf("%x %x", &varUInt1 , &varUInt2 );
scanf("%f", &vFloat );
Esta funcion retornara la cantidad de valores que pudieron asignarse segun la especificacion deformato dada.
16 / 28 Fundamentos de programacion de Sistemas Embebidos Programacion estructurada y lenguaje C
Secuencia Estructuras condicionales Estructuras iterativas Desarrollo de aplicaciones
Estructura de una aplicacion
#include <stdio.h>
int main(int argc , char * argv [])
{
float op1 , op2 , r;
printf("-= Suma de dos valores =-\n");
printf("Operador 1:");
scanf("%f", &op1);
printf("Operador 2:");
scanf("%f", &op2);
r = op1 + op2;
printf("Resultado: %.2f\n", r);
return 0;
}
17 / 28 Fundamentos de programacion de Sistemas Embebidos Programacion estructurada y lenguaje C
Secuencia Estructuras condicionales Estructuras iterativas Desarrollo de aplicaciones
Operadores aritmeticos
Operador Significado
+ Suma- Resta* Multiplicacion/ Division% Resto de la division
Operador Significado
+= v = v + 1 o v += 1-= v = v - 1 o v -= 1*= v = v * 1 o v *= 1/= v = v / 1 o v/= 1%= r = r % 2 o r %= 2
18 / 28 Fundamentos de programacion de Sistemas Embebidos Programacion estructurada y lenguaje C
Secuencia Estructuras condicionales Estructuras iterativas Desarrollo de aplicaciones
Expresiones logicas
Son evaluadas como verdadero o falso. En su construccion se utilizan operadores relacionales,variables, constantes y expresiones.
OperadoresRelacionales
Significado
== Igual!= Diferente< Menor<= Menor o igual> Mayor>= Mayor o igual
OperadoresLogicos
Significado
! Negacion&& Y|| O
Ejemplos:
(x < 32) \&\& (y >= 0)
!(x < 0) || (j < 0)
19 / 28 Fundamentos de programacion de Sistemas Embebidos Programacion estructurada y lenguaje C
Secuencia Estructuras condicionales Estructuras iterativas Desarrollo de aplicaciones
Estructuras condicionales: if
Segun el resultado de la evaluacion de una expresion logica se ejecuta un conjunto de acciones.
if (expLogica)
{
accion_1;
accion_2;
...
accion_n;
}
if (expLogica)
{
accion_1a;
accion_2a;
...
accion_na;
}
else
{
accion_1b;
accion_2b;
...
accion_2b;
}
if (expLogicaA)
{
...
}
else if (expLogicaB)
{
...
}
else if (expLogicaC)
{
...
}
else
{
...
}
20 / 28 Fundamentos de programacion de Sistemas Embebidos Programacion estructurada y lenguaje C
Secuencia Estructuras condicionales Estructuras iterativas Desarrollo de aplicaciones
Estructuras condicionales: switch
Segun el valor de una variable ejecuta un conjunto de acciones.Realiza solamente comparaciones de igualdad y requiere el uso de variables de tipo ordinal.
swtich(varInt)
{
case 1:
accion_1a;
accion_2a;
...
break;
case 2:
case 3:
accion_1b;
accion_2b;
...
break;
default:
accion_1c;
accion_2c;
}
Pueden utilizarse caracteres para establecer comparaciones, en este caso se tomara el valor de latabla ASCII y los valores deben encerrarse entre apostrofes.
21 / 28 Fundamentos de programacion de Sistemas Embebidos Programacion estructurada y lenguaje C
Secuencia Estructuras condicionales Estructuras iterativas Desarrollo de aplicaciones
Estructuras iterativas: for
Repite un conjunto de acciones una cantidad determinada de veces.Cuenta con 3 secciones:
Inicializacion
Expresion logica
Incremento
Secuencia de ejecucion:
No existe restricciones sobre el tipo de la variable utilizada en la estructura.Pueden utilizarse multiples variables en la expresion logica asociada.El incremento puede realizarse de diferentes maneras.
22 / 28 Fundamentos de programacion de Sistemas Embebidos Programacion estructurada y lenguaje C
Secuencia Estructuras condicionales Estructuras iterativas Desarrollo de aplicaciones
Estructuras iterativas: for
Repite un conjunto de acciones una cantidad determinada de veces.Cuenta con 3 secciones:
Inicializacion
Expresion logica
Incremento
Secuencia de ejecucion:
No existe restricciones sobre el tipo de la variable utilizada en la estructura.Pueden utilizarse multiples variables en la expresion logica asociada.El incremento puede realizarse de diferentes maneras.
22 / 28 Fundamentos de programacion de Sistemas Embebidos Programacion estructurada y lenguaje C
Secuencia Estructuras condicionales Estructuras iterativas Desarrollo de aplicaciones
Estructuras iterativas: for
Repite un conjunto de acciones una cantidad determinada de veces.Cuenta con 3 secciones:
Inicializacion
Expresion logica
Incremento
Secuencia de ejecucion:
No existe restricciones sobre el tipo de la variable utilizada en la estructura.Pueden utilizarse multiples variables en la expresion logica asociada.El incremento puede realizarse de diferentes maneras.
22 / 28 Fundamentos de programacion de Sistemas Embebidos Programacion estructurada y lenguaje C
Secuencia Estructuras condicionales Estructuras iterativas Desarrollo de aplicaciones
Estructuras iterativas: for
Repite un conjunto de acciones una cantidad determinada de veces.Cuenta con 3 secciones:
Inicializacion
Expresion logica
Incremento
Secuencia de ejecucion:
No existe restricciones sobre el tipo de la variable utilizada en la estructura.Pueden utilizarse multiples variables en la expresion logica asociada.El incremento puede realizarse de diferentes maneras.
22 / 28 Fundamentos de programacion de Sistemas Embebidos Programacion estructurada y lenguaje C
Secuencia Estructuras condicionales Estructuras iterativas Desarrollo de aplicaciones
Estructuras iterativas: for
Repite un conjunto de acciones una cantidad determinada de veces.Cuenta con 3 secciones:
Inicializacion
Expresion logica
Incremento
Secuencia de ejecucion:
No existe restricciones sobre el tipo de la variable utilizada en la estructura.Pueden utilizarse multiples variables en la expresion logica asociada.El incremento puede realizarse de diferentes maneras.
22 / 28 Fundamentos de programacion de Sistemas Embebidos Programacion estructurada y lenguaje C
Secuencia Estructuras condicionales Estructuras iterativas Desarrollo de aplicaciones
Estructuras iterativas: for
Repite un conjunto de acciones una cantidad determinada de veces.Cuenta con 3 secciones:
Inicializacion
Expresion logica
Incremento
Secuencia de ejecucion:
No existe restricciones sobre el tipo de la variable utilizada en la estructura.Pueden utilizarse multiples variables en la expresion logica asociada.El incremento puede realizarse de diferentes maneras.
22 / 28 Fundamentos de programacion de Sistemas Embebidos Programacion estructurada y lenguaje C
Secuencia Estructuras condicionales Estructuras iterativas Desarrollo de aplicaciones
Estructuras iterativas: for
Repite un conjunto de acciones una cantidad determinada de veces.Cuenta con 3 secciones:
Inicializacion
Expresion logica
Incremento
Secuencia de ejecucion:
No existe restricciones sobre el tipo de la variable utilizada en la estructura.Pueden utilizarse multiples variables en la expresion logica asociada.El incremento puede realizarse de diferentes maneras.
22 / 28 Fundamentos de programacion de Sistemas Embebidos Programacion estructurada y lenguaje C
Secuencia Estructuras condicionales Estructuras iterativas Desarrollo de aplicaciones
Estructuras iterativas: for
Repite un conjunto de acciones una cantidad determinada de veces.Cuenta con 3 secciones:
Inicializacion
Expresion logica
Incremento
Secuencia de ejecucion:
No existe restricciones sobre el tipo de la variable utilizada en la estructura.Pueden utilizarse multiples variables en la expresion logica asociada.El incremento puede realizarse de diferentes maneras.
22 / 28 Fundamentos de programacion de Sistemas Embebidos Programacion estructurada y lenguaje C
Secuencia Estructuras condicionales Estructuras iterativas Desarrollo de aplicaciones
Estructuras iterativas: for
Repite un conjunto de acciones una cantidad determinada de veces.Cuenta con 3 secciones:
Inicializacion
Expresion logica
Incremento
Secuencia de ejecucion:
No existe restricciones sobre el tipo de la variable utilizada en la estructura.
Pueden utilizarse multiples variables en la expresion logica asociada.El incremento puede realizarse de diferentes maneras.
22 / 28 Fundamentos de programacion de Sistemas Embebidos Programacion estructurada y lenguaje C
Secuencia Estructuras condicionales Estructuras iterativas Desarrollo de aplicaciones
Estructuras iterativas: for
Repite un conjunto de acciones una cantidad determinada de veces.Cuenta con 3 secciones:
Inicializacion
Expresion logica
Incremento
Secuencia de ejecucion:
No existe restricciones sobre el tipo de la variable utilizada en la estructura.Pueden utilizarse multiples variables en la expresion logica asociada.
El incremento puede realizarse de diferentes maneras.
22 / 28 Fundamentos de programacion de Sistemas Embebidos Programacion estructurada y lenguaje C
Secuencia Estructuras condicionales Estructuras iterativas Desarrollo de aplicaciones
Estructuras iterativas: for
Repite un conjunto de acciones una cantidad determinada de veces.Cuenta con 3 secciones:
Inicializacion
Expresion logica
Incremento
Secuencia de ejecucion:
No existe restricciones sobre el tipo de la variable utilizada en la estructura.Pueden utilizarse multiples variables en la expresion logica asociada.El incremento puede realizarse de diferentes maneras.
22 / 28 Fundamentos de programacion de Sistemas Embebidos Programacion estructurada y lenguaje C
Secuencia Estructuras condicionales Estructuras iterativas Desarrollo de aplicaciones
Estructuras iterativas: while
Repite un conjunto de acciones una cantidad no determinada de veces, mientras una expresionlogica se evaluada como verdadera.
Puede que el conjunto de acciones asociada no se ejecute nunca debido a que es evaluada alcomienzo de la estructura.
El bloque de acciones asociadas (o un evento externo) debe modificar alguna de las variablesque conforman la expresion logica asociada.
Secuencia de ejecucion:
23 / 28 Fundamentos de programacion de Sistemas Embebidos Programacion estructurada y lenguaje C
Secuencia Estructuras condicionales Estructuras iterativas Desarrollo de aplicaciones
Estructuras iterativas: while
Repite un conjunto de acciones una cantidad no determinada de veces, mientras una expresionlogica se evaluada como verdadera.
Puede que el conjunto de acciones asociada no se ejecute nunca debido a que es evaluada alcomienzo de la estructura.
El bloque de acciones asociadas (o un evento externo) debe modificar alguna de las variablesque conforman la expresion logica asociada.
Secuencia de ejecucion:
23 / 28 Fundamentos de programacion de Sistemas Embebidos Programacion estructurada y lenguaje C
Secuencia Estructuras condicionales Estructuras iterativas Desarrollo de aplicaciones
Estructuras iterativas: while
Repite un conjunto de acciones una cantidad no determinada de veces, mientras una expresionlogica se evaluada como verdadera.
Puede que el conjunto de acciones asociada no se ejecute nunca debido a que es evaluada alcomienzo de la estructura.
El bloque de acciones asociadas (o un evento externo) debe modificar alguna de las variablesque conforman la expresion logica asociada.
Secuencia de ejecucion:
23 / 28 Fundamentos de programacion de Sistemas Embebidos Programacion estructurada y lenguaje C
Secuencia Estructuras condicionales Estructuras iterativas Desarrollo de aplicaciones
Estructuras iterativas: while
Repite un conjunto de acciones una cantidad no determinada de veces, mientras una expresionlogica se evaluada como verdadera.
Puede que el conjunto de acciones asociada no se ejecute nunca debido a que es evaluada alcomienzo de la estructura.
El bloque de acciones asociadas (o un evento externo) debe modificar alguna de las variablesque conforman la expresion logica asociada.
Secuencia de ejecucion:
23 / 28 Fundamentos de programacion de Sistemas Embebidos Programacion estructurada y lenguaje C
Secuencia Estructuras condicionales Estructuras iterativas Desarrollo de aplicaciones
Estructuras iterativas: while
Repite un conjunto de acciones una cantidad no determinada de veces, mientras una expresionlogica se evaluada como verdadera.
Puede que el conjunto de acciones asociada no se ejecute nunca debido a que es evaluada alcomienzo de la estructura.
El bloque de acciones asociadas (o un evento externo) debe modificar alguna de las variablesque conforman la expresion logica asociada.
Secuencia de ejecucion:
23 / 28 Fundamentos de programacion de Sistemas Embebidos Programacion estructurada y lenguaje C
Secuencia Estructuras condicionales Estructuras iterativas Desarrollo de aplicaciones
Estructuras iterativas: do-while
Repite un conjunto de acciones una cantidad no determinada de veces, mientras una expresionlogica se evaluada como verdadera.
El conjunto de acciones asociada siempre se ejecutara por lo menos una vez.
El bloque de acciones asociadas (o un evento externo) debe modificar alguna de las variablesque conforman la expresion logica asociada.
Secuencia de ejecucion:
24 / 28 Fundamentos de programacion de Sistemas Embebidos Programacion estructurada y lenguaje C
Secuencia Estructuras condicionales Estructuras iterativas Desarrollo de aplicaciones
Estructuras iterativas: do-while
Repite un conjunto de acciones una cantidad no determinada de veces, mientras una expresionlogica se evaluada como verdadera.
El conjunto de acciones asociada siempre se ejecutara por lo menos una vez.
El bloque de acciones asociadas (o un evento externo) debe modificar alguna de las variablesque conforman la expresion logica asociada.
Secuencia de ejecucion:
24 / 28 Fundamentos de programacion de Sistemas Embebidos Programacion estructurada y lenguaje C
Secuencia Estructuras condicionales Estructuras iterativas Desarrollo de aplicaciones
Estructuras iterativas: do-while
Repite un conjunto de acciones una cantidad no determinada de veces, mientras una expresionlogica se evaluada como verdadera.
El conjunto de acciones asociada siempre se ejecutara por lo menos una vez.
El bloque de acciones asociadas (o un evento externo) debe modificar alguna de las variablesque conforman la expresion logica asociada.
Secuencia de ejecucion:
24 / 28 Fundamentos de programacion de Sistemas Embebidos Programacion estructurada y lenguaje C
Secuencia Estructuras condicionales Estructuras iterativas Desarrollo de aplicaciones
Estructuras iterativas: do-while
Repite un conjunto de acciones una cantidad no determinada de veces, mientras una expresionlogica se evaluada como verdadera.
El conjunto de acciones asociada siempre se ejecutara por lo menos una vez.
El bloque de acciones asociadas (o un evento externo) debe modificar alguna de las variablesque conforman la expresion logica asociada.
Secuencia de ejecucion:
24 / 28 Fundamentos de programacion de Sistemas Embebidos Programacion estructurada y lenguaje C
Secuencia Estructuras condicionales Estructuras iterativas Desarrollo de aplicaciones
Estructuras iterativas: do-while
Repite un conjunto de acciones una cantidad no determinada de veces, mientras una expresionlogica se evaluada como verdadera.
El conjunto de acciones asociada siempre se ejecutara por lo menos una vez.
El bloque de acciones asociadas (o un evento externo) debe modificar alguna de las variablesque conforman la expresion logica asociada.
Secuencia de ejecucion:
24 / 28 Fundamentos de programacion de Sistemas Embebidos Programacion estructurada y lenguaje C
Secuencia Estructuras condicionales Estructuras iterativas Desarrollo de aplicaciones
Funciones en Lenguaje C
Recordemos algunas ideas:
Las funciones son la base de la modularizacion en las aplicaciones desarrolladas en LenguajeC.
Previa la invocacion de una funcion debe haber sido definida o implementada.
El prototipo de una funcion incluye el nombre de la funcion, tipos de argumentos y tipo devalore de retorno:
<tipoRet> nombreFuncion(<tip1>, <tipo2>, ..., tipoN );
Si una funcion no toma argumentos o no retorna valores, el tipo de valor de retorno o utilizadocomo argumento debe indicarse como void.
La implementacion de la funcion debe incluir el nombre de los argumentos utilizados en suprototipo.
Cada funcion define su propio espacio de definicion, por lo que las variables definidas en suinterior (ası como sus argumentos) existen solo al momento de invocar la funcion.
El paso de parametros en lenguaje C siempre se da por valor.
25 / 28 Fundamentos de programacion de Sistemas Embebidos Programacion estructurada y lenguaje C
Secuencia Estructuras condicionales Estructuras iterativas Desarrollo de aplicaciones
Funciones en Lenguaje C
La implementacion de funciones suele darse en pares de archivos, por un lado el prototipo en unarchivo h y la implementacion en un archivo con extension c.
/* *********** funciones.h *********** */
#ifndef funciones_h
#define funciones_h
void unaAccion(void);
double calculo(int , duble );
#endif
/* *********** funciones.c *********** */
#include "funcion.h"
void unaAccion(void)
{
/* Co digo fuente ... */
}
double calculo(int , duble)
{
double ret = 0.0;
/* Co digo fuente ... */
return ret;
}
26 / 28 Fundamentos de programacion de Sistemas Embebidos Programacion estructurada y lenguaje C
Secuencia Estructuras condicionales Estructuras iterativas Desarrollo de aplicaciones
Desarrollo de aplicaciones en Eclipse
27 / 28 Fundamentos de programacion de Sistemas Embebidos Programacion estructurada y lenguaje C
Secuencia Estructuras condicionales Estructuras iterativas Desarrollo de aplicaciones
Desarrollo de aplicaciones en Eclipse
27 / 28 Fundamentos de programacion de Sistemas Embebidos Programacion estructurada y lenguaje C
Secuencia Estructuras condicionales Estructuras iterativas Desarrollo de aplicaciones
Desarrollo de aplicaciones en Eclipse
27 / 28 Fundamentos de programacion de Sistemas Embebidos Programacion estructurada y lenguaje C
Secuencia Estructuras condicionales Estructuras iterativas Desarrollo de aplicaciones
Desarrollo de aplicaciones en Eclipse
27 / 28 Fundamentos de programacion de Sistemas Embebidos Programacion estructurada y lenguaje C
Secuencia Estructuras condicionales Estructuras iterativas Desarrollo de aplicaciones
Desarrollo de aplicaciones en Eclipse
27 / 28 Fundamentos de programacion de Sistemas Embebidos Programacion estructurada y lenguaje C
Secuencia Estructuras condicionales Estructuras iterativas Desarrollo de aplicaciones
Desarrollo de aplicaciones en Eclipse
27 / 28 Fundamentos de programacion de Sistemas Embebidos Programacion estructurada y lenguaje C
Secuencia Estructuras condicionales Estructuras iterativas Desarrollo de aplicaciones
Desarrollo de aplicaciones en Eclipse
27 / 28 Fundamentos de programacion de Sistemas Embebidos Programacion estructurada y lenguaje C
Secuencia Estructuras condicionales Estructuras iterativas Desarrollo de aplicaciones
Desarrollo de aplicaciones en Eclipse
27 / 28 Fundamentos de programacion de Sistemas Embebidos Programacion estructurada y lenguaje C
Secuencia Estructuras condicionales Estructuras iterativas Desarrollo de aplicaciones
Desarrollo de aplicaciones en Eclipse
27 / 28 Fundamentos de programacion de Sistemas Embebidos Programacion estructurada y lenguaje C
Secuencia Estructuras condicionales Estructuras iterativas Desarrollo de aplicaciones
Desarrollo de aplicaciones en Eclipse
27 / 28 Fundamentos de programacion de Sistemas Embebidos Programacion estructurada y lenguaje C
Secuencia Estructuras condicionales Estructuras iterativas Desarrollo de aplicaciones
Desarrollo de aplicaciones en Eclipse
27 / 28 Fundamentos de programacion de Sistemas Embebidos Programacion estructurada y lenguaje C
Secuencia Estructuras condicionales Estructuras iterativas Desarrollo de aplicaciones
Desarrollo de aplicaciones en Eclipse
27 / 28 Fundamentos de programacion de Sistemas Embebidos Programacion estructurada y lenguaje C
Secuencia Estructuras condicionales Estructuras iterativas Desarrollo de aplicaciones
Desarrollo de aplicaciones en Eclipse
27 / 28 Fundamentos de programacion de Sistemas Embebidos Programacion estructurada y lenguaje C
Secuencia Estructuras condicionales Estructuras iterativas Desarrollo de aplicaciones
Desarrollo de aplicaciones en Eclipse
27 / 28 Fundamentos de programacion de Sistemas Embebidos Programacion estructurada y lenguaje C
Secuencia Estructuras condicionales Estructuras iterativas Desarrollo de aplicaciones
Desarrollo de aplicaciones en Eclipse
27 / 28 Fundamentos de programacion de Sistemas Embebidos Programacion estructurada y lenguaje C
Secuencia Estructuras condicionales Estructuras iterativas Desarrollo de aplicaciones
Desarrollo de aplicaciones en Eclipse
27 / 28 Fundamentos de programacion de Sistemas Embebidos Programacion estructurada y lenguaje C
Secuencia Estructuras condicionales Estructuras iterativas Desarrollo de aplicaciones
Ahora a programar!
28 / 28 Fundamentos de programacion de Sistemas Embebidos Programacion estructurada y lenguaje C