Formatspecifikationen är en sträng som används i de formaterade in- och utdatafunktionerna. Formatsträngen bestämmer formatet för indata och utdata. Formatsträngen börjar alltid med tecknet '%'.
De vanligaste formatspecifikationerna i printf()-funktionen är:
Formatspecifikation | Beskrivning |
---|---|
%d eller %i | Den används för att skriva ut det signerade heltalsvärdet där signed heltal betyder att variabeln kan innehålla både positiva och negativa värden. |
%i | Den används för att skriva ut heltalsvärdet utan tecken där heltal utan tecken betyder att variabeln endast kan innehålla positivt värde. |
%O | Det används för att skriva ut det oktala heltal utan tecken där det oktala heltalsvärdet alltid börjar med ett 0-värde. |
%x | Det används för att skriva ut det hexadecimala heltal utan tecken där det hexadecimala heltalsvärdet alltid börjar med ett 0x-värde. I denna skrivs alfabetiska tecken ut med små bokstäver som a, b, c osv. |
%X | Det används för att skriva ut det hexadecimala heltal utan tecken, men %X skriver ut de alfabetiska tecknen med versaler som A, B, C, etc. |
%f | Den används för att skriva ut decimala flyttalsvärden. Som standard skriver den ut de 6 värdena efter '.'. |
%och och | Det används för vetenskaplig notation. Det är också känt som Mantissa eller Exponent. |
%g | Den används för att skriva ut decimala flyttalsvärden, och den använder den fasta precisionen, d.v.s. värdet efter decimalen i inmatningen skulle vara exakt samma som värdet i utgången. |
%p | Den används för att skriva ut adressen i hexadecimal form. |
%c | Den används för att skriva ut det osignerade tecknet. |
%s | Den används för att skriva ut strängarna. |
%ld | Det används för att skriva ut det långa signerade heltalsvärdet. |
Låt oss förstå formatspecifikationerna i detalj genom ett exempel.
int main() { int b=6; int c=8; printf('Value of b is:%d', b); printf(' Value of c is:%d',c); return 0; }
I koden ovan skriver vi ut heltalsvärdet för b och c genom att använda %d-specifikationen.
Produktion
c program
int main() { int b=10; int c= -10; printf('Value of b is:%u', b); printf(' Value of c is:%u',c); return 0; }
I programmet ovan visar vi värdet av b och c genom att använda en osignerad formatspecifikator, dvs %u. Värdet på b är positivt, så %u specifier skriver ut det exakta värdet på b, men den skriver inte ut värdet på c eftersom c innehåller det negativa värdet.
Produktion
int main() { int a=0100; printf('Octal value of a is: %o', a); printf(' Integer value of a is: %d',a); return 0; }
I ovanstående kod visar vi det oktala värdet och heltalsvärdet för a.
Produktion
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; }
I koden ovan innehåller y det hexadecimala värdet 'A'. Vi visar det hexadecimala värdet för y i två format. Vi använder %x och %X för att skriva ut det hexadecimala värdet där %x visar värdet med små bokstäver, dvs. 'a' och %X visar värdet med stor bokstav, dvs. 'A'.
jämförbart gränssnitt i java
Produktion
int main() { float y=3.4; printf('Floating point value of y is: %f', y); return 0; }
Ovanstående kod skriver ut det flytande värdet på y.
stoppning css
Produktion
int main() { float y=3; printf('Exponential value of y is: %e', y); return 0; }
Produktion
int main() { float y=3; printf('Exponential value of y is: %E', y); return 0; }
Produktion
int main() { float y=3.8; printf('Float value of y is: %g', y); return 0; }
I koden ovan visar vi det flytande värdet för y genom att använda %g-specifikationen. %g-specifikationen visar utdata på samma sätt som indata med samma precision.
Produktion
int main() { int y=5; printf('Address value of y in hexadecimal form is: %p', &y); return 0; }
Produktion
int main() { char a='c'; printf('Value of a is: %c', a); return 0; }
Produktion
groovy datorspråk
int main() { printf('%s', 'javaTpoint'); return 0; }
Produktion
Minsta fältbreddsspecifikation
Anta att vi vill visa en utdata som upptar ett minsta antal utrymmen på skärmen. Du kan uppnå detta genom att visa ett heltal efter procenttecknet för formatspecifikationen.
int main() { int x=900; printf('%8d', x); printf(' %-8d',x); return 0; }
I programmet ovan visar %8d specifier värdet efter 8 blanksteg medan %-8d specifier kommer att göra ett värde vänsterjusterat.
Produktion
Nu ska vi se hur man fyller de tomma utrymmena. Det visas i koden nedan:
int main() { int x=12; printf('%08d', x); return 0; }
I programmet ovan betyder %08d att det tomma utrymmet är fyllt med nollor.
uppdaterar java
Produktion
Specificering av precision
Vi kan specificera precisionen genom att använda '.' (Punkt) operator som följs av heltal och formatspecifikation.
int main() { float x=12.2; printf('%.2f', x); return 0; }
Produktion