Your SlideShare is downloading. ×
0
Cadena Juan Bastidas
Cadena Juan Bastidas
Cadena Juan Bastidas
Cadena Juan Bastidas
Cadena Juan Bastidas
Cadena Juan Bastidas
Cadena Juan Bastidas
Cadena Juan Bastidas
Cadena Juan Bastidas
Cadena Juan Bastidas
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Cadena Juan Bastidas

989

Published on

7 Comments
0 Likes
Statistics
Notes
  • Be the first to like this

No Downloads
Views
Total Views
989
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
25
Comments
7
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  1. ESCUELA POLITECNICA DEL EJERCITO PROGRAMACIÓN II Tema: CADENA DE CARACTERES • NOMBRE: JUAN BASTIDAS • PARALELO: TERCERO “A” “SISTEMAS”
  2. CADENA Una cadena se considera como un array unidimensional de tipo char, es un tipo de dato compuesto, terminado por un carácter nulo ('0'), NULL . Cadenas es un arreglo de caracteres que: Puede incluir letras, dígitos, etc. Tiene un puntero al primer elemento. Cuyo valor de la cadena es la dirección de memoria del primer elemento. PARA MANIPULAR CADENAS SE UTILIZA LA CABECERA < s t r i n g . h>
  3. ¿CUÁL ES LA DIFERENCIA DE LA CADENA CON UN ARRAY DE CARACTERES ? Una cadena de caracteres no es más que un arreglo de valores de tipo char, pero con la diferencia de que el último valor del arreglo tendrá el valor del CARACTER NULO ‘0', indicando el fin del string. a) Arreglo de caracteres b) Cadena de caracteres CARACTER NULO
  4. Ejemplo : " ABC " • Cuando la cadena aparece dentro de un programa se verá como si se almacenarán cuatro elementos: ‘A’, ’B’, ’C’ y ‘ 0 ‘ • Y esto demuestra que “ABC” es un arreglo de cuatro elementos tipo char El numero total de caracteres de una cadena es siempre igual a la longitud de la cadena + 1
  5. Aplicando el operador * a un puntero a char se obtiene el carácter que forma su contenido; es posible también utilizar aritmética de direcciones con cadenas: Ejemplo: • * "ABC " es igual a ' A ' • * ( "ABC" + 1) es igual a ' B ' • * ("ABC" + 2 ) es igual a ' C ' • * ( "ABC" + 3 ) es igual a ' 0 '
  6. 1. El tipo de dato, naturalmente, es char. 2. El nombre que deseamos dar a la cadena. 3. El operador postfijo [ ] contiene el tamaño máximo del objeto. Ejemplo: • char texto [ 81]; / * una línea de caracteres de texto * / • char orden [4 O] ; / * cadena utilizada para recibir una orden del DECLARACIÓN DE VARIABLES DE CADENA char nombre_del_arreglo [numero_máximo_de_caracteres ]+ Se le suma 1 debido a que se necesita el caracter nulo al final
  7. INICIALIZACIÓN DE VARIABLES DE CADENA Todos los tipos de arrays requieren una inicialización (iniciación) que consiste en una lista de valores separados por comas y encerrados entre llaves. Ej: • char texto[81] = " Esto es una cadena."; • char cadena[ ] = "¿Cuál es la longitud de esta cadena?"; • char cadena[ ] = "Hola"; • char cadena[ ] = {'H','o','l','a',0}; • char cadena[ ] = {'H','o','l','a','0'}; Durante la inicialización, se reserva automáticamente el número de bytes necesarios para la cadena, esto es, el número de caracteres más uno. Ej:
  8. Ejemplo: Las cadenas terminan con el carácter nulo. Así en el siguiente programa se muestra que el carácter NULL ( ' 0 ')se añade a la cadena: • #include <stdio.h> • void main( ) • { • char S[ ]= "ABCD"; • for (int i = 0; i < 5; i++) • printf ( "S [%d] = %c n" , i , S [ i ] ) ; • return 0; • } • Ejecución • S [0] = A • S[1] = B • S[2] = C • S [3] = D • S [4] = Comentario: Cuando el carácter NULL se imprime, no se escribe nada.
  9. LECTURA Y ESCRITURA DE CADENAS DE CARACTERES Sin el & ¡cadena es una dirección! LECTURA scanf ("%s", cadena); // gets (cadena); ESCRITURA printf ("%s", cadena); // puts (cadena); Diferencia entre scanf y gets: •Scanf = lee 1 palabra •Gets = lee cadena completa hasta 'n'
  10. Ejemplo: • #include <stdio.h> • void main() { • char nombre [30] ; / * Define array de caracteres * / • scanf ("%s", nombre) ; / * Leer la cadena * / • printf ( "%s n" , nombre) ; /* Escribir la cadena nombre */ }

×