Formāta norādītājs ir virkne, ko izmanto formatētās ievades un izvades funkcijās. Formāta virkne nosaka ievades un izvades formātu. Formāta virkne vienmēr sākas ar '%' rakstzīmi.
Funkcijā printf() parasti izmantotie formāta specifikācijas ir:
Formāta norādītājs | Apraksts |
---|---|
%d vai %i | To izmanto, lai drukātu vesela skaitļa vērtību ar zīmi, kur vesels skaitlis nozīmē, ka mainīgajam var būt gan pozitīvas, gan negatīvas vērtības. |
%in | To izmanto, lai drukātu neparakstīta vesela skaitļa vērtību, kur neparakstīts vesels skaitlis nozīmē, ka mainīgajam var būt tikai pozitīva vērtība. |
%O | To izmanto, lai drukātu oktālu neparakstītu veselu skaitli, kur oktālā veselā skaitļa vērtība vienmēr sākas ar 0 vērtību. |
%x | To izmanto, lai drukātu heksadecimālu neparakstītu veselu skaitli, kur heksadecimālā veselā skaitļa vērtība vienmēr sākas ar 0x vērtību. Šajā gadījumā alfabētiskās rakstzīmes tiek drukātas ar maziem burtiem, piemēram, a, b, c utt. |
%X | To izmanto, lai drukātu heksadecimālo neparakstīto veselo skaitli, bet %X drukā alfabētiskās rakstzīmes ar lielajiem burtiem, piemēram, A, B, C utt. |
%f | To izmanto decimālo peldošā komata vērtību drukāšanai. Pēc noklusējuma tas drukā 6 vērtības aiz '.'. |
%un un | To izmanto zinātniskiem apzīmējumiem. To sauc arī par Mantissa vai Exponent. |
%g | To izmanto, lai drukātu decimāldaļas peldošā komata vērtības, un tajā tiek izmantota fiksētā precizitāte, t.i., vērtība pēc decimāldaļas ievadē būtu tieši tāda pati kā vērtība izvadē. |
%p | To izmanto, lai drukātu adresi heksadecimālā formā. |
%c | To izmanto, lai drukātu neparakstītu rakstzīmi. |
%s | To izmanto, lai drukātu virknes. |
%ld | To izmanto, lai drukātu vesela skaitļa vērtību ar garo zīmi. |
Detalizēti izpratīsim formāta specifikācijas, izmantojot piemēru.
int main() { int b=6; int c=8; printf('Value of b is:%d', b); printf(' Value of c is:%d',c); return 0; }
Iepriekš minētajā kodā mēs drukājam b un c veselu skaitļu vērtību, izmantojot %d norādītāju.
Izvade
int main() { int b=10; int c= -10; printf('Value of b is:%u', b); printf(' Value of c is:%u',c); return 0; }
Iepriekš minētajā programmā mēs parādām b un c vērtību, izmantojot neparakstītu formāta specifikāciju, t.i., %u. B vērtība ir pozitīva, tāpēc %u norādītājs drukā precīzu b vērtību, bet nedrukā c vērtību, jo c satur negatīvo vērtību.
Izvade
int main() { int a=0100; printf('Octal value of a is: %o', a); printf(' Integer value of a is: %d',a); return 0; }
Iepriekš minētajā kodā tiek parādīta a oktālā vērtība un vesela skaitļa vērtība.
Izvade
int main() { int y=0xA; printf('Hexadecimal value of y is: %x', y); printf(' Hexadecimal value of y is: %X',y); printf(' Integer value of y is: %d',y); return 0; }
Iepriekš minētajā kodā y satur heksadecimālo vērtību “A”. Mēs parādām y heksadecimālo vērtību divos formātos. Mēs izmantojam %x un %X, lai drukātu heksadecimālo vērtību, kur %x parāda vērtību ar maziem burtiem, t.i., “a” un %X parāda vērtību ar lielo burtu, t.i., “A”.
Izvade
iestatīts java
int main() { float y=3.4; printf('Floating point value of y is: %f', y); return 0; }
Iepriekš minētais kods drukā y peldošo vērtību.
Izvade
int main() { float y=3; printf('Exponential value of y is: %e', y); return 0; }
Izvade
int main() { float y=3; printf('Exponential value of y is: %E', y); return 0; }
Izvade
int main() { float y=3.8; printf('Float value of y is: %g', y); return 0; }
Iepriekš minētajā kodā mēs parādām y peldošo vērtību, izmantojot %g specifikāciju. %g precizētājs parāda izvadi tādu pašu kā ievadi ar tādu pašu precizitāti.
Izvade
int main() { int y=5; printf('Address value of y in hexadecimal form is: %p', &y); return 0; }
Izvade
int main() { char a='c'; printf('Value of a is: %c', a); return 0; }
Izvade
int main() { printf('%s', 'javaTpoint'); return 0; }
Izvade
Minimālā lauka platuma norādītājs
Pieņemsim, ka mēs vēlamies parādīt izvadi, kas ekrānā aizņem minimālu vietu skaitu. To var panākt, parādot veselu skaitli aiz formāta norādītāja procentu zīmes.
int main() { int x=900; printf('%8d', x); printf(' %-8d',x); return 0; }
Iepriekš minētajā programmā %8d specifier parāda vērtību pēc 8 atstarpēm, savukārt %-8d specifier vērtību līdzinās pa kreisi.
Izvade
Tagad mēs redzēsim, kā aizpildīt tukšās vietas. Tas ir parādīts zemāk esošajā kodā:
int main() { int x=12; printf('%08d', x); return 0; }
Iepriekš minētajā programmā %08d nozīmē, ka tukšā vieta ir aizpildīta ar nullēm.
Izvade
Precizitātes norādīšana
Mēs varam norādīt precizitāti, izmantojot '.' (Punkts) operators, kam seko vesels skaitlis un formāta norādītājs.
int main() { float x=12.2; printf('%.2f', x); return 0; }
Izvade