printf()

2009/07/12
De imprimir con formato. Esta función, del archivo stdio.h que usted ya conoce, se merece una entrada exclusiva por ser la función de salida más común y compleja. Además hay unos puntos importantes que el principiante debe conocer.

En esencia, printf() tiene la forma:

printf("cadena(s) de control", lista de argumentos);

Note el uso de comillas para la primera parte de la función, y note también que hay "argumentos exteriores" o lista de argumentos que NO están entre comillas, a menos que se trate de una cadena de caracteres como argumento. Para explicar esto es necesario que usted conozca ya los tipos de datos de las variables y que sepa distinguir uno de otro. Si no es así, regrese a ese tema y repase.

Ahora: la cadena de control es una cadena de códigos que indican cómo tratar al "argumento exterior" que le corresponda. Primero veamos un ejemplo y después pasemos a la explicación.




Lo que produciría esta salida en pantalla:




¿Ve una correspondencia entre cadenas de control y los argumentos exteriores?

El primer código de control (que en este caso es para un caracter: %c) imprime 'a', que en la lista de argumentos tiene comillas simples por ser un solo caracter. El segundo código imprime 'b', el tercero imprime "quizá sea" y su código es %s por tratársele como string (esto es una cadena de dos o más caracteres). El cuarto código de control cambia, se trata de %d, que es el código de formato para números enteros. El último código de control imprimirá un número en coma flotante, agregando ceros al final (más tarde se mencionará cómo evitar esto). En el ejemplo, al final se ha agregado un caracter de nueva línea (/n); esto es para que el prompt no termine pegado al mensaje mostrado.

Lista de códigos de control:
%c - caracter sencillo
%s - cadena de caracteres
%d - decimal
%e - notación científica
%f - decimal en punto flotante
%g - %e ó %f, lo que sea más corto.
%o - octal
%u - decimal sin signo (del tipo de dato unsigned int)
%x - hexadecimal

Nota: debe haber igual número de códigos de control que de argumentos exteriores en la función printf().

No está demás decir que para imprimir el caracter '%' debe escribir %%. De esta manera evita la ambigüedad y permite que el compilador sepa que no es un código de control.

Por favor juegue, experimente y pruebe lo que puede hacer con printf().

0 comentarios:

Publicar un comentario