Seguiré viendo eso del printf.
Ahora, trataré de imprimir dos líneas y veré como resulta. Lo haré de la
siguiente manera:
printf("Primera línea");
printf(Segunda línea);
Al compilar y ejecutar, vi un par de cosas
raras... (Por lo que estuve leyendo en la web, no es de extrañarse si uno ve
cosas raras en este lenguaje jajaja) Lo primero que noté, fue que ambas frases
fueron impresas en la misma línea y lo segundo, es que salieron unos signos
raros donde se supone que va letra i correspondiente a la palabra línea.
Este asunto lo tendré que solucionar por partes,
así que me enfocaré primero en cómo mostrar cada frase en una línea diferente y
luego veré de qué se tratan esos signos que aparecieron en el lugar de la letra
i.
Lo que sucedió es que printf imprime texto pero no
realiza un salto de línea al finalizar, por lo que el siguiente texto aparecerá
inmediatamente después. Para indicar que se desea hacer un salto de línea, se
utiliza un caracter especial, llamado caracter o secuencia de escape. Existen
varios de ellos, pero el que se necesita en este caso, es el caracter \n el
cual permite el salto de línea. Se utiliza del siguiente modo:
printf("Primera línea \n");
Entonces, cada vez que el programa lea una
secuencia de escape \n va a realizar un salto de línea. Veré ahora como se ve
el programa.
Ahora se ve un poco mejor. A continuación mostraré las secuencias de
escape:
Solo falta el problema de la letra i. Buscando en
la web (para variar) encontré que se trata de un pequeño
"inconveniente" que tenemos los de habla hispana. Y es que las letras
de uso español, llámese las letras acentuadas o la letra ñ, no se encuentran
dentro de los primeros 128 caracteres de la tabla ASCII, los cuales son de uso
común en la lengua inglesa. Estos caracteres fueron añadidos después y se
encuentran en la segunda mitad de esta tabla. Debido a este inconveniente,
palabras como "año" saldrán escritas de forma extraña
Para este problema, encontré una solución (de
momento desconozco si existe otra) y se trata de utilizar lo que se conoce como
modificadores de formato. Encontré mucha información que será tratada en
capítulos posteriores, pero de momento, para arreglar este inconveniente, se
debe escribir el printf del siguiente modo:
printf("primera l%cnea \n", 161);
Se ve bastante raro, pero al compilar y ejecutar...
Ahí están los acentos. Ahora sí se ve bien, pero
¿qué hace el signo %c? Bueno, como dije, es un modificador de formato y lo que
hace es insertar en ese lugar el
carácter ASCII correspondiente al número 161. El número 161 es justamente la
letra i con acento. Se puede buscar una tabla ASCII en google y ver sus números
correspondientes a cada letra, número o signo. Ya que se dio con la solución de
este problema. Se ocupará la misma solución para el segundo ejemplo que tenía
problemas al mostrar la letra ñ:
Como se puede ver, por cada letra ñ se puso un
formato %c y aunque la letra fuese la misma en ambos casos, se debe repetir el
número 164, o sea es un formato por cada número. Al compilar y ejecutar, se
puede ver el resultado:
COMENTARIOS
Los comentarios son una forma de documentar el
código. (Más info acá (small basic 4))
Los comentarios
en C se pueden hacer de dos formas:
// Doble slash
para comentarios de una línea
/* Comentario de
múltiples líneas que comienza con slash y asterisco
Y que debe ser
finalizado
Con asterisco y
slash */
Errores típicos:
Un error típico que suele suceder cuando se
empieza a programar en C, es olvidar colocar el punto y coma (;) al final de
una instrucción, u olvidar poner una llave de cierre al final de un bloque (})
Olvidar esto u otras cosas más hace que el compilador muestre mensajes de error
y no compile nuestro programa, también a medida que avance el curso, podremos
notar que en ocasiones el compilador nos muestra mensajes de advertencia (warnings)
y a pesar de que el programa compile y pueda funcionar, debido a que corrige
los problemas en forma automática o por default utiliza la opción
correspondiente, se debe evitar obtener esos mensajes. Prueba a quitar un punto
y coma y entonces compila, verás que mensaje de error produce. Acostúmbrate a
ver ese tipo de error porque según he leído, nadie está ajeno de olvidarlo.
Esto es todo. Al igual que en el curso Java, todas
estas operaciones deben hacerse decenas de veces hasta aprenderse bien y si aún
no sale con naturalidad, entonces tendrán que ser centenas de veces porque este lenguaje cuesta un poco.
Gustavo J. Cerda Nilo
Noviembre 2015, última modificación Mayo 2016
No hay comentarios:
Publicar un comentario