Specifikátor formátu je řetězec používaný ve formátovaných vstupních a výstupních funkcích. Formátovací řetězec určuje formát vstupu a výstupu. Formátovací řetězec vždy začíná znakem '%'.
Běžně používané specifikátory formátu ve funkci printf() jsou:
Specifikátor formátu | Popis |
---|---|
%d nebo %i | Používá se k vytištění hodnoty celého čísla se znaménkem, kde celé číslo se znaménkem znamená, že proměnná může obsahovat kladné i záporné hodnoty. |
%v | Používá se k tisku hodnoty celého čísla bez znaménka, kde celé číslo bez znaménka znamená, že proměnná může obsahovat pouze kladnou hodnotu. |
%Ó | Používá se k tisku osmičkového celého čísla bez znaménka, kde osmičkové celé číslo vždy začíná hodnotou 0. |
%X | Používá se k tisku hexadecimálního celého čísla bez znaménka, kde hodnota hexadecimálního celého čísla vždy začíná hodnotou 0x. V tomto jsou abecední znaky vytištěny malými písmeny, jako je a, b, c atd. |
%X | Používá se k tisku hexadecimálního celého čísla bez znaménka, ale %X tiskne abecední znaky velkými písmeny, jako je A, B, C atd. |
%F | Používá se pro tisk desetinných hodnot s plovoucí desetinnou čárkou. Ve výchozím nastavení vytiskne 6 hodnot za '.'. |
% a a | Používá se pro vědecký zápis. Je také známá jako Mantisa nebo Exponent. |
%G | Používá se k tisku desetinných hodnot s plovoucí desetinnou čárkou a používá pevnou přesnost, tj. hodnota za desetinnou čárkou na vstupu by byla přesně stejná jako hodnota na výstupu. |
%p | Slouží k vytištění adresy v hexadecimálním tvaru. |
%C | Používá se k vytištění znaku bez znaménka. |
%s | Používá se k tisku řetězců. |
%ld | Používá se k tisku celočíselné hodnoty s dlouhým znaménkem. |
Pojďme podrobně porozumět specifikátorům formátu prostřednictvím příkladu.
int main() { int b=6; int c=8; printf('Value of b is:%d', b); printf(' Value of c is:%d',c); return 0; }
Ve výše uvedeném kódu tiskneme celočíselnou hodnotu b a c pomocí specifikátoru %d.
Výstup
testování softwaru
int main() { int b=10; int c= -10; printf('Value of b is:%u', b); printf(' Value of c is:%u',c); return 0; }
Ve výše uvedeném programu zobrazujeme hodnotu b a c pomocí specifikátoru formátu bez znaménka, tj. %u. Hodnota b je kladná, takže specifikátor %u vypíše přesnou hodnotu b, ale nevypíše hodnotu c, protože c obsahuje zápornou hodnotu.
Výstup
int main() { int a=0100; printf('Octal value of a is: %o', a); printf(' Integer value of a is: %d',a); return 0; }
Ve výše uvedeném kódu zobrazujeme osmičkovou a celočíselnou hodnotu a.
Výstup
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; }
Ve výše uvedeném kódu y obsahuje hexadecimální hodnotu 'A'. Hexadecimální hodnotu y zobrazujeme ve dvou formátech. Pro tisk hexadecimální hodnoty používáme %x a %X, kde %x zobrazuje hodnotu malými písmeny, tj. 'a' a %X zobrazuje hodnotu velkým písmenem, tj. 'A'.
chr funkce python
Výstup
int main() { float y=3.4; printf('Floating point value of y is: %f', y); return 0; }
Výše uvedený kód vypíše plovoucí hodnotu y.
np nuly
Výstup
int main() { float y=3; printf('Exponential value of y is: %e', y); return 0; }
Výstup
int main() { float y=3; printf('Exponential value of y is: %E', y); return 0; }
Výstup
int main() { float y=3.8; printf('Float value of y is: %g', y); return 0; }
Ve výše uvedeném kódu zobrazujeme plovoucí hodnotu y pomocí specifikátoru %g. Specifikátor %g zobrazuje výstup stejný jako vstup se stejnou přesností.
Výstup
int main() { int y=5; printf('Address value of y in hexadecimal form is: %p', &y); return 0; }
Výstup
int main() { char a='c'; printf('Value of a is: %c', a); return 0; }
Výstup
Rajinikanth
int main() { printf('%s', 'javaTpoint'); return 0; }
Výstup
Specifikátor minimální šířky pole
Předpokládejme, že chceme zobrazit výstup, který zabírá minimální počet míst na obrazovce. Toho lze dosáhnout zobrazením celého čísla za znakem procenta specifikátoru formátu.
int main() { int x=900; printf('%8d', x); printf(' %-8d',x); return 0; }
Ve výše uvedeném programu specifikátor %8d zobrazuje hodnotu po 8 mezerách, zatímco specifikátor %-8d učiní hodnotu zarovnanou doleva.
Výstup
Nyní uvidíme, jak vyplnit prázdná místa. Je zobrazen v níže uvedeném kódu:
int main() { int x=12; printf('%08d', x); return 0; }
Ve výše uvedeném programu %08d znamená, že prázdné místo je vyplněno nulami.
řekl Madhuri
Výstup
Zadání přesnosti
Přesnost můžeme specifikovat pomocí '.' Operátor (tečka), za kterým následuje celé číslo a specifikátor formátu.
int main() { float x=12.2; printf('%.2f', x); return 0; }
Výstup