Specificatorul de format este un șir utilizat în funcțiile de intrare și ieșire formatate. Șirul de format determină formatul de intrare și de ieșire. Șirul de format începe întotdeauna cu un caracter „%”.
îmbinare sortare java
Specificatorii de format folosiți în mod obișnuit în funcția printf() sunt:
Specificator de format | Descriere |
---|---|
%d sau %i | Este folosit pentru a tipări valoarea întregului semnat, unde întregul semnat înseamnă că variabila poate conține atât valori pozitive, cât și negative. |
%în | Este folosit pentru a tipări valoarea întregului fără semn, unde întregul fără semn înseamnă că variabila poate deține doar o valoare pozitivă. |
%O | Este folosit pentru a tipări întregul octal fără semn, unde valoarea întregului octal începe întotdeauna cu o valoare 0. |
%X | Este folosit pentru a tipări numărul întreg hexazecimal fără semn, unde valoarea întregului hexazecimal începe întotdeauna cu o valoare 0x. În aceasta, caracterele alfabetice sunt tipărite cu litere mici, cum ar fi a, b, c etc. |
%X | Este folosit pentru a tipări întregul hexazecimal fără semn, dar %X tipărește caracterele alfabetice cu majuscule, cum ar fi A, B, C etc. |
%f | Este folosit pentru tipărirea valorilor zecimale în virgulă mobilă. În mod implicit, imprimă cele 6 valori după „.”. |
%si si | Este folosit pentru notarea științifică. Este cunoscut și sub numele de Mantissa sau Exponent. |
%g | Este folosit pentru a tipări valorile zecimale în virgulă mobilă și folosește precizia fixă, adică valoarea după zecimală în intrare ar fi exact aceeași cu valoarea din ieșire. |
%p | Este folosit pentru a tipări adresa într-o formă hexazecimală. |
%c | Este folosit pentru a tipări caracterul nesemnat. |
%s | Este folosit pentru imprimarea șirurilor. |
%ld | Este folosit pentru a tipări valoarea întregului cu semn lung. |
Să înțelegem specificatorii de format în detaliu printr-un exemplu.
int main() { int b=6; int c=8; printf('Value of b is:%d', b); printf(' Value of c is:%d',c); return 0; }
În codul de mai sus, tipărim valoarea întreagă a lui b și c folosind specificatorul %d.
Ieșire
int main() { int b=10; int c= -10; printf('Value of b is:%u', b); printf(' Value of c is:%u',c); return 0; }
În programul de mai sus, afișăm valoarea lui b și c folosind un specificator de format nesemnat, adică %u. Valoarea lui b este pozitivă, deci %u specificatorul afișează valoarea exactă a lui b, dar nu afișează valoarea lui c deoarece c conține valoarea negativă.
Ieșire
int main() { int a=0100; printf('Octal value of a is: %o', a); printf(' Integer value of a is: %d',a); return 0; }
În codul de mai sus, afișăm valoarea octală și valoarea întreagă a lui a.
Ieșire
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; }
În codul de mai sus, y conține valoarea hexazecimală „A”. Afișăm valoarea hexazecimală a lui y în două formate. Folosim %x și %X pentru a tipări valoarea hexazecimală, unde %x afișează valoarea cu litere mici, adică „a” și %X afișează valoarea într-o literă majusculă, adică „A”.
Ieșire
int main() { float y=3.4; printf('Floating point value of y is: %f', y); return 0; }
Codul de mai sus tipărește valoarea flotantă a lui y.
Ieșire
int main() { float y=3; printf('Exponential value of y is: %e', y); return 0; }
Ieșire
int main() { float y=3; printf('Exponential value of y is: %E', y); return 0; }
Ieșire
site-uri web de filme similare cu 123movies
int main() { float y=3.8; printf('Float value of y is: %g', y); return 0; }
În codul de mai sus, afișăm valoarea flotantă a lui y utilizând specificatorul %g. Specificatorul %g afișează rezultatul la fel ca și intrarea cu aceeași precizie.
Ieșire
int main() { int y=5; printf('Address value of y in hexadecimal form is: %p', &y); return 0; }
Ieșire
int main() { char a='c'; printf('Value of a is: %c', a); return 0; }
Ieșire
int main() { printf('%s', 'javaTpoint'); return 0; }
Ieșire
Specificator de lățime minimă a câmpului
Să presupunem că vrem să afișăm o ieșire care ocupă un număr minim de spații pe ecran. Puteți realiza acest lucru prin afișarea unui număr întreg după semnul procentual al specificatorului de format.
int main() { int x=900; printf('%8d', x); printf(' %-8d',x); return 0; }
În programul de mai sus, %8d specifier afișează valoarea după 8 spații, în timp ce %-8d specifier va face o valoare aliniată la stânga.
Ieșire
Acum vom vedea cum să umplem spațiile goale. Este afișat în codul de mai jos:
int main() { int x=12; printf('%08d', x); return 0; }
În programul de mai sus, %08d înseamnă că spațiul gol este umplut cu zerouri.
Ieșire
Specificarea preciziei
Putem specifica precizia folosind '.' (Punct) operator care este urmat de un întreg și de specificatorul de format.
int main() { float x=12.2; printf('%.2f', x); return 0; }
Ieșire