Muotomääritys on merkkijono, jota käytetään muotoilluissa syöttö- ja tulostustoiminnoissa. Muotomerkkijono määrittää tulon ja lähdön muodon. Muotoilumerkkijono alkaa aina %-merkillä.
Yleisesti käytettyjä muotomäärityksiä printf()-funktiossa ovat:
Muotomäärittäjä | Kuvaus |
---|---|
%d tai %i | Sitä käytetään etumerkillisen kokonaisluvun tulostamiseen, kun etumerkillinen kokonaisluku tarkoittaa, että muuttuja voi sisältää sekä positiivisia että negatiivisia arvoja. |
%sisään | Sitä käytetään etumerkittömän kokonaisluvun tulostamiseen, kun etumerkitön kokonaisluku tarkoittaa, että muuttuja voi sisältää vain positiivisen arvon. |
%O | Sitä käytetään oktaalien etumerkittömän kokonaisluvun tulostamiseen, jossa oktaalikokonaisluku alkaa aina arvolla 0. |
%x | Sitä käytetään tulostamaan heksadesimaalinen etumerkitön kokonaisluku, jossa heksadesimaalilukuarvo alkaa aina 0x-arvolla. Tässä aakkosmerkit painetaan pienillä kirjaimilla, kuten a, b, c jne. |
%X | Sitä käytetään heksadesimaalien etumerkittömän kokonaisluvun tulostamiseen, mutta %X tulostaa aakkosmerkit isoilla kirjaimilla, kuten A, B, C jne. |
%f | Sitä käytetään desimaalien liukulukuarvojen tulostamiseen. Oletusarvoisesti se tulostaa 6 arvoa '.':n jälkeen. |
%ja ja | Sitä käytetään tieteelliseen merkintään. Se tunnetaan myös nimellä Mantissa tai Exponent. |
%g | Sitä käytetään desimaalien liukulukuarvojen tulostamiseen, ja se käyttää kiinteää tarkkuutta, eli syötteen desimaaliluvun jälkeen oleva arvo olisi täsmälleen sama kuin tulosteen arvo. |
%p | Sitä käytetään osoitteen tulostamiseen heksadesimaalimuodossa. |
%c | Sitä käytetään allekirjoittamattoman merkin tulostamiseen. |
%s | Sitä käytetään merkkijonojen tulostamiseen. |
%ld | Sitä käytetään pitkämerkkisen kokonaisluvun tulostamiseen. |
Ymmärretään muotomäärityksiä yksityiskohtaisesti esimerkin kautta.
int main() { int b=6; int c=8; printf('Value of b is:%d', b); printf(' Value of c is:%d',c); return 0; }
Yllä olevassa koodissa tulostetaan b:n ja c:n kokonaisluku käyttämällä %d-määritystä.
pete davidsonin kansalaisuus
Lähtö
int main() { int b=10; int c= -10; printf('Value of b is:%u', b); printf(' Value of c is:%u',c); return 0; }
Yllä olevassa ohjelmassa näytämme b:n ja c:n arvot käyttämällä etumerkitöntä muotomääritystä, eli %u. B:n arvo on positiivinen, joten %u-määrittäjä tulostaa b:n tarkan arvon, mutta ei tulosta c:n arvoa, koska c sisältää negatiivisen arvon.
Lähtö
int main() { int a=0100; printf('Octal value of a is: %o', a); printf(' Integer value of a is: %d',a); return 0; }
Yllä olevassa koodissa näytämme a:n oktaaliarvon ja kokonaisluvun.
Lähtö
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; }
Yllä olevassa koodissa y sisältää heksadesimaaliarvon 'A'. Näytämme y:n heksadesimaaliarvon kahdessa muodossa. Käytämme %x ja %X tulostaaksemme heksadesimaaliarvon, jossa %x näyttää arvon pienillä kirjaimilla, eli 'a' ja %X näyttää arvon isolla kirjaimella, eli 'A'.
Lähtö
int main() { float y=3.4; printf('Floating point value of y is: %f', y); return 0; }
Yllä oleva koodi tulostaa y:n kelluvan arvon.
Lähtö
int main() { float y=3; printf('Exponential value of y is: %e', y); return 0; }
Lähtö
int main() { float y=3; printf('Exponential value of y is: %E', y); return 0; }
Lähtö
int main() { float y=3.8; printf('Float value of y is: %g', y); return 0; }
Yllä olevassa koodissa näytämme y:n kelluvan arvon käyttämällä %g-määritystä. %g-määrittäjä näyttää lähdön samalla tarkkuudella kuin tulo.
Lähtö
int main() { int y=5; printf('Address value of y in hexadecimal form is: %p', &y); return 0; }
Lähtö
int main() { char a='c'; printf('Value of a is: %c', a); return 0; }
Lähtö
int main() { printf('%s', 'javaTpoint'); return 0; }
Lähtö
Vähimmäiskentän leveyden määrittäjä
Oletetaan, että haluamme näyttää tulosteen, joka vie näytöllä vähimmäismäärän tilaa. Voit saavuttaa tämän näyttämällä kokonaisluvun muotomääritteen prosenttimerkin jälkeen.
int main() { int x=900; printf('%8d', x); printf(' %-8d',x); return 0; }
Yllä olevassa ohjelmassa %8d specifier näyttää arvon 8 välilyönnin jälkeen, kun taas %-8d specifier tekee arvon tasaiseksi vasemmalle.
Lähtö
Nyt katsotaan, kuinka tyhjät tilat täytetään. Se näkyy alla olevassa koodissa:
int main() { int x=12; printf('%08d', x); return 0; }
Yllä olevassa ohjelmassa %08d tarkoittaa, että tyhjä tila on täytetty nolilla.
Lähtö
Tarkkuuden määrittäminen
Voimme määrittää tarkkuuden käyttämällä '.' (Piste) -operaattori, jota seuraa kokonaisluku ja muotomäärittäjä.
int main() { float x=12.2; printf('%.2f', x); return 0; }
Lähtö