Estructura de Datos

Primer Tarea Strings y Placeholders en C

Strings en C

En C no existe un tipo string como en otros lenguajes. No existe un tipo de datos para almacenar texto, se utilizan arrays (vector) con el tipo de dato char. Funcionan igual que los demás arrays con la diferencia que se utilizan letras en vez de números.

Una cadena en C es una secuencia de cero o más caracteres seguidas por un caracter NULL o 0:

Es importante preservar el caracter de terminación 0, ya que con éste es como C define y maneja las longitudes de las cadenas. Todas las funciones de la biblioteca estándar de C lo requieren para una operación satisfactoria. Por ejemplo, la cadena de 5 elementos:

Fuente: https://es.slideshare.net/horusblom/08-strings-o-cadenas?qid=34c12e38-1231-4136-a787-1f56e6f4cdde&v=&b=&from_search=3

La forma general de declarar una cadena es:

char nombre_cadena[longitud]

Ejemplo:

char nombre[20]

Declara la variable nombre de tamaño 20

Definición de Arrays

La definición de una variable de tipo array(vector) se realiza indicando la dimensión entre corchetes.

Fuente: https://es.slideshare.net/jorgeadeleon10/curso-c-i?qid=34c12e38-1231-4136-a787-1f56e6f4cdde&v=&b=&from_search=4

Para inicializar una cadena o string se puede hacer de la misma forma que se inicializa un array y puede tener las siguientes formas:

char cadena1[20] = “”                                      //cadena vacía

char cadena2[20] = “esta es una cadena”

char cadena3[20] = ‘\0’

char cadena4[ ] = { ‘a’, ’e’, ’i’, ’o’, ’u’ }

A una cadena no se puede asignar un valor directamente con el signo =, sino que se debe hacer a través de la función strcpy(),que se encuentra en la librería <string.h>.

Operaciones con Cadenas

Se pueden realizar operaciones básicas como:

-Para ingresar datos en C se puede hacer uso de la función gets( ).

            char cad1[20]

Ejemplo:

printf(“Ingrese cadena 1:”);

gets(cad1);

-Para recorrer una cadena podemos hacerlo como:

 for(i=0; cadena[i]!=‘0’; i++)           

O lo que es lo mismo:        

for(i=0; cadena[i]; i++)

-Para escribir cadenas podemos utilizar en C la función puts( )        

printf(“La cadena es: ”)

puts(cad1)

Bibliotecas Útiles

Funciones de Cadenas

Las funciones más comunes son:

-char *strcpy(const char *dest, const char *orig). Copia la cadena de caracteres apuntada por orig (incluyendo el carácter terminador ‘0’) al vector apuntado por dest. La cadena de destino debe ser suficientemente grande como para alojar la copia.

– int strcmp(const char *s1, const char *s2) Compara las dos cadenas de caracteres s1 y s2. Devuelve un entero menor, igual o mayor que cero si se encuentra que s1 es, respectivamente, menor que, igual a, o mayor que s2.

– char *strerror(int errnum) Devuelve un mensaje de error que corresponde a un número de error.

– int strlen(const char *s) Calcula la longitud de la cadena de caracteres.

– char *strncat(char *s1, const char *s2, size_t n) Agrega n caracteres de s2 a s1.

– int strncmp(const char *s1, char *s2, size_t n) Compara los primeros n caracteres de dos cadenas.

– char *strncpy(const char *s1, const char *s2, size_t n) Copia los primeros n caracteres de s2 a s1.

– strcasecmp(const char *s1, const char *s2) versión que ignora si son mayúsculas o minúsculas de strcmp().

-strncasecmp(const char *s1, const char *s2, size_t n) versión insensible a mayúsculas o minúsculas de strncmp() que compara los primeros n caracteres de s1.

Fuente: https://es.slideshare.net/javi2401/caracteres-y-cadenas-en-c-presentation

Fuente: https://es.slideshare.net/javi2401/caracteres-y-cadenas-en-c-presentation Fuente:

Placeholders para printf/scanf en C

Se utilizan para determinar cuándo se va a introducir o mostrar qué tipo de valores, dependiendo del tipo de funciones que utilice.

La función scanf () de Marcadores de entrada requiere que los marcadores de posición de entrada permitan la transferencia de datos a la variable específica en función de marcador de posición que utilizará.

Tipo de datos ………….. Marcador de posición

int …………………….. % d

char …………………% c

doble …………….. % lf

float ………………….% f

cadena …………% s

Nota: para los datos que contienen espacios en matrices de caracteres (cadenas), usamos el símbolo% [^ \ n] en lugar de% s porque% s solo almacenará cadenas sin espacios.

Marcadores de posición de salida (printf)

La única diferencia con los marcadores de posición de entrada es que el marcador de posición de doble tipo de datos para la función de entrada es% lf, mientras que el marcador de posición de doble tipo de datos para la función de salida es% f.

Tipo de datos ………….. Marcador de posición

int …………………….. % d

char …………………. % c

doble ………………. % f

flotante………….. % f

cadena …………..% s (puede también ser utilizado para cadenas con espacios)

entero decimal sin signo ………………%u

entero octal sin signo……………………… %o

entero hexadecimal sin signo…..%x %x

real en notación científica…………. %e%E%g%G

Referencias

Curso c i. (2019). Retrieved 25 July 2019, from https://es.slideshare.net/jorgeadeleon10/curso-c-i?qid=34c12e38-1231-4136-a787-1f56e6f4cdde&v=&b=&from_search=4

horusblom. (2019). 08 strings o cadenas. Retrieved 25 July 2019, from https://es.slideshare.net/horusblom/08-strings-o-cadenas?qid=34c12e38-1231-4136-a787-1f56e6f4cdde&v=&b=&from_search=3

Parra. (2019). Caracteres y Cadenas en C. Retrieved 25 July 2019, from https://es.slideshare.net/javi2401/caracteres-y-cadenas-en-c-presentation Programming Concepts and Design. (2019). Retrieved 25 July 2019, from http://shangyilim.blogspot.com/2009/02/placeholders-placeholders-are-used-to.html

Programming Concepts and Design. (2019). Retrieved 25 July 2019, from http://shangyilim.blogspot.com/2009/02/placeholders-placeholders-are-used-to.html

Deja un comentario

Diseña un sitio como este con WordPress.com
Comenzar