C/printf
A función printf()
escribe unha serie de caracteres no ficheiro estándar de saída, stdout
, asociado ao monitor. Os caracteres escríbense segundo o formato especificado. A función, en caso de ir todo ben, devolve un valor enteiro equivalente ao número de caracteres escrito. A sintaxe básica da función sería:
printf(cadea);
Recordemos o mellor exemplo de uso desta función, que xa tivemos o privilexio de coñecer anteriormente:
printf("Ola, mundo!\n");
Como se pode apreciar, o uso da función printf()
pode resultar tan doado coma escribir un texto entre comiñas dobres. É dicir, pódese imprimir calquera cadea colocándoa como argumento da función.
Substitución de datos
[editar]A función printf()
pode recibir argumentos adicionais ao primeiro argumento (que contén unha cadea de texto). Estes argumentos poden ser calquera clase de variable ou dato, de tipo numérico ou alfanumérico, e mesmo unha operación en si (en cuxo caso amosarase o resultado). Ditos argumentos introdúcense, mediante os códigos de substitución axeitados, na cadea principal, na cal se imprimirán. Vexamos un exemplo:
printf("Se multiplicamos 3 por 5 obteremos %d",3*5);
O segundo argumento da función, 3*5
, dará como resultado 15
, e este resultado imprimirase na cadea do primeiro argumento, substituíndo a %d
. %d
é un "marcador de formato", que indica que o dato que o vai substituír será un número en sistema decimal.
O resultado da función sería: Se multiplicamos 3 por 5 obteremos 15
Tamén podemos introducir máis dun dato na cadea do primeiro argumento. En tal caso, teremos que fornecerlle á función tantos argumentos adicionais coma datos queiramos introducir na cadea do primeiro argumento, e a orde dos marcadores de formato da cadea debe corresponderse coa orde en que aparecen a continuación o resto dos argumentos de printf()
.
printf("Se multiplicamos 3 por 5 obteremos %d, e se o resultado o dividimos entre 3, obteremos %d",3*5,3*5/3);
O resultado da función sería: Se multiplicamos 3 por 5 obteremos 15, e se o resultado o dividimos entre 3, obteremos 5
.
Precisión dos números reais
[editar]Á hora de imprimir en pantalla números “en coma flotante” ─tipos float
, double
e long double
─ probablemente prefiramos establecer nós o número de cifras que aparecerán tras a coma, pois un número coma 34.9900000000000
pode quedar bastante feo. Establecer o número de cifras tras a coma (que en realidade é un punto, dado que se está no sistema numérico anglosaxón) é moi doado. Nada como ver uns exemplos para entender como facelo:
printf("%.0f, %.2f, %.3f.",numero1, numero2, numero3);
No exemplo anterior, numero1
aparecerá sen decimais, numero2
aparecerá con 2 decimais e numero3
aparecerá con tres decimais.
As tres variables son de tipo float
, que no printf()
se representa co código %f
. Entre o %
e o f
escríbese un punto (.
) seguido dun número que representa a cantidade de decimais que se amosarán.