logo

C-formatspesifikasjoner

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
    %d
 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

C-formatspesifikasjoner
    %i
 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

C-formatspesifikasjoner
    %O
 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

C-formatspesifikasjoner
    %x og %X
 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

C-formatspesifikasjoner
    %f
 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

C-formatspesifikasjoner
    %Det er
 int main() { float y=3; printf('Exponential value of y is: %e', y); return 0; } 

Produksjon

C-formatspesifikasjoner
    %OG
 int main() { float y=3; printf('Exponential value of y is: %E', y); return 0; } 

Produksjon

C-formatspesifikasjoner
    %g
 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

C-formatspesifikasjoner
    %p
 int main() { int y=5; printf('Address value of y in hexadecimal form is: %p', &y); return 0; } 

Produksjon

C-formatspesifikasjoner
    %c
 int main() { char a='c'; printf('Value of a is: %c', a); return 0; } 

Produksjon

C-formatspesifikasjoner
    %s
 int main() { printf('%s', 'javaTpoint'); return 0; } 

Produksjon

C-formatspesifikasjoner

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

C-formatspesifikasjoner

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

C-formatspesifikasjoner

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

C-formatspesifikasjoner