PDF de programación - Funciones intrínsecas de C - Capítulo 4

Imágen de pdf Funciones intrínsecas de C - Capítulo 4

Funciones intrínsecas de C - Capítulo 4gráfica de visualizaciones

Publicado el 18 de Julio del 2020
816 visualizaciones desde el 18 de Julio del 2020
144,5 KB
18 paginas
Creado hace 16a (09/02/2009)
Funciones intrínsecas de C



CAPÍTULO 4


FUNCIONES INTRÍNSECAS DE C



Gran parte de las funciones intrínsecas de C que se estudiarán en este
capítulo son aplicables a cadenas de caracteres. Las cadenas se han analizado con
profundidad en las secciones anteriores pero se ofrece a continuación un resumen
que permite asentar los conceptos más importantes.

4.1 Cadenas de caracteres


El lenguaje C no tiene datos predefinidos del tipo cadena de caracteres
(string). Una cadena de caracteres es un tipo de dato compuesto por un vector de
elementos de tipo carácter (char) y terminado por un carácter nulo (‘\0’).


Ejemplo de cadena: La cadena de test\0



Declaración de variables cadena: se declaran como un vector de tipo char.

Ejemplo: char texto[81];
char orden[40];



Funciones intrínsecas de C

Inicialización: se realiza en la sentencia de declaración utilizando doble apóstrofo a
los lados. El programador no debe añadir el carácter ‘\0’ ya que lo hace el propio
programa.

Ejemplo: char texto[81]=”Esto es una cadena”;
char orden[40]=”Esto es una cadena muy larga”;


Así, el siguiente programa muestra que el carácter nulo se añade a la cadena:



#include<stdio.h>
void main ( )
{
int i;
char s[ ]="ABCD";
for(i=0;i<5;i++)
printf("s[%d]=%c,codigo %d \n",i,s[i],s[i]);
}



La salida a pantalla es:


s[0]=A,codigo 65
s[1]=B,codigo 66
s[2]=C,codigo 67
s[3]=D,codigo 68
s[4]= ,codigo 0



4.2 Funciones para la manipulación de cadenas de caracteres. Las librerías
string.h y stdlib.h


Algunas de estas funciones ya han sido empleadas en capítulos anteriores,
aunque en esta sección se aporta una definición más estricta y se explica el valor que
devuelven, cuando ese dato se considere importante.


intrínsecas, en este apartado y en los posteriores, es la indicada a continuación:

La nomenclatura que se utiliza para la definición de las funciones

tipo nombre(tipo_1 arg_1, tipo_2 arg_2, ...)

Funciones intrínsecas de C


donde:

tipo: es el tipo de datos del valor devuelto por la función
nombre: es el nombre de la función
tipo_1: es el tipo de datos del primer argumento de la función
arg_1: es el nombre del primer argumento de la función
tipo_2: es el tipo de datos del segundo argumento de la función
arg_2: es el nombre del segundo argumento de la función



como sus datos de entrada. Se profundizará en esta cuestión en el capítulo 7.



del programa, de la forma:


Los argumentos o parámetros de una función se considerarán, a este nivel,

La llamada a la función intrínseca se realiza en cualquier parte del código

nombre( arg_1, arg_2, ...)


insertándose en ese lugar el valor devuelto por la función.


4.2.1 Escritura de cadenas

Para escribir una cadena se utiliza la función puts ( ) cuya especificación es:

int puts(char *cad)

puts( ) recibe como parámetro una cadena (en realidad una cadena es una
constante puntero de tipo char, de ahí la definición char * cad, aunque es un
concepto que no se entenderá hasta que se analice el capítulo 6) y devuelve un
entero. Añade al final de la cadena un carácter de salto de línea. Devuelve un
número positivo o cero si todo va bien y un –1 si hay algún error.


Funciones intrínsecas de C

Ejemplo: el programa

#include<stdio.h>
void main( )
{

char texto[81]=”Esto es una cadena”;



puts(texto);
}

produce la siguiente salida por pantalla: Esto es una cadena.


De la misma forma se puede utilizar la función printf( ),

int printf(char *cad)

Ambas, son funciones de la librería stdio.h


4.2.2 Lectura de cadenas

Método 1: usando la función scanf( ), que sólo lee datos delimitados por
blancos.

int scanf(char *cadena de control, char *cadena)

Esta función recibe, al menos, dos parámetros de cadena (punteros) y devuelve un
entero.

Ejemplo:

#include <stdio.h>
void main ( )
{
char nombre[30];

puts(nombre) ;
}

scanf( ″%s ″ , nombre) ;



Funciones intrínsecas de C


En este caso, si se teclea como dato Pedro imprime como salida Pedro,
pero si se teclea Pedro López la salida es también Pedro.


Método 2: para evitar la lectura fraccionada se utiliza la función gets( ).


char *gets (char *cad)

Esta función recibe como parámetro un puntero y devuelve un puntero.

Ejemplo:

#include<stdio.h>
void main( )
{
char nombre[30];

gets(nombre) ;
puts(nombre) ;
}

Si se teclea como dato Pedro Sanz el programa ofrece como salida Pedro Sanz.


Método 3: el siguiente método consiste en leer carácter a carácter. Para ello se
utiliza la función getchar( ). Su especificación es:

int getchar(void)

Esta función devuelve el carácter leído y no tiene argumento de entrada.


Para escribir un carácter se utiliza la función putchar( ) cuya especificación es:

int putchar(int ch)

Esta función recibe como argumento el carácter a escribir y devuelve un entero.

Funciones intrínsecas de C


Ejemplo 1: car= getchar( ); equivale a scanf(“%c”,&car);

Ejemplo 2: putchar(car); equivale a printf(“%c”,car);

Ejemplo 3:

#include<stdio.h>
void main( )
{
char nombre[30];
int i=0 ;

while((nombre[i]=getchar( )) != ‘\n’) i=i+1;

nombre[i]=0;
puts(nombre);
}

Si se teclea cantares da como resultado cantares. En la séptima sentencia se
podría haber escrito: nombre[i]=’\0’;

Todas las funciones anteriores están incorporadas a la librería stdio.h

4.2.3 La libreria string.h


La biblioteca estándar de C contiene la biblioteca de funciones para
tratamiento de cadenas llamada string.h que incorpora las funciones de
manipulación de cadenas utilizadas más frecuentemente.



strlen( ): devuelve el número de caracteres de una cadena (longitud real de la
cadena hasta la posición anterior al carácter nulo).

Su especificación es:


Algunas de la funciones más usuales son:

int strlen(char *cad)



Funciones intrínsecas de C

Recibe como argumento un puntero (cadena) y devuelve un entero.


Ejemplo:

#include<stdio.h>
#include<string.h>
#define MAX 80
void main( )
{
char cad[MAX];
int numcar;
puts (“Dame una cadena”);
gets(cad);
numcar=strlen(cad);

printf(“La cadena tiene %d caracteres \n”,numcar);

}


Por ejemplo si se teclea COSACOS CANSADOS el programa imprime como
salida 16.

strcat( ): su finalidad es concatenar dos cadenas de caracteres.


char * strcat (char*cad1,char*cad2)



Esta función añade la cadena cad2 al final de la cadena cad1 (a continuación del
carácter previo al nulo de cad1).

Ejemplo:

#include<stdio.h>
#include<string.h>
main( )
{
char cad1[25]=”El lenguaje C”;
char cad2[12]=”es potente”;

printf(“%s \n”,strcat(cad1,cad2));

}

Funciones intrínsecas de C


Este programa imprime la siguiente salida: El lenguaje Ces potente


strcpy( ): esta función copia en cad1 el contenido de cad2 y devuelve cad1.


char * strcpy (char*cad1,char*cad2)


Ejemplo:

#include <stdio.h>
#include<string.h>
void main( )
{
char cad1[13]=”Lenguaje C”;
char cad2[13]=”Lenguaje ADA”

printf(“%s \n”,strcpy(cad1,cad2));
  • Links de descarga
http://lwp-l.com/pdf17918

Comentarios de: Funciones intrínsecas de C - Capítulo 4 (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad