Ispis podataka
4. Ispis vrijednosti
Vratimo se sada ispisu podataka i formatima za ispis. Za ispis vrijednosti koristi se funkcija printf(), ali malo drukčijeg oblika.
printf("lista_formata",lista_varijabli);
Primjer 1.
Naredbom
printf("%d
%d", 3, 2);
na zaslonu će se ispisati brojevi 3 i 2, odvojeni razmakom, a naredbom
printf("%d,
%d", 3, 2);
te iste vrijednosti, ali odvojene zarezom i razmakom.
Dakle, izgled ispisa na zaslonu uređuje se unutar dvostrukih navodnika, a u listi_varijabli dolazi samo popis varijabli. Unutar navodnika stvara se izgled ispisa na zaslonu, a izvan njih redom se navode sve varijable čije se vrijednosti trebaju ispisati (ili kao u ovom slučaju navode se konkretne vrijednosti). Redoslijed oznaka formata mora odgovarati redoslijedu imena varijabli. Ako je pogrešno zadan format u odnosu prema najavljenom tipu podatka varijable, i ispis će biti pogrešan.
Provjerite i na računalu:
#include <stdio.h>int main()
{
printf("%d %d\n", 3, 2);
printf("%d, %d\n", 3, 2);
return 0;
}
Primjer 2.
Izvođenjem naredbe
printf("Rezultat izraza %d+%d je %d!", 3, 2, 3+2);
na zaslonu će se ispisati: Rezultat izraza 3+2 je 5!
Provjerite i na računalu:
#include <stdio.h>
int main()
{
printf("\nRezultat izraza %d+%d je %d!",3,2,3+2);
return 0;
}
Tijekom navođenja formata za ispis podataka, uz pojedine formate mogu biti napisani i cijeli brojevi. Primjerice, format %nd znači da će cijeli broj koji se ispiše zauzeti n mjesta (n je cijeli broj). Ako je vrijednost koja se ispisuje „kraća” od broja zauzetih mjesta, s lijeve strane broja ostat će prazna mjesta, a ako vrijednost zahtijeva više mjesta, format će se zanemariti. Primjerice, naredba
printf("%5d", 3);
daje ispis (kvadratići označuju prazno mjesto na zaslonu).
Naredba
printf("%5d", 123456);
daje ispis 123456 (broj 5 u formatu se zanemaruje jer ima više od 5 znamenki).
Provjerite i na računalu:
#include <stdio.h>
int main()
{
printf("%5d", 3);
printf("\n");
printf("%5d", 123456);
printf("\n");
return 0;
}
Standardno tijekom ispisa realnih brojeva format %f ispisuje broj na 6 decimala, no i format za realne brojeve može se oblikovati na sličan način kao format za cijele brojeve. Ako su n i m cijeli brojevi, n > m, format %n.mf znači da će vrijednost realne varijable zauzeti n mjesta. Od tih n mjesta, m se nalazi iza decimalne točke i jedno je rezervirano za decimalnu točku. Preostala mjesta (njih n-m-1) služe za ispis cijelog dijela realnog broja. Primjerice, naredba
printf("%5.2f", 3.2564789);
daje ispis (kvadratići označuju prazno mjesto na zaslonu). Ukupno je za ispis broja bilo pet mjesta, a od toga su dva mjesta rezervirana za decimalni dio broja, jedno mjesto za decimalnu točku i za cijeli dio broja ostanu dva mjesta. Zamijetite da će decimalni dio biti zaokružen prema matematičkim pravilima.
Naredba
printf("%5.2f", 321.9998);
daje ispis 322.00 (broj 5 u formatu se zanemaruje jer ima ukupno više od pet znamenki, a zbog matematičkih pravila zaokruživanja broj se zaokružuje na 322.00).
Provjerite i na računalu:
#include <stdio.h>int main()
{
printf("%5.2f", 3.2564789);
printf("\n");
printf("%5.2f", 321.9998);
printf("\n");
return 0;
}