Home » C++ » Salida de datos en C++

Salida de datos en C++

Sentencia que produce salida de datos

Este programa de ejemplo tiene una sentencia C++ para producir un mensaje, es la siguiente:
cout<<«Hola\n»; // un mensaje de salida
cout es un objeto que sabe cómo visualizar texto. La sentencia tiene tres partes:


      objeto    operador de inserción            cadena

  • objeto: en este caso, cout. Un objeto que sabe cómo visualizar texto.
  • operador de inserción: (<<) indica que la cadena se inserta en el objeto cout. El uso de los operadores se verá en detalle más adelante, por ahora basta con saber esto.
  • cadena: puede ser un texto encerrado entre comillas, como en el ejemplo, o una variable de caracteres que represente a ese valor. Si se observa el texto que está encerrado entre comillas se observará la notación especial «\n» que significa carácter de nueva línea. Ese par de caracteres no se visualizan, simplemente indican que luego de imprimir el texto en la salida se debe saltar una línea.

En el ejemplo, se ha incluido este carácter de control al final de la palabra «Hola», pero también se puede utilizar en el medio de la cadena para producir saltos de línea. Por ejemplo, la cadena «yo adivino el parpadeo\nde las luces, que a lo lejos,\nvan marcando mi retorno.\n» se visualizará:
yo adivino el parpadeo
de las luces que, a lo lejos,
van marcando mi retorno.

Por el contrario, si no se utilizan los caracteres de nueva línea, el texto se visualizará todo seguido, incluso aunque provenga de distintas sentencias cout, como en este ejemplo:

cout << «yo adivino»;
cout <<« el parpadeo\n»;

Esto se visualizará de la siguiente manera:

yo adivino el parpadeo

Normas generales del formato del código fuente

En C++ una sentencia termina con un punto y coma. Si no aparece el punto y coma la sentencia sigue en las líneas sucesivas. Obviamente, el olvido de un punto y coma provoca errores de compilación. Esta subdivisión de una sentencia entre varias líneas tiene unas limitaciones. En una línea de código hay elementos indivisibles (por ejemplo, el nombre de un tipo de dato, el nombre de una función) que no admiten empezar en una línea y continuar en la siguiente. Pero entre dos elementos indivisibles puede haber un espacio o un tabulador. Donde puede haber estos separadores puede haber un control de carro que hace que la línea continúe en la siguiente. Veamos esta sentencia:

cout << «Hola\n»;

Los elementos indivisibles son:

cout, <<, «Hola\n» y ;

Esta sentencia se podría escribir:

cout
<<
«Hola\n»
;

Y seguiría siendo válida. Pero no lo sería si se escribiese:

co
ut // Inválido, se ha dividido un elemento indivisible
«Hola
/n» // Inválido, se ha dividido una cadena

Las cadenas no pueden contener en su interior un control de carro o de nueva línea. Como regla general, donde puede haber un espacio, puede haber un control de carro. Salvo cuando se trata del interior de una cadena, en donde no puede haber un control de carro y por lo tanto es indivisible.
También hay ciertos caracteres que actúan como separadores de elementos indivisibles y que, por lo tanto, no requieren un espacio entre ellos y el elemento anterior. Éste es el caso de los paréntesis y las comas. Por ejemplo:

int main()
int main () // el espacio en blanco es opcional cuando el elemento
// siguiente es un paréntesis
int main ( )

Estas líneas, todas válidas y equivalentes, tienen cuatro elementos indivisibles: int, main, "(" y ")". Obviamente resulta un poco redundante denominar indivisible a un elemento de un único carácter. Pero en este caso lo que debe quedar claro es que los dos paréntesis pueden formar parte de dos líneas, o que pueden tener espacios u otros caracteres entre sí, porque son elementos distintos.
C++ es un lenguaje que da muchas libertades en la escritura del código fuente. De todas maneras, a pesar de todas esas posibilidades que se han citado (por ejemplo, la subdivisión de una sentencia en varias líneas), hay unas recomendaciones que, aunque limiten un poco la libertad de escritura, hacen que los programas sean más legibles y más fáciles de seguir. En general, los programadores esperan encontrar estas normas:

  • Una sentencia por línea
  • Inserción de sangrías en los bloques (funciones, bucles, etc.)
  • Los corchetes de apertura y cierre, en líneas independientes
  • Los comentarios, que cumplan la sangría de su bloque.
izq sup der

Deja un comentario