Sunteți pe pagina 1din 7

Cadenas de Caracteres.

Funciones Asociadas al Manejo de cadenas de caracteres


Aunque C no incorpora en su definicin operadores para el manejo de cadenas
de caracteres, todo compilador de C proporciona una librera estndar (string.h)
con funciones para facilitar su utilizacin. Destacar algunas de ellas:
strcpy: La funcin strcpy se encuentra en la biblioteca <string.h> y se utiliza
para copiar una cadena de caracteres (fuente) en el lugar que ocupaba otra
(destino). Esta copia es destructiva, o sea, que todos los caracteres que
estaban en la cadena destino desaparecen, aunque la cadena destino fuera
ms larga que la cadena fuente .La cadena destino se pone como primer
argumento de la funcin y la cadena fuente como segundo. Vamos a verlo con
un ejemplo.
#include<stdio.h>
#include<string.h>
int main()
{
char texto1[]="corta";
char texto2[]="mediana";
char texto3[]="larguisima";
strcpy(texto2,texto1);
printf("%s\n",texto2);
strcpy(texto2,texto3);
printf("%s\n",texto2);
getch();
return 0;
}
strcat: En el programa anterior vimos que la funcin strcpy es desctructiva,
pero hay otra funcin en la librera <string.h> que copia una cadena (fuente)
en otra (destino) sin destruir sta, es decir, que copia una cadena detrs de la
otra esta funcin es conocida como strcat. Vamos a hacer un ejemplo:
#include<stdio.h>
#include<string.h>
int main()
{
char texto1[]="Don Pepito";
char texto2[]=" y ";
char texto3[]="Don Jose";printf("%s\n",texto1);
strcat(texto1,texto2);
printf("%s\n",texto2);
strcat(texto1,texto3);

printf("%s\n",texto2);
getchar();
return 0;
}
strlen: esta funcin devuelve el total (entero) de caracteres que conforman
una cadena (excluyendo el caracter nulo \0). Vamos a hacer un ejemplo:
#include <stdio.h>
#include <string.h>
#include <conio.h>
#define MAXLON 80
int main(void)
{
char a[MAXLON+1];
int longitud;
clrscr();
printf ("Introduce una cadena (max. %d caracteres): ", MAXLON);
scanf("%s",&a);
longitud = strlen(a);
printf ("\nLongitud de la cadena: %d\n", longitud);
getch();
return 0;
}
strcmp: strcmp (abreviatura de ((string comparison))). La funcin strcmp
recibe dos cadenas, a y b, devuelve un entero. El entero que resulta de
efectuar la llamada strcmp(a, b) codifica el resultado de la comparacin:
Es menor que cero si la cadena a es menor que b,
Es 0 si la cadena a es igual que b, y
Es mayor que cero si la cadena a es mayor que b.
Naturalmente, menor significa que va delante en orden alfabtico, y mayor que
va detrs.
#include <stdio.h>
#include <string.h>
int main()
{
char s1[6] = "Abeja";
char s2[6] = "abeja";
int i;

printf( "s1=%s\t", s1 );
printf( "s2=%s\n", s2 );
i = strcmp( s1, s2 );
printf( "s1 es " );
if( i < 0 ) printf( "menor que" );
else if( i > 0 ) printf( "mayor que" );
else printf( "igual a" );
printf( " s2\n" );
return 0;
}

Otras Funciones tiles para operar cadenas de caracteres.


No slo string.h contiene funciones tiles para el tratamiento de cadenas. En
ctype.h se encuentran unas funciones que permiten hacer cmodamente
preguntas acerca de los caracteres, como si son maysculas, minsculas,
dgitos, etc:
isalnum(caracter): devuelve cierto (un entero cualquiera distinto de cero) si
caracter es una letra o dgito, y falso (el valor entero 0) en caso contrario.
isalpha(caracter): devuelve cierto si caracter es una letra, y falso en caso
contrario.
isblank(caracter): devuelve cierto si caracter es un espacio en blanco o un
tabulador.
isdigit(caracter): devuelve cierto si caracter es un digito, y falso en caso
contrario.
isspace(caracter): devuelve cierto si caracter es un espacio en blanco, un
salto de lnea, un retorno de carro, un tabulador, etc., y falso en caso contrario.
islower(caracter): devuelve cierto si caracter es una letra minscula, y falso
en caso contrario.
isupper(caracter): devuelve cierto si caracter es una letra mayscula, y falso
en caso contrario.
toupper(caracter): devuelve la mayscula asociada a caracter, si la tiene; si
no, devuelve el mismo caracter.
tolower(caracter): devuelve la minscula asociada a caracter, si la tiene; si
no, devuelve el mismo caracter.

Tipos bsicos y variables


Los tipos de datos bsicos definidos por C son caracteres, nmeros enteros y
nmeros en coma flotante. Los caracteres son representados por char, los
enteros por short, int, long y los nmeros en coma flotante por float y double.
Los tipos bsicos disponibles y su tamao son:
(normalmente 8 bits)
(normalmente 16 bits)
(depende de la implementacin)
(depende de la implementacin)
(normalmente 32 bits)
(normalmente 32 bits)
(normalmente 64 bits)
La palabra unsigned en realidad es un modificador aplicable a tipos enteros,
aunque si no se especifica un tipo se supone int. Un modificador es una palabra
clave de C que indica que una variable, o funcin, no se comporta de la forma
normal. Hay tambin un modificador signed, pero como los tipos son por
defecto con signo, casi no se utiliza.
Palabras reservadas Lenguaje C
C utiliza ciertos nombres para designar funciones, dichos nombres se conocen
como palabras reservadas. Una variable no puede llamarse igual que una
palabra reservada.

Formatos de numeros
Acepta un string de formato y cualquier nmero de argumentos. Estos
argumentos se aplican a cada uno de los especificadores de formato
contenidos en format. Un especificador de formato toma la forma %[flags]
[width][.prec][h|l] type. El tipo puede ser:
d, i

entero decimal con signo

entero octal sin signo

entero decimal sin signo

entero hexadecimal sin signo (

entero hexadecimal sin signo (

coma flotante en la forma [-]dd

coma flotante en la forma [-]d.

coma flotante segn el valor

como e pero en maysculas

como g pero en maysculas

un carcter

cadena de caracteres terminad

imprime el carcter %

puntero

Ejercicio:
#include<stdio.h>
int main(void)
{
int a;
printf ("programa de Misbel Rodriguez\n");
printf ("Escriba el numero a evaluar: ");
scanf("%d",&a);
If ( a%2 == 0)
{
printf("\nEl numero %d es par",a);
}
else
{
printf("\nEl numero %d es impar",a);
}
}

S-ar putea să vă placă și