logo

Formato specifikacijos C

Formato specifikacija C yra naudojama norint informuoti kompiliatorių apie duomenų tipą, kuris turi būti spausdinamas arba nuskaitomas atliekant įvesties ir išvesties operacijas. Jie visada prasideda a % simbolis ir naudojami suformatuotoje eilutėje tokiose funkcijose kaip printf (), scanf, sprintf () ir kt.

C kalba pateikia daugybę formatų specifikacijų, susietų su skirtingais duomenų tipais, pvz., %d – int, %c – char ir tt Šiame straipsnyje aptarsime kai kuriuos dažniausiai naudojamus formato parametrus ir kaip juos naudoti.



C formato specifikacijų sąrašas

Žemiau esančioje lentelėje pateikiami dažniausiai naudojami C formato specifikacijos

Formato specifikatorius

apibūdinimas



%c

Dėl simbolio tipo.

%d

Ženklinio sveikojo skaičiaus tipui.

%e arba %E



Moksliniam plūdžių žymėjimui.

%f

Plūdės tipui.

%g arba %G

Plūdinio tipo su dabartiniu tikslumu.

%i

Nepažymėtas sveikasis skaičius

%ld arba %li

Ilgai

%lf

Dvigubas

%Lf

Ilgas dvivietis

%lu

Unsigned int arba unsigned long

%lli arba %lld

Ilgas ilgas

%llu

Nepasirašytas ilgas ilgas

%O

Aštuntainis vaizdas

%p

Rodyklė

%s

Styga

%in

Nepasirašytas tarpt

%x arba %X

Šešioliktainis vaizdavimas

%n

Nieko nespausdina

%%

Spausdina % simbolis

C formato specifikatorių pavyzdžiai

1. Simbolių formato specifikatorius – %c C

%c yra formato specifikacija char duomenų tipas C kalba. Jis gali būti naudojamas tiek suformatuotai įvestiei, tiek suformatuotai išvestiei C kalba.

Sintaksė:

scanf('  %d  ...', ...); printf('  %d  ...', ...);>

Pavyzdys:

C




// C Program to illustrate the %c format specifier.> #include> int> main()> {> >char> c;> >// using %c for character input> >scanf>(>'Enter some character: %c'>, &c);> >// using %c for character output> >printf>(>'The entered character: %c'>, &c);> >return> 0;> }>

>

>

Įvestis:

Enter some character: A>

Išvestis:

The entered character: A>

2. Sveikojo skaičiaus formato specifikatorius (pasirašytas) – %d C

Galime naudoti sveikųjų ženklų formato specifikatorių %d funkcijose scanf() ir print() arba kitose funkcijose, kurios naudoja formatuotą eilutę įvesti ir išvesti tarpt duomenų tipas.

Sintaksė:

scanf('%d...', ...); printf('%i...', ...);>

Pavyzdys:

C




// C Program to demonstrate the use of %d and %i> #include> // Driver code> int> main()> {> >int> x;> >// taking integer input> >scanf>(>'Enter the two integers: %d'>, &x);> >// printing integer output> >printf>(>'Printed using %%d: %d '>, x);> >printf>(>'Printed using %%i: %3i '>, x);> >return> 0;> }>

>

>

Įvestis:

Enter the integer: 45>

Išvestis:

Printed using %d: 45 Printed using %i: 45>

3. Nepaženklinto sveikojo skaičiaus formato specifikatorius – %u C

%u yra nepasirašyto sveikojo skaičiaus duomenų tipo formato specifikacija. Jei nurodysime neigiamą sveikojo skaičiaus reikšmę %u, jis konvertuoja sveikąjį skaičių į pirmąjį papildymą.

Sintaksė:

printf('  %u  ...', ...); scanf('  %u  ...', ...);>

Pavyzdys: Šioje C programoje parodyta, kaip naudoti %u C.

C




// C Program to illustrate the how to use %u> #include> // driver code> int> main()> {> >unsigned>int> var;> >scanf>(>'Enter an integer: %u'>, &var);> >printf>(>'Entered Unsigned Integer: %u'>, var);> >// trying to print negative value using %u> >printf>(>'Printing -10 using %%u: %u '>, -10);> >return> 0;> }>

>

>

Įvestis:

Enter an integer: 25>

Išvestis:

Entered unsigned integer: 25 Printing -10 using %u: 4294967286>

4. Slankaus kablelio formato specifikacija – %f C

The %f yra slankiojo kablelio formato specifikacija C kalba, kuri gali būti naudojama suformatuotoje eilutėje įvesti ir išvesti plūdė duomenų tipas. Be %f, galime naudoti %Tai yra arba %IR formato specifikacijos, kad spausdintumėte slankiojo kablelio reikšmė eksponentine forma.

Sintaksė:

printf('  %f  ...', ...); scanf('  %e  ...', ...); printf('  %E  ...', ...);>

Pavyzdys:

C




// C program to demonstrate the use of %f, %e and %E> #include> // driver code> int> main()> {> >float> a = 12.67;> >printf>(>'Using %%f: %f '>, a);> >printf>(>'Using %%e: %e '>, a);> >printf>(>'Using %%E, %E'>, a);> >return> 0;> }>

>

>

Išvestis

spausdinti iš java
Using %f: 12.670000 Using %e: 1.267000e+01 Using %E, 1.267000E+01>

5. Beženklis aštuntasis sveikojo skaičiaus skaičius – %o C

Galime naudoti %o formato specifikaciją programoje C, kad išspausdintume arba gautume įvestį beženklį aštuntąjį sveikąjį skaičių.

Sintaksė:

printf('  %o  ...', ...); scanf('  %o  ...', ...);>

Pavyzdys:

C




#include> int> main()> {> >int> a = 67;> >printf>(>'%o '>, a);> >return> 0;> }>

>

>

Išvestis

103>

6. Beženklis šešioliktainis sveikasis skaičius – %x C

%x formato specifikacija naudojama šešioliktainių sveikųjų skaičių suformatuotoje eilutėje. Šiuo atveju šešioliktainių skaičių abėcėlės bus rašomos mažosiomis raidėmis. Didiesiems abėcėlės skaitmenims naudojame %X.

Sintaksė:

printf('  %x  ...', ...); scanf('  %X  ...', ...);>

Pavyzdys:

C




// C Program to demonstrate the use of %x and %X> #include> int> main()> {> >int> a = 15454;> >printf>(>'%x '>, a);> >printf>(>'%X'>, a);> >return> 0;> }>

>

>

Išvestis

3c5e 3C5E>

7. Eilučių formato specifikatorius – %s C

%s C yra naudojamas spausdinti eilutes arba paimti eilutes kaip įvestį.

Sintaksė:

printf('  %s  ...', ...); scanf('  %s  ...', ...);>

Pavyzdys:

C




// C program to illustrate the use of %s in C> #include> int> main()> {> >char> a[] =>'Hi Geeks'>;> >printf>(>'%s '>, a);> >return> 0;> }>

>

>

Išvestis

Hi Geeks>

Pavyzdys: %s veikimas su scanf() šiek tiek skiriasi nuo darbo su printf(). Supraskime tai naudodami šią C programą.

C




// C Program to illustrate the working of %s with scanf()> #include> int> main()> {> >char> str[50];> >// taking string as input> >scanf>(>'Enter the String: %s'>, str);> >printf>(>'Entered String: %s'>, str);> >return> 0;> }>

>

>

Įvestis

Enter the string: Hi Geeks>

Išvestis

Hi>

Kaip matome, eilutė nuskaitoma tik tol, kol aptinkamas tarpas. Mes galime to išvengti naudodami nuskaityti rinkiniai C .

8. Adreso formato specifikatorius – %p C

C kalba taip pat suteikia formato specifikaciją adreso / rodyklių spausdinimui. Galime naudoti %p norėdami spausdinti adresus ir nuorodas C

Sintaksė

printf('  %p  ...', ...);>

Pavyzdys:

C




#include> int> main()> {> >int> a = 10;> >printf>(>'The Memory Address of a: %p '>,(>void>*)&a);> >return> 0;> }>

>

>

Išvestis

The Memory Address of a: 0x7ffe9645b3fc>

Įvesties ir išvesties formatavimas

C kalba suteikia keletą įrankių, kuriais galime suformatuoti įvestį ir išvestį. Paprastai jie įterpiami tarp % ženklo ir formato specifikatoriaus simbolio. Kai kurie iš jų yra tokie:

  1. Minuso (-) ženklas rodo išlygiavimą į kairę.
  2. Skaičius po % nurodo minimalų lauko plotį, kuris turi būti spausdinamas, jei simboliai yra mažesni už pločio dydį, likusi vieta užpildoma tarpu, o jei ji didesnė, spausdinama tokia, kokia yra be sutrumpinimo.
  3. Taško (. ) simbolis tiksliai atskiria lauko plotį.

Tikslumas nurodo mažiausią sveikojo skaičiaus skaitmenų skaičių, maksimalų simbolių skaičių eilutėje ir skaitmenų skaičių po dešimtainės dalies slankiojoje reikšmėje.

I/O formatavimo pavyzdys

C




// C Program to demonstrate the formatting methods.> #include> int> main()> {> >char> str[] =>'geeksforgeeks'>;> >printf>(>'%20s '>, str);> >printf>(>'%-20s '>, str);> >printf>(>'%20.5s '>, str);> >printf>(>'%-20.5s '>, str);> >return> 0;> }>

>

>

Išvestis

 geeksforgeeks geeksforgeeks geeks geeks>

DUK apie C formato specifikatorius

1. Ar C turi dvejetainių skaičių formato specifikaciją?

Ne, C kalba nepateikia dvejetainių skaičių formato specifikatoriaus.

2. Kas yra suformatuota eilutė?

C įvesties ir išvesties funkcijos naudoja eilutę kaip argumentą, kuris nusprendžia, kaip duomenys bus rodomi ekrane arba kaip duomenys nuskaitomi į atmintį. Ši eilutė vadinama suformatuota eilute.