2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Printf-funktion yleinen muoto on printf (muodon ohjaus, tulosluettelo)
Esimerkiksi:
printf("%d,%cn",i,c);
Se on kaksoisheittomerkkien sisällä oleva merkkijono, jota kutsutaan "muunnosohjausmerkkijonoksi" tai lyhennettynä "muotomerkkijonoksi". Se sisältää kaksi tietoa:
① Muotoile lausunto. Muotoilmoitus koostuu "%"- ja muotomerkeistä, kuten %d, %f jne. Sen tehtävänä on muuntaa lähtötiedot määritettyyn muotoon ja tulostaa se sitten. Muotoilmoitukset alkavat aina "%"-merkillä.
Niistä: d edustaa desimaalilukua, c on yksi merkki, s edustaa useita merkkejä, f edustaa desimaalimuotoa, x edustaa tulostusta heksadesimaalimuodossa ja p on tulostusmuistin osoite, joka myös tulostetaan heksadesimaalimuodossa käyttää muuttuvan osoitteen operaatiosymbolia &.
② Tavallisia merkkejä. Tavalliset merkit ovat merkkejä, jotka on tulostettava muuttumattomina tulostuksen aikana. Esimerkiksi yllä olevan printf-funktion kaksoispilkkujen pilkut, välilyönnit ja rivinvaihdot voivat sisältää myös muita merkkejä.
Ohjelman on tulostettava joitakin tietoja, jotka voivat olla vakioita, muuttujia tai lausekkeita.
- int data = 10;
- int chushu = 3;
- float result;
-
- result = (float)data/chushu;
scanf (muodon ohjaus, osoitetaulukon sarake)
"Format Control" tarkoittaa samaa kuin printf-funktio. "Osoitetaulukon sarake" on taulukon sarake, joka koostuu useista osoitteista, jotka voivat olla muuttujan osoite tai merkkijonon ensimmäinen osoite.
Samoin kuin printf-funktion muotomääritys, se alkaa %:lla ja päättyy muotomerkkiin, ja keskelle voidaan lisätä lisämerkkejä.
Scanf-funktio voidaan kirjoittaa uudelleen seuraavaan muotoon
scanf("a=%f,b=%f,c=%f",&a,&b,&c);
Muotoilmoituksen %f lisäksi muotomerkkijonossa on myös tavallisia merkkejä (mukaan lukien "a=", "b=" ja ",").
Huomautus:
Scanf-funktion "muotoohjauksen" jälkeen tulee olla muuttujan osoite, ei muuttujan nimi.Esimerkiksi jos a ja b ovat kokonaislukumuuttujia, jos ne kirjoitetaan muodossa
scaní("%f%f%f",a,b,c);
Ei ole oikein. "a,b,c" tulee vaihtaa muotoon "&a,&b,&c". Monet aloittelijat tekevät tämän virheen.
Jos "muodon ohjausmerkkijonossa" on muita merkkejä muotoilmoituksen lisäksi, tulee tietoja syötettäessä syöttää vastaaviin paikkoihin samat merkit kuin nämä merkit.Jos on
scanf("a=%f,b=%f,c=%f",&a,&b,&c);
Tietoja syötettäessä on samat merkit syötettävä vastaaviin paikkoihin.eli syöttö
a=1,b=3,c=2 (kiinnitä huomiota syötettävään sisältöön)
Älä siis lisää välilyöntejä (jos käytät rivinvaihtoa välilyöntien syöttämiseen, se on OK) tai pilkkuja ja muita symboleja scanf:ssä, vaan kirjoita tarvittavat syöttötiedot suoraan:
scanf("%d%d%f",&data,&data1,&data2);
Kun määritetään syöttömerkkejä muodossa "%c", välilyönnit ja "poistomerkkien" merkit syötetään kelvollisiksi merkeiksi, esimerkiksi:
scanf("%c%c%c,&c1,&c2,&c3);
Kun suoritat tätä toimintoa, sinun tulee kirjoittaa 3 peräkkäistä merkkiä ilman välilyöntejä.
Olisi väärin lisätä välilyönti kahden merkin väliin.
Välilyönnit ja rivinvaihdot ovat myös merkkejä Et voi käyttää välilyöntejä tai rivinvaihtoja syötettäessä.
Numeerisia tietoja syötettäessä, jos syötät välilyöntiä, rivinvaihtoa, sarkainnäppäintä tai kohtaat laittomia merkkejä (merkkejä, jotka eivät kuulu numeroarvoihin), tietojen katsotaan päättyneen. Esimerkiksi:
scanf("%d%c%f,&a,&b,&c);
Oikea syöttö on: 1234h7.6
Ensimmäiset tiedot vastaavat muotoa %d. 1234:n syöttämisen jälkeen järjestelmä luulee, että arvon 1234 jälkeen ei ole numeroita. Ensimmäisen tiedon pitäisi päättyä tähän, joten muuttujaan lähetetään 1234. a. Lähetä seuraava merkki 'h' merkkimuuttujaan b Koska %c vaatii vain yhden merkin syöttämisen, järjestelmä määrittää, että merkin syöttö on päättynyt, joten välilyöntiä ei tarvitse lisätä merkin jälkeen. h'. Merkin 'h' jälkeinen arvo tulee lähettää muuttujaan c. Jos 1230.26 on virheellisesti kirjoitettu 123o.26:ksi huolimattomuudesta johtuen, koska o-kirjain tulee 123:n jälkeen, katsotaan, että numeeriset tiedot päättyvät tähän, eikä seuraavia merkkejä lueta.
Joten kun syötämme erityyppisiä tietoja, meidän tulisi tehdä vastaavat scanf-funktiot tyypin mukaan. Useille tyypeille on olemassa useita scanf-funktioita.
Kun ohjelma sisältää kaksi tai useampia scanf-funktioita, jälkimmäinen scanf-toiminto pitää rivinvaihtomerkkiä edellisen scanf-funktion syöttämisen jälkeen omana syötteensä, jolloin jälkimmäinen scanf-toiminto ei pysty saamaan syötettä normaalisti, joten sitä on käytettävä. Lisää scanf-funktioiden väliin getchar() ylimääräisen rivinvaihdon ottamiseksi.
laittaa: ero printf:stä
(1) Lisää rivinvaihdot automaattisesti
(2).printf tukee useita tulostusmalleja, ja puts on tulostemerkkijono.
getchar, putchar
Syöttö- ja lähtöharjoitukset:
1. Syötä isot kirjaimet ja tulosta pienet kirjaimet
Tässä käytetään ASCII-koodien tuntemusta. Isoja kirjaimia vastaava ASCII-koodi + 32 on pieniä kirjaimia vastaava ASCII-koodi.
Joten koodiesimerkki on
- #include<stdio.h>
-
- int main()
- {
- char a;
- char b;
-
- printf("请输入一个大写字母:");
- scanf("%c",&a);
- b = a+32;
- printf("其对应的小写字母为:%c",b);
-
- return 0;
- }