logo

Špecifikátor formátu C

Špecifikátor formátu je reťazec používaný vo formátovaných funkciách vstupu a výstupu. Formátovací reťazec určuje formát vstupu a výstupu. Formátovací reťazec vždy začína znakom '%'.

Bežne používané špecifikátory formátu vo funkcii printf() sú:

chyba: nepodarilo sa nájsť alebo načítať hlavnú triedu
Špecifikátor formátu Popis
%d alebo %i Používa sa na vytlačenie hodnoty celého čísla so znamienkom, kde celé číslo so znamienkom znamená, že premenná môže obsahovať kladné aj záporné hodnoty.
%in Používa sa na tlač celočíselnej hodnoty bez znamienka, pričom celé číslo bez znamienka znamená, že premenná môže obsahovať iba kladnú hodnotu.
%O Používa sa na tlač osmičkového celého čísla bez znamienka, kde osmičková hodnota vždy začína hodnotou 0.
%X Používa sa na tlač hexadecimálneho celého čísla bez znamienka, kde hexadecimálna hodnota vždy začína hodnotou 0x. V tomto sú abecedné znaky vytlačené malými písmenami ako a, b, c atď.
%X Používa sa na tlač hexadecimálneho celého čísla bez znamienka, ale %X vytlačí abecedné znaky veľkými písmenami, ako napríklad A, B, C atď.
%f Používa sa na tlač hodnôt s pohyblivou desatinnou čiarkou. V predvolenom nastavení vytlačí 6 hodnôt za '.'.
% a a Používa sa na vedeckú notáciu. Je tiež známy ako Mantisa alebo Exponent.
%g Používa sa na tlač hodnôt s pohyblivou desatinnou čiarkou a používa pevnú presnosť, t. j. hodnota za desatinnou čiarkou na vstupe by bola presne rovnaká ako hodnota na výstupe.
%p Používa sa na tlač adresy v hexadecimálnom tvare.
%c Používa sa na vytlačenie nepodpísaného znaku.
%s Používa sa na tlač reťazcov.
%ld Používa sa na tlač celočíselnej hodnoty s dlhým znamienkom.

Pozrime sa podrobne na špecifikátory formátu prostredníctvom príkladu.

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

Vo vyššie uvedenom kóde tlačíme celočíselnú hodnotu b a c pomocou špecifikátora %d.

Výkon

Špecifikátor formátu 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; } 

Vo vyššie uvedenom programe zobrazujeme hodnotu b a c pomocou špecifikátora formátu bez znamienka, t.j. %u. Hodnota b je kladná, takže špecifikátor %u vypíše presnú hodnotu b, ale nevypíše hodnotu c, pretože c obsahuje zápornú hodnotu.

Výkon

Špecifikátor formátu 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; } 

Vo vyššie uvedenom kóde zobrazujeme osmičkovú hodnotu a celočíselnú hodnotu a.

Výkon

Špecifikátor formátu C
    %x a %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; } 

Vo vyššie uvedenom kóde y obsahuje hexadecimálnu hodnotu 'A'. Šestnástkovú hodnotu y zobrazujeme v dvoch formátoch. Na tlač hexadecimálnej hodnoty používame %x a %X, kde %x zobrazuje hodnotu malými písmenami, t.j. 'a' a %X zobrazuje hodnotu veľkým písmenom, t.j. 'A'.

Výkon

Špecifikátor formátu C
    %f
 int main() { float y=3.4; printf('Floating point value of y is: %f', y); return 0; } 

Vyššie uvedený kód vypíše plávajúcu hodnotu y.

Výkon

Špecifikátor formátu C
    %To je
 int main() { float y=3; printf('Exponential value of y is: %e', y); return 0; } 

Výkon

Špecifikátor formátu C
    %A
 int main() { float y=3; printf('Exponential value of y is: %E', y); return 0; } 

Výkon

Špecifikátor formátu C
    %g
 int main() { float y=3.8; printf('Float value of y is: %g', y); return 0; } 

Vo vyššie uvedenom kóde zobrazujeme plávajúcu hodnotu y pomocou špecifikátora %g. Špecifikátor %g zobrazuje výstup rovnaký ako vstup s rovnakou presnosťou.

Výkon

Špecifikátor formátu C
    %p
 int main() { int y=5; printf('Address value of y in hexadecimal form is: %p', &y); return 0; } 

Výkon

odovzdať reťazec do int java
Špecifikátor formátu C
    %c
 int main() { char a='c'; printf('Value of a is: %c', a); return 0; } 

Výkon

Špecifikátor formátu C
    %s
 int main() { printf('%s', 'javaTpoint'); return 0; } 

Výkon

Špecifikátor formátu C

Špecifikátor minimálnej šírky poľa

Predpokladajme, že chceme zobraziť výstup, ktorý zaberá minimálny počet miest na obrazovke. Môžete to dosiahnuť zobrazením celého čísla za znakom percenta špecifikátora formátu.

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

Vo vyššie uvedenom programe špecifikátor %8d zobrazuje hodnotu po 8 medzerách, zatiaľ čo špecifikátor %-8d zarovná hodnotu doľava.

Výkon

Špecifikátor formátu C

Teraz uvidíme, ako vyplniť prázdne miesta. Je to zobrazené v nižšie uvedenom kóde:

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

Vo vyššie uvedenom programe %08d znamená, že prázdne miesto je vyplnené nulami.

Výkon

Špecifikátor formátu C

Určenie presnosti

Presnosť môžeme určiť pomocou '.' Operátor (bodka), za ktorým nasleduje celé číslo a špecifikátor formátu.

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

Výkon

Špecifikátor formátu C