2.5. Tipo de datos carácter
Curso: Fundamentos de programación en C, por Nacho Cabanes
2.5. Tipo de datos carácter
También tenemos un tipo de datos que nos permite almacenar una única letra (ya veremos que manipular una cadena de texto completa es relativamente complicado). Es el tipo “char”:
char letra;
Asignar valores es sencillo:
letra = 'a';
(hay que destacar que se usa una comilla simple en vez de comillas dobles). Mostrarlos en pantalla también es fácil:
printf("%c", letra);
Así, un programa que leyera una letra tecleada por el usuario, fijara otra y mostrara ambas podría ser:
/*---------------------------*/ /* Ejemplo en C nº 13: */ /* c013.c */ /* */ /* Tipo de datos char */ /* */ /* Curso de C, */ /* Nacho Cabanes */ /*---------------------------*/ #include <stdio.h> int main() { char letra1, letra2; printf("Teclea una letra "); scanf("%c", &letra1); letra2 = 'a'; printf("La letra que has tecleado es %c y la prefijada es %c", letra1, letra2); return 0; }
2.5.1. Secuencias de escape: \n y otras.
Al igual que ocurría con expresiones como %d, que tenían un significado especial, ocurre lo mismo con ciertos caracteres, que nos permiten hacer cosas como bajar a la línea siguiente o mostrar las comillas en pantalla.
Son las siguientes:
Secuencia |
Significado |
\a |
Emite un pitido |
\b |
Retroceso (permite borrar el último carácter) |
\f |
Avance de página (expulsa una hoja en la impresora) |
\n |
Avanza de línea (salta a la línea siguiente) |
\r |
Retorno de carro (va al principio de la línea) |
\t |
Salto de tabulación horizontal |
\v |
Salto de tabulación vertical |
\' |
Muestra una comilla simple |
\" |
Muestra una comilla doble |
\\ |
Muestra una barra invertida |
\0 |
Carácter nulo (NULL) |
\7 |
Emite un pitido (igual que \a) |
\ddd |
Un valor en octal |
\xddd |
Un valor en hexadecimal |
Ejercicio propuesto: Crear un programa que pida al usuario que teclee cuatro letras y las muestre en pantalla juntas, pero en orden inverso, y entre comillas dobles. Por ejemplo si las letras que se teclean son a, l, o, h, escribiría "hola".
2.5.2. Introducción a las dificultades de las cadenas de texto
En el lenguaje C, no existe un tipo de datos para representar una cadena de texto. Eso supone que su manejo no sea tan sencillo como el de los números enteros, numeros reales y las letras. Deberemos tratarla como un bloque de varias letras. Por eso lo veremos más adelante.
Actualizado el: 23-07-2014 15:11