Académique Documents
Professionnel Documents
Culture Documents
PROGRAMACIN EN C
PRCTICA 8:
Fundamentos del lenguaje C
Departamento de Sistemas Informticos Escuela de Ingenieros Industriales de Albacete- Informtica Industrial 2009-2010
Universidad de Castilla La Mancha
Prctica 1: ndice
1.1. Introduccin
1.2. Datos, tipos de datos y expresiones
1.3. Estructuras de control
1.4. Vectores y matrices
1.5. Cadenas
1.6. Funciones
1.7. Ejercicios propuestos
2
Departamento de Sistemas Informticos Escuela de Ingenieros Industriales de Albacete- Informtica Industrial 2009-2010
Universidad de Castilla La Mancha
Prctica 1: ndice
1.1. Introduccin
1.2. Datos, tipos de datos y expresiones
1.3. Estructuras de control
1.4. Vectores y matrices
1.5. Cadenas
1.6. Funciones
1.7. Ejercicios propuestos
3
Departamento de Sistemas Informticos Escuela de Ingenieros Industriales de Albacete- Informtica Industrial 2009-2010
Universidad de Castilla La Mancha
void main()
Comienzo del cuerpo
{ de la funcin
printf(Hola, mundo);
}
Sentencia que invoca
a la funcin de escritura
Enlazado (link)
16
Departamento de Sistemas Informticos Escuela de Ingenieros Industriales de Albacete- Informtica Industrial 2009-2010
Universidad de Castilla La Mancha
Prctica 1: ndice
1.1. Introduccin
1.2. Datos, tipos de datos y expresiones
1.3. Estructuras de control
1.4. Vectores y matrices
1.5. Cadenas
1.6. Funciones
1.7. Ejercicios propuestos
17
Departamento de Sistemas Informticos Escuela de Ingenieros Industriales de Albacete- Informtica Industrial 2009-2010
Universidad de Castilla La Mancha
20
Departamento de Sistemas Informticos Escuela de Ingenieros Industriales de Albacete- Informtica Industrial 2009-2010
Universidad de Castilla La Mancha
24
Departamento de Sistemas Informticos Escuela de Ingenieros Industriales de Albacete- Informtica Industrial 2009-2010
Universidad de Castilla La Mancha
25
Departamento de Sistemas Informticos Escuela de Ingenieros Industriales de Albacete- Informtica Industrial 2009-2010
Universidad de Castilla La Mancha
Prctica 1: ndice
1.1. Introduccin
1.2. Datos, tipos de datos y expresiones
1.3. Estructuras de control
1.4. Vectores y matrices
1.5. Cadenas
1.6. Funciones
1.7. Ejercicios propuestos
26
Departamento de Sistemas Informticos Escuela de Ingenieros Industriales de Albacete- Informtica Industrial 2009-2010
Universidad de Castilla La Mancha
27
Departamento de Sistemas Informticos Escuela de Ingenieros Industriales de Albacete- Informtica Industrial 2009-2010
Universidad de Castilla La Mancha
28
Departamento de Sistemas Informticos Escuela de Ingenieros Industriales de Albacete- Informtica Industrial 2009-2010
Universidad de Castilla La Mancha
36
Departamento de Sistemas Informticos Escuela de Ingenieros Industriales de Albacete- Informtica Industrial 2009-2010
Universidad de Castilla La Mancha
37
Departamento de Sistemas Informticos Escuela de Ingenieros Industriales de Albacete- Informtica Industrial 2009-2010
Universidad de Castilla La Mancha
39
Departamento de Sistemas Informticos Escuela de Ingenieros Industriales de Albacete- Informtica Industrial 2009-2010
Universidad de Castilla La Mancha
40
Departamento de Sistemas Informticos Escuela de Ingenieros Industriales de Albacete- Informtica Industrial 2009-2010
Universidad de Castilla La Mancha
Prctica 1: ndice
1.1 Introduccin
1.2 Datos, tipos de datos y expresiones
1.3 Estructuras de control
1.4 Vectores y matrices
1.5 Cadenas
1.6. Funciones
1.7. Ejercicios propuestos
41
Departamento de Sistemas Informticos Escuela de Ingenieros Industriales de Albacete- Informtica Industrial 2009-2010
Universidad de Castilla La Mancha
4 bytes 4 bytes 4 bytes 4 bytes 4 bytes 4 bytes 4 bytes 4 bytes 4 bytes 4 bytes
40 bytes
43
Departamento de Sistemas Informticos Escuela de Ingenieros Industriales de Albacete- Informtica Industrial 2009-2010
Universidad de Castilla La Mancha
45
Departamento de Sistemas Informticos Escuela de Ingenieros Industriales de Albacete- Informtica Industrial 2009-2010
Universidad de Castilla La Mancha
46
Departamento de Sistemas Informticos Escuela de Ingenieros Industriales de Albacete- Informtica Industrial 2009-2010
Universidad de Castilla La Mancha
a[0][0] a[0][1] a[0][2] a[1][0] a[1][1] a[1][2] a[2][0] a[2][1] a[2][2] a[3][0] a[3][1] a[3][2]
47
Departamento de Sistemas Informticos Escuela de Ingenieros Industriales de Albacete- Informtica Industrial 2009-2010
Universidad de Castilla La Mancha
Prctica 1: Indice
1.1 Introduccin
1.2 Datos, tipos de datos y expresiones
1.3 Estructuras de control
1.4 Vectores y matrices
1.5 Cadenas
1.6. Funciones
1.7. Ejercicios propuestos
49
Departamento de Sistemas Informticos Escuela de Ingenieros Industriales de Albacete- Informtica Industrial 2009-2010
Universidad de Castilla La Mancha
1.5 - Cadenas
En C, una cadena (o string) es un vector de caracteres terminado en el
carcter nulo (\0). Algunas posibles declaraciones de cadenas son:
char a[10];
char *nombre=Pepito;
50
Departamento de Sistemas Informticos Escuela de Ingenieros Industriales de Albacete- Informtica Industrial 2009-2010
Universidad de Castilla La Mancha
51
Departamento de Sistemas Informticos Escuela de Ingenieros Industriales de Albacete- Informtica Industrial 2009-2010
Universidad de Castilla La Mancha
53
Departamento de Sistemas Informticos Escuela de Ingenieros Industriales de Albacete- Informtica Industrial 2009-2010
Universidad de Castilla La Mancha
Prctica 1: Indice
1.1 Introduccin
1.2 Datos, tipos de datos y expresiones
1.3 Estructuras de control
1.4 Vectores y matrices
1.5 Cadenas
1.6. Funciones
1.7. Ejercicios propuestos
55
Departamento de Sistemas Informticos Escuela de Ingenieros Industriales de Albacete- Informtica Industrial 2009-2010
Universidad de Castilla La Mancha
1.6. Funciones
Un programa en C puede definirse como un conjunto de una o ms
funciones, de las cuales una es la principal (la funcin main).
Todas las funciones de un programa son fragmentos independientes: una
funcin no puede contener a otras.
Por tanto, una funcin es un segmento de cdigo completamente
autocontenido, encargado de realizar una tarea bien definida. Dicha tarea
se llevar a cabo cada vez que la funcin es invocada.
Cualquier funcin puede invocar a otras funciones o a s misma.
Una llamada a funcin supone el establecimiento de cierta
comunicacin entre funciones:
La funcin invocadora puede pasar cierta informacin a la funcin
invocada mediante argumentos.
A su vez la funcin invocada puede devolver ciertos valores a la
funcin invocadora. 56
Departamento de Sistemas Informticos Escuela de Ingenieros Industriales de Albacete- Informtica Industrial 2009-2010
Universidad de Castilla La Mancha
1.6. Funciones
La forma general de una definicin de funcin es:
tipo_dato_devuelto nombre_funcin(lista_parmetros_formales)
{
cuerpo_de_la_funcin
}
Ejemplo: Encabezado de la
double media(double a, double b) funcin
{
double v;
v=(a+b)/2.0;
return(v);
Cuerpo de la funcin
}
1.6. Funciones
Respecto a cada una de las partes del encabezado:
El tipo de dato devuelto es el tipo del valor que devuelve la funcin
(a la funcin invocadora) mediante la proposicin return.
Puede ser cualquiera de los tipos definidos en C.
Por defecto, una funcin devuelve un entero.
Si la funcin no devuelve ningn valor, el tipo de dato devuelto debe
ser void.
El nombre de la funcin es un identificador (por tanto debe ser
nico), y se emplea para invocarla.
La lista de parmetros formales es la lista con los nombres de las
variables que tomarn los valores de los argumentos cuando se llame
a la funcin.
Cada variable debe aparecer en la lista precedida por su tipo de datos, y
separada por comas del resto.
Una funcin puede no tener parmetros, en cuyo caso la lista de
parmetros estar vaca; sin embargo los parntesis son necesarios.
58
Departamento de Sistemas Informticos Escuela de Ingenieros Industriales de Albacete- Informtica Industrial 2009-2010
Universidad de Castilla La Mancha
1.6. Funciones
Ejemplo:
double media(double a, double b);
1.6. Funciones
Ejemplos:
#include <stdio.h> #include <stdio.h>
double media(double a,double b);
double media(double a,double b)
{ void main()
{
double v;
double a,b,res;
v=(a+b)/2.0;
a=3.75;
return(v);
b=9.27;
}
res=media(a,b)+media(3.5,a);
void main() printf(Resultado: %f\n,res);
{ }
double a,b,res;
a=3.75; double media(double a,double b)
b=9.27; {
res=media(a,b)+media(3.5,a); double v;
printf(Resultado: %f\n,res); v=(a+b)/2.0;
} return(v);
}
60
Departamento de Sistemas Informticos Escuela de Ingenieros Industriales de Albacete- Informtica Industrial 2009-2010
Universidad de Castilla La Mancha
61
Departamento de Sistemas Informticos Escuela de Ingenieros Industriales de Albacete- Informtica Industrial 2009-2010
Universidad de Castilla La Mancha
62
Departamento de Sistemas Informticos Escuela de Ingenieros Industriales de Albacete- Informtica Industrial 2009-2010
Universidad de Castilla La Mancha
Prctica 1: Indice
1.1 Introduccin
1.2 Datos, tipos de datos y expresiones
1.3 Estructuras de control
1.4 Vectores y matrices
1.5 Cadenas
1.6. Funciones
1.7. Ejercicios propuestos
63
Departamento de Sistemas Informticos Escuela de Ingenieros Industriales de Albacete- Informtica Industrial 2009-2010
Universidad de Castilla La Mancha
64
Departamento de Sistemas Informticos Escuela de Ingenieros Industriales de Albacete- Informtica Industrial 2009-2010
Universidad de Castilla La Mancha
65
Departamento de Sistemas Informticos Escuela de Ingenieros Industriales de Albacete- Informtica Industrial 2009-2010
Universidad de Castilla La Mancha
66