La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Introducción al Lenguaje C (II) Cadenas de caracteres, archivos de cabecera, lectura y escritura Fundamentos de Programación Departamento de Lenguajes.

Presentaciones similares


Presentación del tema: "Introducción al Lenguaje C (II) Cadenas de caracteres, archivos de cabecera, lectura y escritura Fundamentos de Programación Departamento de Lenguajes."— Transcripción de la presentación:

1 Introducción al Lenguaje C (II) Cadenas de caracteres, archivos de cabecera, lectura y escritura Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.0 Unidad Didáctica 23

2 UD23: Introducción al lenguaje C (II) Elementos de C: Cadenas  No existe el tipo String de Java. Está definido como un array de caracteres - cadena de caracteres.  La cadena debe terminar con el carácter de fin de cadena, ‘\0’ void main (void) { char cadena[ ] = ”Hola”; char cadena[ ] = {‘H’, ’o’, ’l’, ’a’, ’\0’}; }

3 UD23: Introducción al lenguaje C (II) Elementos de C: Funciones sobre cadenas  Declaradas en la librería de C  Longitud: strlen  Copia: strcpy  Comparación: strcmp  Concatenación: strcat int strlen (char * s); char * strcpy (char * s1, char * s2); int strcmp (char * s1, char * s2) ; char * strcat (char * s1, char * s2);

4 UD23: Introducción al lenguaje C (II) Archivos de cabecera I  Denominamos archivos de cabecera a los que tienen la extensión “.h”  Contienen prototipos de funciones, variables, tipos de datos y constantes.  Al escribir #include estamos importando las definiciones del archivo de cabecera.  Por cada archivo “.h” existe otro “.c” que contendrá las implementaciones de las funciones definidas en “.h”

5 UD23: Introducción al lenguaje C (II) Archivos de cabecera II  Distinguimos dos tipos de archivos de cabecera:  Del sistema: son librerías implementadas y listas para usar con sólo llamar a la función implementada dentro de dicha librería.  Ejemplo: la instrucción printf está declarada dentro de stdio.h. Por tanto, cuando decidamos usarla, tendremos que escribir en nuestro programa #include  Creados por el programador: son librerías que contienen prototipos de funciones, variables, tipos de datos y constantes para uso del programador.  Ejemplo: supongamos que la función estaEn tiene su prototipo definido en el archivo “Enteros.h”. Para poder usarla tendremos que escribir en nuestro programa #include “Enteros.h”.

6 UD23: Introducción al lenguaje C (II) Archivos de cabecera III  Nótese que las librerías del sistema se escriben entre los símbolos, mientras que las creadas por el usuario van entre comillas.  Esto se debe a que al ir entre dicha librería será buscada en el directorio del compilador INCLUDE que contiene las librerías. Si por el contrario uso las comillas, dicha librería será buscada primero en el directorio actual, y luego, si no está, será buscada en el directorio del compilador INCLUDE.

7 UD23: Introducción al lenguaje C (II) Ejemplo de C: Archivos de cabecera I  Declaramos varias funciones para enteros #include typedef enum {false, true} boolean; boolean estaEn(int a,int b,int v); int mcd(int a, int b); int mcm(int a, int b); boolean esPrimo(int a); void main(void) { //uso de las funciones para enteros } boolean estaEn(int a, int b, int v) { … } int mcd(int a, int b) { … } int mcm(int a, int b) { … } boolean esPrimo(int a) { … }

8 UD23: Introducción al lenguaje C (II) Ejemplo de C: Archivos de cabecera II  ¿Qué ocurre si queremos utilizar estas mismas funciones en otro programa?  Creamos un fichero.h y otro.c typedef enum {false, true} boolean; boolean estaEn(int, int, int); int mcd(int, int); int mcm(int, int); boolean esPrimo(int); Enteros.h #include “Enteros.h” boolean estaEn(int a, int b, int v) { … } int mcd(int a, int b) { … } … Enteros.c

9 UD23: Introducción al lenguaje C (II) Ejemplo de C: Archivos de cabecera III  El programa ahora se escribiría: #include #include “Enteros.h” void main(void) { // uso de las funciones para enteros } // <-- Llave que cierra main

10 UD23: Introducción al lenguaje C (II) Elementos de C: Lectura y escritura  Salida con formato: printf  printf (“cadena de formato”, arg1, arg2, …) #include void main(void) { int edad = 20; char nombre[] = “Juan”; printf (“Salida a consola\n"); printf (“La edad de %s es %d”, nombre, edad); } Especificadores de formato: %c carácter %d int %f float%lf double %s cadena de carácteres

11 UD23: Introducción al lenguaje C (II) Elementos de C: Lectura y escritura  Entrada con formato: scanf  scanf (“cadena de control”, arg1, arg2, …, argn); #include void main(void) { int edad; char nombre [20]; printf(“Introduzca el nombre y la edad\n"); scanf(“%s %d”, nombre, &edad); printf (“La edad introducida es %d\n”, edad); }  El parámetro de lectura debe ser un puntero, y por tanto precedido por (&), excepto en el caso de las cadenas de caracteres, ya que su nombre es un puntero en sí.

12 UD23: Introducción al lenguaje C (II) #include float media_aritmética (int a, int b, int c); void main (void) { int x = 0, y = 0, z = 0; float media = 0.0; printf (“\n Teclee tres números:”); scanf (“%d %d %d”, &x, &y, &z); media = media_aritmetica (x, y, z); printf(“%f”, media); } Ejemplos de C: Lectura y escritura I

13 UD23: Introducción al lenguaje C (II) #include "Enteros.h " void main(void) { int a = 0, b = 0, v = 0, i = 0; printf(“\nIntroduzca los valores enteros de los extremos de un intevalo[a,b]: "); scanf("%d %d",&a, &b); printf(“\nTeclee un valor entero: "); scanf("%d", &v); if (estaEn(a, b, v) == true) { printf(“\nEl valor esta comprendido entre a y b"); } else { printf(“\nEl valor no está comprendido entre a y b"); } Ejemplos de C: Lectura y escritura II


Descargar ppt "Introducción al Lenguaje C (II) Cadenas de caracteres, archivos de cabecera, lectura y escritura Fundamentos de Programación Departamento de Lenguajes."

Presentaciones similares


Anuncios Google