logo

C Formátummeghatározó

A Formátum megadó egy karakterlánc, amelyet a formázott bemeneti és kimeneti funkciókban használnak. A formátum karakterlánc határozza meg a bemenet és a kimenet formátumát. A formátum karakterlánc mindig „%” karakterrel kezdődik.

A printf() függvényben leggyakrabban használt formátummeghatározók a következők:

Formátummeghatározó Leírás
%d vagy %i Az előjeles egész érték kinyomtatására szolgál, ahol az előjeles egész azt jelenti, hogy a változó pozitív és negatív értékeket is tartalmazhat.
%ban ben Az előjel nélküli egész érték kinyomtatására szolgál, ahol az előjel nélküli egész azt jelenti, hogy a változó csak pozitív értéket tartalmazhat.
%O Az oktális előjel nélküli egész szám nyomtatására szolgál, ahol az oktális egész érték mindig 0 értékkel kezdődik.
%x A hexadecimális előjel nélküli egész szám nyomtatására szolgál, ahol a hexadecimális egész szám mindig 0x értékkel kezdődik. Ebben az alfabetikus karakterek kis betűkkel vannak nyomtatva, például a, b, c stb.
%X A hexadecimális előjel nélküli egész szám kinyomtatására szolgál, de a %X nagybetűvel nyomtatja ki az alfabetikus karaktereket, például A, B, C stb.
%f A decimális lebegőpontos értékek nyomtatására szolgál. Alapértelmezés szerint a 6 értéket írja ki a '.' után.
%ésés Tudományos jelölésre használják. Más néven Mantissa vagy Exponent.
%g A tizedes lebegőpontos értékek kinyomtatására szolgál, és a rögzített pontosságot használja, azaz a tizedesjegy utáni érték pontosan megegyezik a kimenetben lévő értékkel.
%p A cím hexadecimális formában történő nyomtatására szolgál.
%c Az előjel nélküli karakter kinyomtatására szolgál.
%s A karakterláncok kinyomtatására szolgál.
%ld A hosszú előjelű egész érték nyomtatására szolgál.

Nézzük meg részletesen a formátum-specifikációkat egy példán keresztül.

python bájtokat a karakterláncba
    %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; } 

A fenti kódban b és c egész értékét nyomtatjuk ki a %d megadóval.

Kimenet

C Formátummeghatározó
    %ban ben
 int main() { int b=10; int c= -10; printf('Value of b is:%u', b); printf('
Value of c is:%u',c); return 0; } 

A fenti programban a b és c értékét egy előjel nélküli formátummeghatározóval, azaz %u-val jelenítjük meg. A b értéke pozitív, ezért a %u specifikátor kiírja b pontos értékét, de nem írja ki c értékét, mivel c a negatív értéket tartalmazza.

Kimenet

C Formátummeghatározó
    %O
 int main() { int a=0100; printf('Octal value of a is: %o', a); printf('
Integer value of a is: %d',a); return 0; } 

A fenti kódban az a oktális értékét és egész értékét jelenítjük meg.

Kimenet

C Formátummeghatározó
    %x és %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; } 

A fenti kódban y az „A” hexadecimális értéket tartalmazza. Az y hexadecimális értékét két formátumban jelenítjük meg. A %x és %X segítségével kinyomtatjuk a hexadecimális értéket, ahol a %x kis betűkkel, azaz az 'a' és %X nagybetűvel, azaz 'A'-val jeleníti meg az értéket.

Kimenet

C Formátummeghatározó
    %f
 int main() { float y=3.4; printf('Floating point value of y is: %f', y); return 0; } 

A fenti kód az y lebegő értékét írja ki.

Kimenet

C Formátummeghatározó
    %Ez
 int main() { float y=3; printf('Exponential value of y is: %e', y); return 0; } 

Kimenet

java tömb rendezve
C Formátummeghatározó
    %ÉS
 int main() { float y=3; printf('Exponential value of y is: %E', y); return 0; } 

Kimenet

C Formátummeghatározó
    %g
 int main() { float y=3.8; printf('Float value of y is: %g', y); return 0; } 

A fenti kódban y lebegő értékét jelenítjük meg a %g megadóval. A %g specifikátor ugyanolyan pontossággal jeleníti meg a kimenetet, mint a bemenetet.

Kimenet

C Formátummeghatározó
    %p
 int main() { int y=5; printf('Address value of y in hexadecimal form is: %p', &y); return 0; } 

Kimenet

java matek óra
C Formátummeghatározó
    %c
 int main() { char a='c'; printf('Value of a is: %c', a); return 0; } 

Kimenet

C Formátummeghatározó
    %s
 int main() { printf('%s', 'javaTpoint'); return 0; } 

Kimenet

C Formátummeghatározó

Minimális mezőszélesség-meghatározó

Tegyük fel, hogy egy olyan kimenetet szeretnénk megjeleníteni, amely minimális számú helyet foglal el a képernyőn. Ezt úgy érheti el, hogy a formátummeghatározó százalékjele után egész számot jelenít meg.

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

A fenti programban a %8d specifikátor 8 szóköz után jeleníti meg az értéket, míg a %-8d megadó balra igazítja az értéket.

Kimenet

C Formátummeghatározó

Most meglátjuk, hogyan lehet kitölteni az üres helyeket. Az alábbi kódban látható:

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

A fenti programban a %08d azt jelenti, hogy az üres hely nullákkal van kitöltve.

Kimenet

1 millió számjegyben
C Formátummeghatározó

A pontosság megadása

A pontosságot a '.' használatával tudjuk megadni. (Dot) operátor, amelyet egész szám és formátummeghatározó követ.

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

Kimenet

C Formátummeghatározó