C/C++ · 4 min read · Oct 09, 2025
Aprendiendo C/C++ Paso a Paso - Página 8
08. Paso a Paso C/C++ — Programación en C - Cadenas
| Cadenas | |
| - Introducción | |
| - Características de las cadenas | |
| - Operaciones en Cadenas |
| | 1. Definición de Cadenas
- Inicialización de Cadenas
- Lectura e impresión de Cadenas
- Lectura de Espacios Embebidos
- Longitud de una Cadena
- Cadenas y Funciones
- Arreglo de Cadenas |
Introducción
Los arreglos se utilizan para examinar cadenas, generalmente las cadenas son variables de tipo arreglo.
Una cadena es una colección de caracteres que incluye espacios, mientras que una palabra es una colección de caracteres que excluye espacios. Cada variable de cadena debe terminar con el carácter nulo ‘\0’ y el valor del índice comienza en 0.
Cada cadena tiene las siguientes características:
| | 1. Debe ser una colección de caracteres (es decir, caracteres, números y caracteres especiales).
- Cada cadena debe terminar con un carácter NULL (es decir, ‘\0’)
- Un número positivo único llamado índice identifica cada carácter de una cadena.
- El valor del índice debe comenzar en 0.
- El acceso aleatorio a los caracteres en una cadena es posible.
- Una cadena debe ser declarada con su tamaño fijo como los arreglos. |
Por ejemplo, considere el siguiente ejemplo:
char str = " magic";| |
|
Se utilizan una variedad de funciones de biblioteca de cadenas para manipular cadenas. Un arreglo de cadenas es un arreglo de arreglos de tipo char.
Operaciones en Cadenas
Podemos realizar operaciones mucho mejores que usando funciones de cadena de biblioteca.
Las cadenas pueden aceptar las siguientes operaciones.
| | 1. Definición de Cadenas
- Inicialización de Cadenas
- Lectura e impresión de Cadenas
- Lectura de Espacios Embebidos
- Longitud de una Cadena
- Cadenas y Funciones
- Arreglo de Cadenas |
1. Definición de una Cadena
Cada variable debe ser declarada al principio del programa.
La definición de la variable de cadena es la siguiente.
| |
|
2. Inicialización de Cadenas
Las cadenas pueden ser inicializadas de las siguientes maneras.
| | 1. Asignación Directa char name[10] = "Ashitha"; Asigna “Ashitha” a name dejando el resto del espacio en blanco. | 2. Asignación Directa sin Tamaño char name[] = "Ashitha"; Asigna “Ashitha” a name y fija su ancho hasta el tamaño de la Constante. | | | 3. Asignación en Tiempo de Diseño char name[10];
strcpy(name, “Ashitha”); Usando funciones de cadenas es posible.
Pero C nunca soporta la asignación como:
name = “Ashitha”; | 4. Asignación en Tiempo de Ejecución char name[10];
scanf(“%s”, name); Acepta y asigna un valor constante a la variable en tiempo de ejecución. |
3. Lectura e Impresión de Cadenas
C proporciona varios tipos de funciones de cadena para leer e imprimir una constante de cadena. Listadas a continuación.
| | Instrucciones de Entrada
getch
getche
getchar
gets
scanf | Instrucciones de Salida
putch
putchar
puts
printf |
| | / Programa para aceptar y mostrar una cadena /
/ 51_strings.c /
#include
int main()
{
char str[20];
scanf(“%s”, str);
printf(“%s” str);
return 0;
} |
| | / Programa para aceptar y mostrar una cadena con un aviso /
/ 52_strings.c /
#include
int main( )
{
char str[20];
printf(“Ingrese una cadena :”); scanf(“%s”, str);
printf(“\nUsted ingresó : %s”, str);
return 0;
} |
4. Lectura de espacios embebidos
scanf acepta cadenas, por lo tanto, leerá cadenas que consisten en una sola palabra, pero cualquier cosa escrita después de un espacio se descarta.
Ej. Ingrese Cadena : Law es un pozo sin fondo.
Usted ingresó : Law
Para leer texto que contenga espacios, usamos otra función, gets().
| | /leer cadena con espacios embebidos /
/ 53_gets.c /
const int MAX = 80;
int main()
{
char str[MAX];
print(“Ingrese una cadena :”); gets(str);
printf(“Usted ingresó :”); puts(str);
return 0;
} |
5. Longitud de la Cadena
Cada cadena tiene su longitud fija dependiendo de su constante.
El siguiente programa demuestra cómo encontrar la longitud de la cadena.
| | / Para encontrar la longitud de una cadena dada /
/ 53_length.c /
#include
int main()
{
int i=0;
char str[50];
printf(“Ingrese una cadena “); gets(str);
while(str[i] != ‘\0’) i++;
printf(“La longitud es %d”, i);
return 0;
} |
6. Cadenas y Funciones
Una función es un bloque de declaraciones autocontenido que realiza una tarea específica. La mejor manera de organizar cadenas.
Los siguientes son ejemplos de organización de cadenas usando funciones.
| | / Programa para encontrar la longitud de una cadena /
/ 54_len.c /
#include
int len_str(char s[]); int main()
{
int l; char str[50];
printf(“Ingrese una cadena “); gets(str);
l = len_str(str);
printf(“\nLongitud de la cadena : %d”, l);
} int len_str(char s[])
{
int l=0;
while(s[l] != ‘\0’) l++;
return l;
} |
| | / Programa para aceptar e imprimir una cadena /
/ 55_str.c /
#include
void disp_str(char s[]); int main()
{
char str[50];
printf(“Ingrese una cadena “); gets(str);
disp_str(str);
return 0;
} void disp_str(char s[])
{
int i=0;
while( s[i] != ‘\0’ ) putch(s[i++]);
} |
7. Arreglo de Cadenas
Los arreglos se utilizan para examinar cadenas, generalmente las cadenas son variables de tipo arreglo. Así que, podemos acceder a un arreglo de cadenas.
Los siguientes ejemplos ilustran cómo se organiza un Arreglo de Cadenas.
| | / Programa para mostrar un arreglo de cadenas /
/ 56_display.c /
#include
void main()
{
char week[7][] = { “Domingo”, “Lunes”, “Martes”, “Miércoles”, “Jueves”, “Viernes”, “Sábado” };
int i;
for( i = 0; i<7; i++) puts(week[i]);
} |
| | / Programa para aceptar y mostrar un arreglo de cadenas /
/ 57_strings.c /
#include
void main()
{
char names[7][10]; int i;
for( i = 0; i<7; i++) gets(names[i]);
for( i = 0; i<7; i++) puts(names[i]);
} |
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.