Formatspesifikasjonen er en streng som brukes i de formaterte inn- og utgangsfunksjonene. Formatstrengen bestemmer formatet for input og output. Formatstrengen starter alltid med et '%'-tegn.
De vanligste formatspesifikasjonene i printf()-funksjonen er:
Formatspesifikasjoner | Beskrivelse |
---|---|
%d eller %i | Den brukes til å skrive ut den fortegnede heltallsverdien der fortegnet heltall betyr at variabelen kan inneholde både positive og negative verdier. |
%i | Den brukes til å skrive ut heltallsverdien uten fortegn der det heltall uten fortegn betyr at variabelen kun kan inneholde positiv verdi. |
%O | Den brukes til å skrive ut det oktale heltall uten fortegn der den oktale heltallsverdien alltid starter med en 0-verdi. |
%x | Den brukes til å skrive ut det heksadesimale heltall uten fortegn der den heksadesimale heltallsverdien alltid starter med en 0x-verdi. I denne skrives alfabetiske tegn med små bokstaver som a, b, c osv. |
%X | Den brukes til å skrive ut det heksadesimale heltall uten fortegn, men %X skriver ut de alfabetiske tegnene med store bokstaver som A, B, C osv. |
%f | Den brukes til å skrive ut desimalflyttallsverdiene. Som standard skriver den ut de 6 verdiene etter '.'. |
% og og | Den brukes til vitenskapelig notasjon. Det er også kjent som Mantissa eller eksponent. |
%g | Den brukes til å skrive ut desimalflytepunktverdiene, og den bruker den faste presisjonen, dvs. verdien etter desimalen i input vil være nøyaktig den samme som verdien i utdata. |
%p | Den brukes til å skrive ut adressen i en heksadesimal form. |
%c | Den brukes til å skrive ut det usignerte tegnet. |
%s | Den brukes til å skrive ut strengene. |
%ld | Den brukes til å skrive ut den lange signerte heltallsverdien. |
La oss forstå formatspesifikasjonene i detalj gjennom et eksempel.
java-strengsammenkobling
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 ovenfor skriver vi ut heltallsverdien til b og c ved å bruke %d-spesifikasjonen.
Produksjon
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 ovenfor viser vi verdien av b og c ved å bruke en usignert formatspesifikasjon, dvs. %u. Verdien av b er positiv, så %u-spesifikasjonen skriver ut den nøyaktige verdien av b, men den skriver ikke ut verdien av c da c inneholder den negative verdien.
Produksjon
int main() { int a=0100; printf('Octal value of a is: %o', a); printf(' Integer value of a is: %d',a); return 0; }
I koden ovenfor viser vi den oktale verdien og heltallsverdien til a.
Produksjon
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 ovenfor inneholder y den heksadesimale verdien 'A'. Vi viser den heksadesimale verdien av y i to formater. Vi bruker %x og %X for å skrive ut den heksadesimale verdien der %x viser verdien med små bokstaver, dvs. 'a' og %X viser verdien med stor bokstav, dvs. 'A'.
java er lik metode
Produksjon
int main() { float y=3.4; printf('Floating point value of y is: %f', y); return 0; }
Koden ovenfor skriver ut den flytende verdien av y.
Produksjon
int main() { float y=3; printf('Exponential value of y is: %e', y); return 0; }
Produksjon
int main() { float y=3; printf('Exponential value of y is: %E', y); return 0; }
Produksjon
int main() { float y=3.8; printf('Float value of y is: %g', y); return 0; }
I koden ovenfor viser vi den flytende verdien til y ved å bruke %g-spesifikasjonen. %g-spesifikasjonen viser utdataene på samme måte som inndataene med samme presisjon.
Produksjon
int main() { int y=5; printf('Address value of y in hexadecimal form is: %p', &y); return 0; }
Produksjon
int main() { char a='c'; printf('Value of a is: %c', a); return 0; }
Produksjon
int main() { printf('%s', 'javaTpoint'); return 0; }
Produksjon
Spesifikasjoner for minimum feltbredde
Anta at vi ønsker å vise en utgang som opptar et minimum antall plasser på skjermen. Du kan oppnå dette ved å vise et heltall etter prosenttegnet for formatspesifikatoren.
int main() { int x=900; printf('%8d', x); printf(' %-8d',x); return 0; }
I programmet ovenfor viser %8d-spesifikasjonen verdien etter 8 mellomrom, mens %-8d-spesifikasjonen vil gjøre en verdi venstrejustert.
understreking i markdown
Produksjon
Nå skal vi se hvordan du fyller de tomme plassene. Det vises i koden nedenfor:
int main() { int x=12; printf('%08d', x); return 0; }
I programmet ovenfor betyr %08d at det tomme rommet er fylt med nuller.
Produksjon
Spesifisering av presisjon
Vi kan spesifisere presisjonen ved å bruke '.' (Prikk) operator som etterfølges av heltall og formatspesifikasjon.
int main() { float x=12.2; printf('%.2f', x); return 0; }
Produksjon