1. FACULTAD DE INGENIERIA EN SISTEMAS
E INFORMATICA
PROGRAMACION II
CADENAS DE CARACTERES
NOMBRE: OSCAR CHIRIBOGA
ESCUELA POLITECNICA DEL
EJERCITO
2. CONCEPTO DE CADENA
Una cadena de caracteres es un tipo de dato compuesto, un array
de caracteres, terminado por un carácter nulo ( ' O ' ), NULL.
La cadena en el cuerpo del programa aparecera como si se
estuvieran almacenando los elementos de los cuales este
conformada, un ejemplo es: ‘A’,’B’,’C’ y ‘0’, por lo tanto se dice que
la cadena de este ejemplo “ABC” es un arreglo con elementos del
tipo char, entonces el valor de la cadena citada en el ejemplo
anterior seria la ditreccion de su primer carácter.
También se puede utilizar aritmética de direcciones con cadenas:
* "ABC 11 es i g u a l a ' A '
* ( "ABC" + 1) es i g u a l a ' B '
* ("ABC" + 2 ) es i g u a l a ' C '
* ( "ABC" + 3 ) es i g u a l a ' O '
3. EJEMPLO
a) Es un array de caracteres
b) Es una cadena de caracteres
4. Diferencia entre una cadena y un arreglo de
caracteres
La diferencia entre el arreglo de caracteres
y la cadena de caracteres esta en que el
arreglo de caracteres es terminado por un
carácter nulo ( ' O ' ), NULL.
5. Como se declaran las cadenas de caracteres
Las cadenas de caracteres deben ser declaradas
con el tipo base que regularmente suele ser char, o
tambien unsigned char.
Y el operador [] que contiene el tamaño máximo del
objeto .
Ejemplos:
char texto [81] ; / * una línea de caracteres de texto * /
char orden [40] ; / * cadena utilizada para recibir una orden del teclado * /
unsigned char datos; / * puede contener cualquier carácter ASCII * /
6. Como se inicializan las cadenas
La inicializacion de un array consiste en una lista de
valores separados por comas y encerrados entre llaves.
Ejemplos:
char texto[81] = " E s t o es una cadend.";
char textodemo[255] = "Esta es una cadena muy larga";
char cadenatest[] = "¿Cuál es la longitud de esta
cadena?";
En las cadenas texto y textodemo se especifica la
longitud de la cadena es decir 80 y 254 respectivamente
mas el carácter nulo.
7. Lectura de cadenas
Usualmente para lectura de datos se utiliza la funcion
scanf(), cuando esta es aplicada a una cadena el codigo
del formato es %s, pero esta funcion da por terminada la
cadena cuando encuentra un espacio o fin de linea.
¿Cuál será la mejor forma para lectura de cadenas,
cuando estas cadenas contienen más de una palabra?
La mejor forma es la utilizacion de la funcion gets() la
cual nos permitira leer la cadena completa incluyendo
los espacios en blanco y terminarà al leer el carácter de
fin de lineal. El prototipo de esta funcion es <stdio.h>.