Odota käyttäjän syöttöä: C Kieli

Wait User Input C Language

C -ohjelmointikielessä on joitakin syöttötoimintoja. Näitä toimintoja käyttämällä voimme odottaa käyttäjän tuloa. Tässä opetusohjelmassa aiomme keskustella syöttötoiminnoista yksityiskohtaisesti.

Muotoile merkkijono

Muoto -merkkijono on syötettyjen tietojen muoto. Tämä muoto alkaa % -merkillä ja sen jälkeen muodon määrittäjä. Muotomäärittäjä on erityinen merkki, jota käytetään luettavien tietojen tyypille.



arg1, arg2, arg3… ovat muuttujien osoitteita, joihin syötetyt tiedot tallennetaan.



scanf () -toiminto

Syntaksi: int scanf (muotoile merkkijono, arg1, arg2, arg3…)



Jotkut usein käytetyistä määritteistä ovat seuraavat:

  • d - Käytetään kokonaislukuarvoissa.
  • f - Käytetään kelluvassa numerossa.
  • c - Käytetään yhden merkin arvossa.
  • s - Käytetään jousille.

Käyttämällä singleä scanf () toiminto, käyttäjä voi ottaa yhden tai useita tuloja.

The scanf () -toiminto ottaa syötteen vakiotulosta (näppäimistö) ja tallentaa arvon muuttujaan. Toiminto odottaa käyttäjän syöttöä, kunnes käyttäjä painaa enter -näppäintä. Syötetty arvo tallennetaan puskuriin. Enter -näppäintä painettaessa scanf () toiminto alkaa lukea.



Esimerkki 1: Kokonaisluku

//Esimerkki1.c
#sisältää

inttärkein(){

inti;
printf ('Anna ensimmäinen kokonaisluku:');
scanf ('%d', &i);
printf ('Tulit: %d n'',Minä);

printf ('Anna toinen kokonaislukuarvo:');
scanf ('%d', &i);
printf ('Tulit: %d n'',Minä);

palata 0;
}

Esimerkissä 1.c olemme nähneet, että kun annoimme kokonaislukuarvoja ja painimme enter -näppäintä. The scanf () funktio ottaa arvon ja tallentaa sen muuttujaan. Jos annamme arvot välilyönnillä erotettuna, funktio palaa, kun välilyöntiä havaitaan, mutta välilyönnin jälkeen jäävät arvot jäävät syöttöpuskuriin. Siksi toinen scanf () toiminto ei odota käyttäjän tuloa, vaan ottaa sen puskurista.

Esimerkki 2: Yksimerkkinen syöttö

//Esimerkki2.c
#sisältää

inttärkein(){

hiiltyäc;
printf ('Kirjoita merkki:');
scanf ('% c', &c);
printf ('Tulit: %c n'',c);

palata 0;
}

Esimerkissä2.c olemme nähneet sen käyttäessämme % c tarkentaja, scanf () toiminto sisältää vain yhden merkin, vaikka olisimme syöttäneet useita merkkejä.

Esimerkki 3: Yksimerkkinen syöttö (useita kertoja)

//Esimerkki3.c
#sisältää

inttärkein(){

hiiltyäc;
printf ('Kirjoita ensimmäinen merkki:');
scanf ('% c', &c);
printf ('Tulit: %c n'',c);

printf ('Kirjoita toinen merkki:');
scanf ('% c', &c);
printf ('Tulit: %c n'',c);

palata 0;
}

Esimerkki 4 :

//Esimerkki4.c
#sisältää

inttärkein(){

hiiltyäc;
printf ('Kirjoita ensimmäinen merkki:');
scanf ('% c', &c);
printf ('Tulit: %c n'',c);

printf ('Kirjoita toinen merkki:');
scanf ('% c', &c);
printf ('Tulit: %c n'',c);

palata 0;
}

Esimerkki 5: Merkkijonon syöttö

//Esimerkki5.c
#sisältää

inttärkein(){

hiiltyänimi[viisitoista];
printf ('Kirjoita nimesi: ');
scanf ('%s',nimi);
printf ('Osallistuit: %s n'',nimi);

palata 0;
}

getc () -toiminto

Syntaksi: int getc (FILE *stream)

getc () -toimintoa käytetään merkin lukemiseen FILE -osoittimesta (stream). Jos haluat lukea näppäimistöltä, meidän on käytettävä stdin . Tämä funktio palauttaa lukumerkin kokonaislukuarvon.

Esimerkki 6:

// Esimerkki6.c
#sisältää

inttärkein(){

hiiltyäc;
printf ('Kirjoita ensimmäinen merkki:');
sillä aikaa((c= getc (stdin))=='' n'');
printf ('Tulit: %c n'',c);

sillä aikaa( getc (stdin)! ='' n'');

printf ('Kirjoita toinen merkki:');
sillä aikaa((c= getc (stdin))=='' n'');
printf ('Tulit: %c n'',c);

palata 0;
}

getchar () -toiminto

Syntaksi: int getchar (mitätön)

getchar () toiminto on sama kuin getc () . Ainoa ero on se getc () toiminto voi lukea mistä tahansa syöttövirrasta, kun taas getchar () toiminto lukee vain vakiotulosta.

Esimerkki 7:

//Esimerkki7.c
#sisältää

inttärkein(){

hiiltyäc;
printf ('Kirjoita ensimmäinen merkki:');
sillä aikaa((c= kerätä ())=='' n'');
printf ('Tulit: %c n'',c);

sillä aikaa( kerätä ()! ='' n'');

printf ('Kirjoita toinen merkki:');
sillä aikaa((c= kerätä ())=='' n'');
printf ('Tulit: %c n'',c);

palata 0;
}

Johtopäätös

Tässä artikkelissa olemme nähneet, miten syöttötoimintoja käytetään C -kielellä. Kaikki nämä toiminnot otetaan syötteestä syöttöpuskurista ja kun käytämme näitä toimintoja useita kertoja, meidän on tyhjennettävä puskuri. Muussa tapauksessa toiminnot eivät odota käyttäjän tuloa ja ottavat sen puskurista.