Cadenas de caracteres en c





Cadenas de caracteres en c.

Es una secuencia de caracteres (string). En C una cadena de caracteres se representa como una array de caracteres. El valor de una cadena de caracteres se escribe entre comillas dobles.

 

¡IMPORTANTE!

Una cadena de caracteres SIEMPRE finaliza con el carácter nulo ‘\0’.

  1. DECLARACIÓN:

 

    • Como un array

char cadena[longitud]

    • Como un puntero al primer carácter

 

char *pCadena = “Hola”

Entonces el numero de caracteres que puede contener una cadena es (longitud -1) y las posiciones que pueden ocupar son desde la 0 hasta la posición ((longitud-1)-1).

Por ejemplo:

Una cadena definida de esa manera:

char cadena[81] puede contener como máximo 80 caracteres más el carácter ‘\0’ y pueden ocupar las posiciones desde la 0 hasta la 79 y el carácter ‘\0’ se colocará en la posición 80.

  1. PASAR A FUNCION UNA CADENA DE CARACTERES

 

  • como puntero
    • prototipo

void ImprimirCadena(char *pCadena) ;

    • llamada

 

ImprimirCadena(nom_cadena);

O

ImprimirCadena(&nom_cadena[0]);

    • definición

 

void ImprimirCadena(char *pCadena)

{

            Código de la función que imprimirá la cadena según los requisitos del programa

}

 

  • como array
    • prototipo

void ImprimirCadena(char cadena[]) ;

    • llamada

 

ImprimirCadena(nom_cadena);

O

ImprimirCadena(&nom_cadena[0]);

    • definición

 

void ImprimirCadena(char cadena[]))

{

            Código de la función que imprimirá la cadena según los requisitos del programa

}

  1. LEER

 

    • SCANF

scanf(“%s”, nom_cadena);

            4.2

Gets(nom_cadena);

  1. IMPRIMIR

 

    • PRINTF

printf(“El valor de la cadena es %s \n”, nom_cadena);

    • PUTS

 

Puts(nom_cadena);

  1. FUNCIONES PARA MANEJAR CADENAS DE CARACTERES (llamadas a las funciones)




 

    • CONCATENAR CADENAS DE CARACTERES
  • strcat(nom_cadena1, nom_cadena2);
  • strcat(&nom_cadena1[0], &nom_cadena2[0]);

 

Strcat es función que concatena dos cadenas. La cadena 1 tiene que tener suficiente longitud para recoger los caracteres de la cadena dos.

    • COPIAR UNA CADENA EN OTRA

 

  • strcpy(nom_cadena1, nom_cadena2);
  • strcpy(&nom_cadena1[0], &nom_cadena2[0]);

Strcpy es función que copia el contenido de la cadena 2 en la cadena 1. La cadena 1 tiene que tener suficiente longitud para recoger los caracteres de la cadena dos.

    • COMPARAR DOS CADENAS

 

  • int strcmp(nom_cadena1, nom_cadena2);
  • int strcmp(&nom_cadena1[0], &nom_cadena2[0]);

Strcmp es función que compara dos cadenas. El valor que devuelve la función puede ser 0 (las dos cadenas son exactamente iguales -> coinciden las minúsculas y mayúsculas), <0 (la cadena 1 es menor de la cadena 2) y >0 (cadena1 es mayor que la cadena 2).

 

EJERCICIOS de CADENAS DE CARACTERES

 

Utiliza funciones para solucionar los problemas propuestos. Pasa las cadenas de caracteres a las funciones por referencia utilizando punteros.

  1. Realiza un programa que lea y imprima las cadenas de caracteres que tiene menos de N números de caracteres. El programa se tiene que ejecutar hasta que el usuario introduzca 0.
  2. Realiza un programa que lea las cadenas de caracteres que introduce el usuario y que imprima en la pantalla el la longitud de cada una. El programa debe finalizar al introducir 0.
  3. Realiza un programa que lea cadenas de caracteres y muestra en la pantalla el carácter que ha solicitado el usuario. El programa finalizará su ejecución al introducir ‘s’.
  4. Realizar un programa que cuente el número de veces que aparece un carácter determinado introducido por el usuario. El programa se tiene que ejecutar varias veces hasta que el usuario introduzca 0.
  5. Realiza un programa que lea una cadena de caracteres y imprima cada palabra en línea diferente y que indique el número de palabras introducidas y la longitud de cada una.
  6. Realiza un programa que lea una cadena de caracteres y la escriba al revés.
  7. Realiza un programa que lea una cadena de caracteres y que la imprima cambiando las minúsculas por mayúsculas y las mayúsculas por minúsculas.
  8. Realiza un programa que lea una cadena de caracteres y que indique si la cadena leída es palíndromo o no.
  9. Realiza un programa que lea una cadena de caracteres que cuente el número de veces que aparece una palabra introducida por el usuario.
  10. Realiza un programa que lea una cadena de caracteres y que imprima en la pantalla el número de bytes que ocupa en la memoria, la dirección de memoria de cada carácter, su valor ASCII y el carácter correspondiente.

 





También te podría gustar...

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *