




























































































Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
programación en lenguaje C y ejemplos
Tipo: Monografías, Ensayos
1 / 240
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!





























































































SALAS, Angel
Curso de Lenguaje "C" / Angel Salas. - Zaragoza : Secretariado de Publicaciones de la Universidad ,
ISBN 84-7733-232-
CURSO DE LENGUAJE "C" Angel Salas
Centro de Cálculo de la Universidad de Zaragoza, 1991. Edificio de Matemáticas Ciudad Universitaria 50009 - ZARAGOZA Tfno: 354100
Edita: Secretariado de Publicaciones de la Universidad de Zaragoza
Depósito Legal: Z-416- I.S.B.N.: 84-7733-232-
La lección 7 está dedicada a las funciones. Se estudian todos los aspectos relacionados con la definición y uso de las funciones. Se explican las reglas de alcance, las clases de almacenamiento.
En la lección 8 se muestra un panorama general de los tipos estructurados predefinidos sin entrar a fondo.
En la lección 9 se estudian a fondo el tipo "array", las cadenas y la relación con los punteros. Se presentan algunas funciones de biblioteca para manejar cadenas de caracteres.
La lección 10 se dedica explicar el tipo "struct", los campos de "bits", las uniones y los tipos definidos por el usuario.
En la lección 11 se presentan algunas funciones de biblioteca para leer y escribir en ficheros: abrir y cerrar fichero, posicionar, leer y escribir un carácter, leer y escribir una cadena, leer y escribir en binario, leer y escribir con formato.
En la lección 12 se explican las bases para construir y manejar estructuras de datos dinámicas. Se estudia el caso de una lista encadenada con disciplina FIFO.
Combina elementos de lenguajes de alto nivel (tipos, bloques, ...) con la funcionalidad de los ensambladores.
Permite manejar los elementos típicos de la programación de sistemas:
Tiene cinco tipos de datos básicos, tipos estructurados y admite definición de tipos por el usuario.
Pero permite casi todas las conversiones (p.ej. se pueden mezclar los tipos "int" y "char" en casi todas las expresiones).
No hace comprobaciones de error en tiempo de ejecución (desbordamiento de arrays, ...)
"Deja hacer" al programador.
No es completamente estructurado en bloques porque no permite declarar procedimientos o funciones dentro de otros procedimientos o funciones.
Pero tiene algunas características propias de los lenguajes estructurados:
Con funciones independientes Con bloques
while do-while for
Las constantes, identificadores y palabras clave deben separarse; pero ello puede hacerse con :
**- espacios en blanco
*ej1.c Indica el menor de dos enteros leidos /
**#include **
void main ( ) { int n1, n2, menor (int, int); printf ("Introducir dos enteros:\n"); scanf ("%d%d", &n1, &n2); if ( n1 == n2 ) printf ("Son iguales \n"); else printf ("El menor es: %d\n",menor(n1,n2)); }
int menor (int a, int b) { if ( a < b ) return (a ); else return ( b ); }
Son órdenes que el preprocesador interpreta antes de que el código fuente sea compilado. El preprocesador produce un programa escrito en C que es lo que se compila después.
... ...
printf("prueba: x = %d\n", x);
... ...
... ...
Un programa esta formado por funciones.
No se pueden definir anidadas.
Desde una función se puede llamar a cualquier otra.
defecto
Todo programa debe contener una función llamada "main".
Es la invocada desde el sistema operativo cuando comienza la ejecución del programa.
También devuelve un valor al medio de llamada.
/* ej1.c Indica el menor de dos enteros leidos */
#include
main ( )
{
int n1, n2, menor ( );
printf("Introducir dos enteros: \n"); scanf("%d%d", &n1, &n2); if ( n1 == n2 ) printf("Son iguales \n"); else printf("El menor es: %d\n", menor (n1, n2)); }
int menor ( a, b )
int a, b;
{ if ( a < b ) return ( a ); else return ( b );
}
COMENTARIOS
SENTENCIA PARA EL PRE-PROCESADOR
DEFINICION DE LA FUNCION "main"
Encabezamiento. No hay parámetros
Declaraciones de objetos locales
Cuerpo de la función
Sentencias
DEFINICION DE LA FUNCION "menor" Encabezamiento. Los parámetros son "a" y "b"
Declaración de los parámetros
Cuerpo de la función. No contiene declaraciones
Todas las variables deben declararse antes de usuarlas:
Ello determina : Su representación en memoria. El conjunto de valores posibles. Las operaciones permitidas. La forma de realizar las operaciones.
También se puede indicar:
La clase de localización en memoria. El ámbito de existencia. Un valor inicial.
El usuario puede definir tipos nuevos, combinando tipos predefinidos
pero...
C no está orientado a los tipos
estrictamente
Los objetos declarados fuera de la función son globales.
Al principio de cualquier bloque ( proposiciones entre { y } ) se pueden poner declaraciones.