miércoles, 11 de mayo de 2016

Capitulo 17: Primeros pasos en C. Parte 2

Segunda parte del capítulo 1



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

C++ El apuntador This

El apuntador This En C++, cada objeto tiene acceso a su propia dirección a través de un puntero o apuntador denominado This. Lo...