Saltar ao contido

C/printf

En Galilibros, o Wikibooks en galego.
< C
C
← Volver a perror printf Seguir con puts


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.


C
← Volver a perror printf Seguir con puts