|
|
| Contenidos > 1.9.1.3
Secuencias de escape |
|
|
| 1.9.1.3 Secuencias de escape |
|
|
Una
secuencia
de escape
siempre representa a un carácter del ASCII.
Dichos caracteres se pueden clasificar en:
- Gráficos
(se
corresponden con los símbolos más usados para
escribir por los humanos).
- No
gráficos
(representan a acciones,
como por ejemplo, mover el cursor de la pantalla al principio de la
línea siguiente).
La forma más
sencilla de escribir
una secuencia de escape es con el carácter barra invertida (\),
seguido de un carácter especial. Por tanto, cuando en la
cadena de control de la función printf
se escriba una secuencia de escape, o bien se mostrará un
carácter gráfico por pantalla, o bien se
realizará
una acción. Por ahora, no es necesario conocer todas las
secuencias de escape que existen en lenguaje C, pero sí,
algunas de
las
más utilizadas:
Figura. Secuencias
de escape más utilizadas.
En general, cuando se diseña el algoritmo
de un programa, el
programador no se preocupa del lugar exacto de la pantalla en donde van
a aparecer los datos
de salida del programa, ya que, este aspecto suele
concretarse en la codificación.
En Windows, la patanlla (de la consola) está compuesta por
25
filas (líneas) y 80 columnas, es decir, en pantalla se
pueden
visualizar 2000 caracteres a la vez (25*80).
Normalmente, al ejecutar un programa escrito en lenguaje C, el cursor
se
posiciona (por defecto) en la primera columna de la primera fila.
A partir de esa posición, se mostrarán por
pantalla los datos
de salida de dicho programa.
Ejemplo 1 (ejemplo_11_33_1.c del libro):
Si se escribe
#include
<stdio.h>
int
main()
{
printf( "uno dos
tres" );
return 0;
} |
Tal cual está escrita la función printf,
por pantalla se verá el texto "uno dos tres"
pegado a la esquina superior izquierda de la misma.
Hasta ahora, no nos hemos preocupado del lugar exacto de la pantalla
donde queremos que se muestren los datos de salida. Sin embargo, si
deseamos visualizar dicho texto en otro lugar de la pantalla, por
ejemplo, en la segunda línea:
Esto se puede conseguir haciendo uso de la secuencia de escape nueva
línea (\n).
printf( "\nuno dos
tres" ); (ejemplo_11_33_2.c del libro)
Partiendo de que, inicialmente, el cursor se encuentre en la primera
columna de la primera fila, es decir, en la esquina superior izquierda
de la pantalla, la secuencia de escape nueva línea (\n)
lo moverá al principio de la segunda fila y, a
continuación, se escribirá el texto "uno dos tres".
Obsérvese que, los caracteres que forman la secuencia de
escape, (\)
y (n),
no aparecen en pantalla.
La instrucción anterior hace lo mismo que las dos siguientes
printf( "\n" );
printf( "uno dos
tres" ); (ejemplo_11_33_3.c del libro)
Ejemplo
2: Si por pantalla se quiere ver
hay que escribir
printf( "uno\ndos\ntres" ); (ejemplo_11_34_1.c del libro)
El proceso de ejecución de esta instrucción es el
siguiente: justo en la esquina superior izquierda de la pantalla
(primera línea) se muestra el texto "uno".
Después, una
secuencia de escape nueva línea (\n)
mueve el cursor al principio
de la línea siguiente (segunda línea), en donde
se
visualiza el texto "dos".
Posteriormente, otra secuencia de escape
nueva línea (\n)
vuelve a mover el cursor al principio de la
línea siguiente (tercera línea) y, finalmente, se
muestra
el texto "tres".
La instrucción anterior es
equivalente a:
printf( "uno" );
printf( "\ndos" );
printf( "\ntres" ); (ejemplo_11_34_2.c del libro)
Igualmente, se podría escribir
printf( "uno\n" );
printf( "dos\n" );
printf( "tres" ); (ejemplo_11_34_3.c del libro)
Ejemplo
3: Para visualizar
se puede escribir
printf( "\n
uno dos tres" ); (ejemplo_11_35.c del libro)
Ejemplo
4: Y para mostrar
escribiremos, por ejemplo,
printf( "\n
uno\n dos\n tres" ); (ejemplo_11_36.c del libro)
La secuencia de escape tabulador
horizontal (\t)
mueve el cursor a la posición siguiente del tabulador
horizontal
de la pantalla. Entre cada posición hay ocho caracteres, por
tanto, dichas posiciones están en las columnas 1, 9, 17, 25,
33,
41, 49, 57, 65 y 73.
Ejemplo
5: De la instrucción
printf( "diez\tveinte\ttreinta" ); (ejemplo_11_37.c del libro)
se obtiene por pantalla
Obsérvese que, la d (de diez),
la v
(de veinte)
y la primera t
(de treinta)
están en las posiciones del tabulador horizontal 1, 9 y 17,
respectivamente. Gráficamente, representando los espacios en
blanco mediante guiones (-),
en pantalla se muestra:
| 1
9 17
25 ... |
diez----veinte--treinta
|
Entre el carácter d
(de diez)
y la v
(de veinte)
hay exactamente ocho caracteres (la v
no se cuenta), al igual que entre la v
(de veinte)
y la
primera t
(de treinta).
Las secuencias de escape comilla
doble (\")
y barra invertida
(\\)
sirven para mostrar por la pantalla los caracteres comilla doble (")
y barra
invertida (\),
respectivamente.
Ejemplo
6 (ejemplo_11_39_1.c del libro):
Al escribir
printf( "\n\t\t7 de
julio \"San
Fermin\"" );
en la segunda línea de la pantalla se mostrará, a
partir
de la tercera posición del tabulador horizontal (columna
17), el
mensaje: "7
de julio "San Fermin""
| 1
9 17
25 ... |
7 de julio "San Fermin"
|
Ejercicios
Recomendados:
|
|
|
|
|
|
|