logo

Specifikator formata C

Specifikator formata je niz, ki se uporablja v formatiranih vhodnih in izhodnih funkcijah. Formatni niz določa format vhoda in izhoda. Oblikovni niz se vedno začne z znakom '%'.

Pogosto uporabljeni specifikatorji oblike v funkciji printf() so:

Specifikator formata Opis
%d ali %i Uporablja se za tiskanje vrednosti celega števila s predznakom, kjer celo število s predznakom pomeni, da lahko spremenljivka vsebuje pozitivne in negativne vrednosti.
%in Uporablja se za tiskanje vrednosti celega števila brez predznaka, kjer celo število brez predznaka pomeni, da lahko spremenljivka vsebuje samo pozitivno vrednost.
%O Uporablja se za tiskanje osmiškega celega števila brez predznaka, kjer se vrednost osmiškega celega števila vedno začne z vrednostjo 0.
%x Uporablja se za tiskanje šestnajstiškega celega števila brez predznaka, pri čemer se vrednost šestnajstiškega celega števila vedno začne z vrednostjo 0x. Pri tem so abecedni znaki natisnjeni z malimi črkami, kot so a, b, c itd.
%X Uporablja se za tiskanje šestnajstiškega celega števila brez predznaka, vendar %X natisne abecedne znake z velikimi črkami, kot so A, B, C itd.
%f Uporablja se za tiskanje decimalnih vrednosti s plavajočo vejico. Privzeto natisne 6 vrednosti za '.'.
% in in Uporablja se za znanstveno notacijo. Znana je tudi kot mantisa ali eksponent.
%g Uporablja se za tiskanje decimalnih vrednosti s plavajočo vejico in uporablja fiksno natančnost, kar pomeni, da bi bila vrednost za decimalnim vnosom popolnoma enaka vrednosti v izhodu.
%p Uporablja se za tiskanje naslova v šestnajstiški obliki.
%c Uporablja se za tiskanje nepodpisanega znaka.
%s Uporablja se za tiskanje nizov.
%ld Uporablja se za tiskanje vrednosti celega števila z dolgim ​​predznakom.

Oglejmo si podrobneje specifikatorje formata na primeru.

    %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; } 

V zgornji kodi natisnemo celoštevilsko vrednost b in c z uporabo specifikatorja %d.

Izhod

Specifikator formata C
    %in
 int main() { int b=10; int c= -10; printf('Value of b is:%u', b); printf('
Value of c is:%u',c); return 0; } 

V zgornjem programu prikazujemo vrednost b in c z uporabo nepredznačenega določitelja formata, tj. %u. Vrednost b je pozitivna, zato specifikator %u natisne točno vrednost b, vendar ne natisne vrednosti c, ker c vsebuje negativno vrednost.

nizi java

Izhod

Specifikator formata C
    %O
 int main() { int a=0100; printf('Octal value of a is: %o', a); printf('
Integer value of a is: %d',a); return 0; } 

V zgornji kodi prikazujemo osmiško vrednost in celo vrednost a.

Izhod

Specifikator formata C
    %x in %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; } 

V zgornji kodi y vsebuje šestnajstiško vrednost 'A'. Šestnajstiško vrednost y prikažemo v dveh oblikah. Za tiskanje šestnajstiške vrednosti uporabljamo %x in %X, kjer %x prikazuje vrednost z malimi črkami, tj. 'a', %X pa prikazuje vrednost z veliko začetnico, tj. 'A'.

Izhod

Specifikator formata C
    %f
 int main() { float y=3.4; printf('Floating point value of y is: %f', y); return 0; } 

Zgornja koda natisne plavajočo vrednost y.

Izhod

Specifikator formata C
    %Je
 int main() { float y=3; printf('Exponential value of y is: %e', y); return 0; } 

Izhod

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

Izhod

Specifikator formata C
    %g
 int main() { float y=3.8; printf('Float value of y is: %g', y); return 0; } 

V zgornji kodi prikazujemo plavajočo vrednost y z uporabo specifikatorja %g. Specifikator %g prikaže izhod enako kot vhod z enako natančnostjo.

Izhod

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

Izhod

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

Izhod

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

Izhod

Specifikator formata C

Specifikator najmanjše širine polja

Recimo, da želimo prikazati izhod, ki zaseda najmanjše število prostorov na zaslonu. To lahko dosežete s prikazom celega števila za znakom za odstotek določitelja oblike.

 int main() { int x=900; printf('%8d', x); printf('
%-8d',x); return 0; } 

V zgornjem programu specifikator %8d prikaže vrednost po 8 presledkih, medtem ko specifikator %-8d vrednost poravna levo.

Izhod

Specifikator formata C

Zdaj bomo videli, kako zapolniti prazne prostore. Prikazano je v spodnji kodi:

 int main() { int x=12; printf('%08d', x); return 0; } 

V zgornjem programu %08d pomeni, da je prazen prostor zapolnjen z ničlami.

Izhod

Specifikator formata C

Določanje natančnosti

Natančnost lahko določimo z uporabo '.' Operator (pika), ki mu sledita celo število in specifikator oblike.

 int main() { float x=12.2; printf('%.2f', x); return 0; } 

Izhod

Specifikator formata C