Programacion en C

Páginas: 6 (1262 palabras) Publicado: 12 de septiembre de 2014
Clase 24: Manejo de cadenas en C
Prof. Edgardo Adrián Franco Martínez
http://computacion.cs.cinvestav.mx/~efranco
@efranco_escom

efranco.docencia@gmail.com

Estructuras de datos (Prof. Edgardo A. Franco)

1

• Cadenas en C

• Manejo de cadenas en C
• Prueba y manejo de caracteres en C


Clase 24: Manejo de cadenas en C
Algoritmia y programación estructurada
Prof. EdgardoAdrián Franco Martínez

Contenido

2

• A diferencia de otros lenguajes de programación que
emplean un tipo denominado cadena string para
manipular un conjunto de símbolos, en C, se debe
simular mediante un arreglo de caracteres, en
donde la terminación de la cadena se debe indicar
con nulo con valor 0.
char c [4];
char cad[5];

Clase 24: Manejo de cadenas en C
Algoritmia yprogramación estructurada
Prof. Edgardo Adrián Franco Martínez

Cadenas en C

3

Clase 24: Manejo de cadenas en C
Algoritmia y programación estructurada
Prof. Edgardo Adrián Franco Martínez

• Un nulo se especifica como '\0'. Por lo anterior,
cuando se declare un arreglo de caracteres para ser
usado como cadena, se debe considerar un carácter
adicional a la cadena más larga que se vaya aguardar.

• Por ejemplo, si se quiere declarar un arreglo cadena
que guarde una cadena de diez caracteres, se hará
como:
char cadena[11];
4

Clase 24: Manejo de cadenas en C
Algoritmia y programación estructurada
Prof. Edgardo Adrián Franco Martínez

• Se pueden hacer también inicializaciones de arreglos de
caracteres en donde automáticamente C asigna el carácter
nulo al final de lacadena, de la siguiente forma:
char nombre_arr[ tam ]="cadena";
• Por ejemplo, el siguiente fragmento inicializa cadena con
``hola'':
char cadena[5]="hola";
• El código anterior es equivalente a:
char cadena[5]={'h','o','l','a','\0'};

5

operador & en el scanf paras el argumento, ya que el nombre
del arreglo es un apuntador estático al arreglo), de igual

forma para mostrarlo en lasalida estándar.

Clase 24: Manejo de cadenas en C
Algoritmia y programación estructurada
Prof. Edgardo Adrián Franco Martínez

• Para asignar la entrada estándar a una cadena se
puede usar la función scanf con la opción %s
(cadenas sin espacios) %[^\n] (cadenas con espacios
hasta el fin de línea) (observar que no se requiere usar el

#include
int main(void)
{
char nombres[15],apellido[30];
printf("Introduce tu nombre(s): ");
scanf("%[^\n]",nombres); //Leer caracteres hasta fin de línea
printf("Introduce tu apellido: ");
scanf("%s",apellido);
printf("Usted es %s %s\n",nombres,apellido); //Leer caracteres
hasta el primer espacio
return 0;
}

6

#include
int main(void)
{
char a[25];
printf("Ingresa tu nombre: ");
scanf("%24s",a); // 24 caracteres a tomarprintf("Tu nombre es: %s\n",a);
return 0;
}

Clase 24: Manejo de cadenas en C
Algoritmia y programación estructurada
Prof. Edgardo Adrián Franco Martínez

• El %s puede delimitar los caracteres a considerar
como máximos a tomar para almacenar en una
cadena. %24s indica que 24 es la máxima cantidad
de caracteres que esperemos se ingresen (uno
menos que el tamaño del arreglo). Si seintenta
ingresar más de 24 sencillamente no los almacenará.
Esta es una buena costumbre cada vez que se utiliza
scanf() para capturar cadenas.

7

#include
int main(void)
{
char nombre[40], apellidos[40], completo[80];

Clase 24: Manejo de cadenas en C
Algoritmia y programación estructurada
Prof. Edgardo Adrián Franco Martínez

• El lenguaje C no maneja cadenas de caracteres,
como sehace con enteros o flotantes, por lo que lo
siguiente no es válido:

nombre="José María";
// Asignaciones ilegales
apellidos="Morelos y Pavón";
completo="Gral."+ nombre + apellidos; // Operación Ilegal
return 0;
}

8

• string.h es un archivo de la Biblioteca estándar que
contiene la definición de macros, constantes, funciones
y tipos de utilidad para trabajar con cadenas de...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • programacion C
  • Programacion c++
  • c# Programacion
  • Programacion En C#
  • Programacion en c
  • Programacion en c
  • Programacion en c++
  • Programacion c ++

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS