logo

C-formatspecifikation

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
    %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 ovenstående kode udskriver vi heltalsværdien af ​​b og c ved at bruge %d-specifikationen.

Produktion

C-formatspecifikation
    %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 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

C-formatspecifikation
    %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 ovenstående kode viser vi oktalværdien og heltalsværdien af ​​a.

Produktion

C-formatspecifikation
    %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 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

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

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

Produktion

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

Produktion

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

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

Produktion

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

Produktion

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

Produktion

C-formatspecifikation

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

C-formatspecifikation

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

C-formatspecifikation

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

C-formatspecifikation