Formatspecifikationen er en streng, der bruges i de formaterede input- og outputfunktioner. Formatstrengen bestemmer formatet for input og output. Formatstrengen starter altid med et '%'-tegn.
De almindeligt anvendte formatspecifikationer i printf()-funktionen er:
Formatspecifikation | Beskrivelse |
---|---|
%d eller %i | Det bruges til at udskrive den fortegnede heltalværdi, hvor fortegnet heltal betyder, at variablen kan indeholde både positive og negative værdier. |
%i | Det bruges til at udskrive den heltal uden fortegn, hvor det heltal uden fortegn betyder, at variablen kun kan indeholde en positiv værdi. |
%O | Det bruges til at udskrive det oktale heltal uden fortegn, hvor det oktale heltal altid starter med en 0-værdi. |
%x | Det bruges til at udskrive det hexadecimale heltal uden fortegn, hvor den hexadecimale heltalværdi altid starter med en 0x-værdi. Heri udskrives alfabetiske tegn med små bogstaver som a, b, c osv. |
%X | Det bruges til at udskrive det hexadecimale heltal uden fortegn, men %X udskriver de alfabetiske tegn med store bogstaver såsom A, B, C osv. |
%f | Det bruges til at udskrive decimale flydende decimalværdier. Som standard udskriver den de 6 værdier efter '.'. |
% og og | Det bruges til videnskabelig notation. Det er også kendt som Mantissa eller eksponent. |
%g | Det bruges til at udskrive decimale flydende decimalværdier, og det bruger den faste præcision, dvs. værdien efter decimalen i input ville være nøjagtig den samme som værdien i outputtet. |
%p | Det bruges til at udskrive adressen i hexadecimal form. |
%c | Det bruges til at udskrive det usignerede tegn. |
%s | Det bruges til at printe strengene. |
%ld | Det bruges til at udskrive den lange-signerede heltalværdi. |
Lad os forstå formatspecifikationerne i detaljer gennem et eksempel.
java streng sammenkædning
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 ovenstående kode udskriver vi heltalsværdien af b og c ved at bruge %d-specifikationen.
Produktion
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 ovenstående program viser vi værdien af b og c ved at bruge en usigneret formatspecifikation, dvs. %u. Værdien af b er positiv, så %u-specifikationen udskriver den nøjagtige værdi af b, men den udskriver ikke værdien af c, da c indeholder den negative værdi.
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 ovenstående kode viser vi oktalværdien og heltalsværdien af 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 ovenstående kode indeholder y den hexadecimale værdi 'A'. Vi viser den hexadecimale værdi af y i to formater. Vi bruger %x og %X til at udskrive den hexadecimale værdi, hvor %x viser værdien med små bogstaver, dvs. 'a' og %X viser værdien med stort bogstav, dvs. 'A'.
java er lig metode
Produktion
int main() { float y=3.4; printf('Floating point value of y is: %f', y); return 0; }
Ovenstående kode udskriver den flydende værdi af y.
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 ovenstående kode viser vi den flydende værdi af y ved at bruge %g-specifikationen. %g-specifikationen viser output det samme som input med samme præcision.
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
int main() { printf('%s', 'javaTpoint'); return 0; }
Produktion
Angivelse af minimum feltbredde
Antag, at vi ønsker at vise et output, der optager et minimum antal pladser på skærmen. Du kan opnå dette ved at vise et heltal efter procenttegnet for formatspecifikationen.
int main() { int x=900; printf('%8d', x); printf(' %-8d',x); return 0; }
I ovenstående program viser %8d specifier værdien efter 8 mellemrum, mens %-8d specifier vil gøre en værdi venstrejusteret.
understregning i markdown
Produktion
Nu vil vi se, hvordan du udfylder de tomme pladser. Det er vist i nedenstående kode:
int main() { int x=12; printf('%08d', x); return 0; }
I ovenstående program betyder %08d, at det tomme rum er fyldt med nuller.
Produktion
Angivelse af præcision
Vi kan angive præcisionen ved at bruge '.' (Prik) operator, som efterfølges af heltal og formatspecifikation.
int main() { float x=12.2; printf('%.2f', x); return 0; }
Produktion