Strings (I) - PowerPoint PPT Presentation

1 / 11
About This Presentation
Title:

Strings (I)

Description:

Este caracter se conoce como NULO, o en Ingl s, NULL, y est asociado al c digo ASCII 0 (cero) ... El caracter nulo se representa como '', o simplemente con ... – PowerPoint PPT presentation

Number of Views:38
Avg rating:3.0/5.0
Slides: 12
Provided by: FelipeC2
Category:
Tags: nulo | strings

less

Transcript and Presenter's Notes

Title: Strings (I)


1
Strings (I)
  • Clase 18
  • Introducción a la Programación
  • Marcos Sepúlveda(marcos_at_ing.puc.cl)

2
Resumen de los últimos capítulos
  • Aprendimos a utilizar arreglos (unidimensionales
    a multdimensionales) para almacenar datos
    relacionados
  • Aprendimos qué son los punteros, cómo permiten
    ampliar lo que podemos hacer con las funciones, y
    cuál es su relación con los arreglos

3
Recordatorio tipo de datos char
  • En una variable de tipo char, lo que se almacena
    no es el carácter en sí, sino el código ASCII
    correspondiente.
  • Por lo tanto, puede verse al tipo char como un
    subtipo del tipo int (short int), que puede
    almacenar enteros entre 0 y 255.
  • Ejemplo Manipulación de un carácter como char y
    como int
  • main()
  • char c
  • printf("Ingrese un caracter ")
  • scanf("c", c)
  • printf("Usted ingreso el caracter 'c' cuyo
    codigo ASCII es d\n", c, c)

4
Ejercicio hacer un programa que imprima la tabla
ASCII
Tabla ASCII Sume el valor de la fila con el de la
columna para obtener el codigo 0 1
2 3 4 5 6 7 8 9 10 11 12 13 14
15 0 ? ? ? ? ? ?
? ? ? 16 ? ? ?
? ? ? ? ? ? ? ? ?
? 32 ! " ' ( )
, - . / 48 0 1 2 3
4 5 6 7 8 9 lt gt ?
64 _at_ A B C D E F G H I J
K L M N O 80 P Q R S T
U V W X Y Z \ _ 96
a b c d e f g h i j k
l m n o 112 p q r s t u v
w x y z 128 Ç
ü é â ä à å ç ê ë è ï î ì
Ä Å 144 É æ Æ ô ö ò û ù
ÿ Ö Ü P ƒ 160 á í ó
ú ñ Ñ ª º ½ ¼
176
192 - -
- - - - -
208 - - -
_ 224 a ß G p S
s µ t F T O d 8 f e n 240
( ) v
n ²  
5
Programa que imprime la tabla ASCII
  • main()
  • int i, j
  • int c
  • printf("\nTabla ASCII\n")
  • printf("Sume el valor de la fila con el de la
    columna para obtener el codigo\n\n")
  • printf(" 0 1 2 3 4 5 6 7
    8 9 10 11 12 13 14 15\n\n")
  • for (i0 ilt16 i)
  • printf("5d ", i16)
  • for(j0 jlt16 j)
  • c 16ij
  • if (c0 c7 c8 c9 c10
    c13 c26) c' '
  • printf("3c ", c)
  • printf("\n")

Ejercicio hacer una función que transforma una
letra de minúsculas a mayúsculas.
6
Qué es un string?
  • Un arreglo de caracteres
  • Para qué sirve?
  • Para hacer programas que manipulen texto

7
Esencia del manejo de strings en C
  • Normalmente los strings se almacenan en arreglos
    que son de un tamaño mayor al que en realidad se
    requiere.
  • Ejemplo
  • char nombre50
  • Es necesario contar con algún medio para saber
    hasta dónde está utilizado el vector.
  • Se usa un caracter especial que sirve como
    delimitador, y que se coloca al final del string
  • Este caracter se conoce como NULO, o en Inglés,
    NULL, y está asociado al código ASCII 0 (cero).
  • El caracter nulo se representa como '\0', o
    simplemente con su representación entera 0.

8
Inicialización de un string
0
2
3
4
1
H o l a \0
  • 4 formas alternativas
  • char s5 'H', 'o', 'l', 'a', '\0'
  • char s5 'H', 'o', 'l', 'a', 0
  • char s5 "Hola"
  • char s "Hola" (definición implícita del
    tamaño)

9
Ejemplos de uso
  • 1. Declaración de un string a partir de una
    constante
  • define N 50
  • char strN
  • 2. Declaración e inicialización de un string
  • char str50 "Este es el valor inicial"
  • 3. Definición implícita de tamaño
  • char str "El tamano se auto-determina"
  • 4. Lectura mediante scanf de un string
  • scanf("s", str)
  • 5. Lectura de string (equivalente a la
    anterior)
  • scanf("s", str) / En caso de vectores,
    strstr /
  • 6. Impresión mediante printf de un string
  • printf("s\n", str)

10
Ejemplos de uso (2)
  • 7. Inicialización de un string con caracteres
    especiales
  • char str "\tMensaje\n" / Tamano 11
    (por que?) /
  • printf("s", str) / Nueva linea incluida
    en el string /
  • 8. Acceso a posiciones individuales de un
    string
  • char str "Texto"
  • printf("c\n", str0) / Despliega el
    caracter T /
  • 9. Inicialización mediante ciclo AAAAA
  • char str50
  • int i
  • for (i0 ilt5 i) stri 'A'
  • str5 0 / Pone el nulo al final /
  • 10. Inicializacion mediante ciclo con letras
    mayusculas ABCDE
  • char str50
  • int i
  • for (i0 ilt5 i)
  • stri 65 i / 65 'A' /

11
Ejercicio hacer una función que quite los
espacios de un string
Ejemplo Hola que tal ? Holaquetal
  • void SinEspacios(char a,
  • char b)
  • int posa0
  • int posb0
  • while (aposa!'\0')
  • if (aposa!' ')
  • bposbaposa
  • posb
  • posa
  • bposb'\0'
  • main()
  • char a"Hola que tal"
  • char b50
  • SinEspacios(a, b)
  • printf("s\n", b)
Write a Comment
User Comments (0)
About PowerShow.com