Formāta norādītājs C tiek izmantots, lai norādītu kompilatoram par datu veidu, kas jādrukā vai skenē ievades un izvades operācijās. Tie vienmēr sākas ar a % simbols un tiek izmantoti formatētajā virknē tādās funkcijās kā printf (), scanf, sprintf () utt.
Valoda C nodrošina vairākus formāta specifikatorus, kas ir saistīti ar dažādiem datu tipiem, piemēram, %d — int, %c — char utt. Šajā rakstā mēs apspriedīsim dažus biežāk izmantotos formāta specifikācijas un to lietošanu.
Formāta specifikāciju saraksts C
Zemāk esošajā tabulā ir ietverti visbiežāk lietotie formāta specifikācijas C
| Formāta norādītājs | Apraksts |
|---|---|
| %c | Rakstzīmju tipam. |
| %d | Vesela skaitļa tipam ar zīmi. |
| %e vai %E | Pludiņu zinātniskai apzīmēšanai. |
| %f | Pludiņa tipam. |
| %g vai %G | Pludiņa tipam ar pašreizējo precizitāti. |
| %i | Neparakstīts vesels skaitlis |
| %ld vai %li | Garš |
| %lf | Dubults |
| %Lf | Garš dubultā |
| %lu | Neparakstīts int vai neparakstīts garš |
| %lli vai %lld | Gari gari |
| %llu | Neparakstīts garš garš |
| %O | Oktāla attēlojums |
| %p | Rādītājs |
| %s | Stīga |
| %in | Neparakstīts int |
| %x vai %X | Heksadecimālais attēlojums |
| %n | Nedrukā neko |
| %% | Izdrukā % rakstzīmes |
Formāta specifikāciju piemēri programmā C
1. Rakstzīmju formāta norādītājs — %c C
%c ir formāta norādītājs char datu tips C valodā. To var izmantot gan formatētai ievadei, gan formatētai izvadei C valodā.
Sintakse:
scanf(' %d ...', ...); printf(' %d ...', ...);> Piemērs:
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;> }> |
>
>
Ievade:
Enter some character: A>
Izvade:
The entered character: A>
2. Vesela skaitļa formāta norādītājs (parakstīts) – %d C
Mēs varam izmantot parakstīto veselo skaitļu formāta norādītāju %d funkcijās scanf() un print() vai citās funkcijās, kas izmanto formatētu virkni, lai ievadītu un izvadītu starpt datu tips.
Sintakse:
scanf('%d...', ...); printf('%i...', ...);> Piemērs:
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;> }> |
>
>
Ievade:
java nejaušo skaitļu ģenerators
Enter the integer: 45>
Izvade:
Printed using %d: 45 Printed using %i: 45>
3. Neparakstīta vesela skaitļa formāta norādītājs — %u valodā C
%u ir formāta specifikācija neparakstīta vesela skaitļa datu tipam. Ja mēs norādām negatīvu vesela skaitļa vērtību %u, tas pārvērš veselu skaitli savā pirmajā papildinājumā.
Sintakse:
printf(' %u ...', ...); scanf(' %u ...', ...);> Piemērs: Šajā C programmā ir parādīts, kā lietot %u valodā 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;> }> |
>
>
Ievade:
Enter an integer: 25>
Izvade:
Entered unsigned integer: 25 Printing -10 using %u: 4294967286>
4. Peldošā komata formāta norādītājs – %f C
The %f ir peldošā komata formāta norādītājs C valodā, ko var izmantot formatētajā virknē, lai ievadītu un izvadītu peldēt datu tips. Izņemot %f, mēs varam izmantot %Tas ir vai %UN formāta specifikācijas, lai drukātu peldošā komata vērtība eksponenciālā formā.
Sintakse:
printf(' %f ...', ...); scanf(' %e ...', ...); printf(' %E ...', ...);> Piemērs:
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;> }> |
>
>Izvade
Using %f: 12.670000 Using %e: 1.267000e+01 Using %E, 1.267000E+01>
5. Neparakstīts oktālais skaitlis veselam skaitlim — %o C
Mēs varam izmantot %o formāta norādītāju programmā C, lai drukātu vai ievadītu neparakstītu veselu oktālu skaitli.
Sintakse:
printf(' %o ...', ...); scanf(' %o ...', ...);> Piemērs:
C
#include> int> main()> {> >int> a = 67;> >printf>(>'%o
'>, a);> >return> 0;> }> |
>
>Izvade
103>
6. Neparakstīts heksadecimāls veselam skaitlim — %x C
Formāta norādītājs %x tiek izmantots formatētajā virknē heksadecimālajiem veseliem skaitļiem. Šajā gadījumā alfabēts heksadecimālos skaitļos būs ar mazajiem burtiem. Lielajiem alfabēta cipariem mēs izmantojam %X.
Sintakse:
printf(' %x ...', ...); scanf(' %X ...', ...);> Piemērs:
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;> }> |
>
kā atjaunināt java
>Izvade
3c5e 3C5E>
7. String Format Specifier – %s C
%s C tiek izmantots, lai drukātu virknes vai izmantotu virknes kā ievadi.
Sintakse:
printf(' %s ...', ...); scanf(' %s ...', ...);> Piemērs:
C
// C program to illustrate the use of %s in C> #include> int> main()> {> >char> a[] =>'Hi Geeks'>;> >printf>(>'%s
'>, a);> >return> 0;> }> |
>
>Izvade
Hi Geeks>
Piemērs: %s darbība ar scanf() nedaudz atšķiras no darbības ar printf(). Sapratīsim to ar šādas C programmas palīdzību.
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;> }> |
>
>
Ievade
Enter the string: Hi Geeks>
Izvade
Hi>
Kā redzam, virkne tiek skenēta tikai līdz tiek atrasta atstarpe. Mēs varam no tā izvairīties, izmantojot skenēšanas komplekti C .
8. Adreses formāta norādītājs – %p C
C valoda nodrošina arī formāta specifikāciju adreses/rādītāju drukāšanai. Mēs varam izmantot %p, lai drukātu adreses un norādes valodā C
Sintakse
printf(' %p ...', ...);> Piemērs:
C
#include> int> main()> {> >int> a = 10;> >printf>(>'The Memory Address of a: %p
'>,(>void>*)&a);> >return> 0;> }> |
>
>Izvade
The Memory Address of a: 0x7ffe9645b3fc>
Ievades un izvades formatēšana
C valoda nodrošina dažus rīkus, ar kuriem mēs varam formatēt ievadi un izvadi. Tie parasti tiek ievietoti starp zīmi % un formāta norādītāja simbolu. Daži no tiem ir šādi:
- Mīnusa zīme (-) norāda uz izlīdzināšanu pa kreisi.
- Cipars pēc % norāda minimālo drukājamā lauka platumu, ja rakstzīmes ir mazākas par platuma lielumu, atlikušo vietu aizpilda ar atstarpi un, ja tas ir lielāks, tas tiek drukāts tāds, kāds tas ir bez saīsināšanas.
- Punkta (. ) simbols precīzi atdala lauka platumu.
Precizitāte norāda minimālo ciparu skaitu veselā skaitļā, maksimālo rakstzīmju skaitu virknē un ciparu skaitu aiz decimāldaļas peldošā vērtībā.
I/O formatēšanas piemērs
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;> }> |
>
>Izvade
geeksforgeeks geeksforgeeks geeks geeks>
Bieži uzdotie jautājumi par C formāta specifikācijām
1. Vai C ir bināro skaitļu formāta specifikācija?
Nē, C valoda nenodrošina formāta specifikāciju binārajiem skaitļiem.
2. Kas ir formatētā virkne?
Ievades un izvades funkcijas programmā C izmanto virkni kā argumentu, kas nosaka, kā dati tiek parādīti ekrānā vai kā dati tiek izgūti atmiņā. Šo virkni sauc par formatētu virkni.