Palaukite vartotojo įvesties: C kalba

Wait User Input C Language



C programavimo kalba yra keletas įvesties funkcijų. Naudodamiesi šiomis funkcijomis galime palaukti vartotojo įvesties. Šioje pamokoje mes išsamiai aptarsime įvesties funkcijas.

Formatuoti eilutę

Formato eilutė yra įvestų duomenų formatas. Šis formatas prasideda % ženklu, o po jo - formato specifikacija. Formato specifikatorius yra specifinis simbolis, naudojamas tam, kokio tipo duomenys yra skaitomi.







arg1, arg2, arg3… yra kintamųjų, kuriuose bus saugomi įvesti duomenys, adresai.



scanf () funkcija

Sintaksė: int scanf (formato eilutė, arg1, arg2, arg3 ...)



Kai kurie dažniausiai naudojami specifikatoriai yra šie:





  • d - Naudojamas sveikų skaičių reikšmėms.
  • f - Naudojamas plūduriuojančiam skaičiui.
  • c - Naudojamas vieno simbolio vertei.
  • s - Naudojamas stygoms.

Naudojant vieną scanf () funkcija, iš vartotojo galima paimti vieną ar kelis įėjimus.

The scanf () funkcija gauna įvestį iš standartinės įvesties (klaviatūros) ir išsaugo vertę kintamajame. Funkcija laukia vartotojo įvesties, kol vartotojas paspaus įvesties klavišą. Įvesta vertė saugoma buferyje. Paspaudus įvesties klavišą, scanf () funkcija pradeda skaityti.



1 pavyzdys: Sveikasis skaičius

//Pavyzdys1.c
#įtraukti

tarptpagrindinis(){

tarpti;
printf ('Įveskite 1 sveikojo skaičiaus reikšmę:');
scanf („%d“, &i);
printf ('Jūs įėjote: %d n',);

printf ('Įveskite 2 -ojo sveikojo skaičiaus vertę:');
scanf („%d“, &i);
printf ('Jūs įėjote: %d n',);

grįžti 0;
}

Pavyzdyje 1.c matėme, kad įvedę sveikųjų skaičių reikšmes ir paspaudę įvesties klavišą. The scanf () funkcija paima vertę ir išsaugo ją kintamajame. Jei įvedame reikšmes, atskirtas tarpais, funkcija grįžta, kai susiduriama su erdve, tačiau reikšmės po tarpo lieka įvesties buferyje. Štai kodėl antrasis scanf () funkcija nelauks vartotojo įvesties, o imsis įvesties iš buferio.

2 pavyzdys: vieno simbolio įvestis

//Pavyzdys2.c
#įtraukti

tarptpagrindinis(){

anglisc;
printf ('Įveskite simbolį:');
scanf ('% c', &c);
printf ('Jūs įėjote: %c n',c);

grįžti 0;
}

Pavyzdyje2.c tai matėme, kai naudojame % c specifikatorius, scanf () funkcija užima tik vieną simbolį, net jei įvedėme daugiau nei vieną simbolį.

3 pavyzdys: vieno simbolio įvestis (kelis kartus)

//Pavyzdys3.c
#įtraukti

tarptpagrindinis(){

anglisc;
printf ('Įveskite pirmąjį simbolį:');
scanf ('% c', &c);
printf ('Jūs įėjote: %c n',c);

printf ('Įveskite antrąjį simbolį:');
scanf ('% c', &c);
printf ('Jūs įėjote: %c n',c);

grįžti 0;
}

4 pavyzdys :

//Pavyzdys4.c
#įtraukti

tarptpagrindinis(){

anglisc;
printf ('Įveskite pirmąjį simbolį:');
scanf ('% c', &c);
printf ('Jūs įėjote: %c n',c);

printf ('Įveskite antrąjį simbolį:');
scanf ('% c', &c);
printf ('Jūs įėjote: %c n',c);

grįžti 0;
}

5 pavyzdys: eilutės įvestis

//Pavyzdys5.c
#įtraukti

tarptpagrindinis(){

anglisvardas[penkiolika];
printf ('Įveskite savo vardą:');
scanf („%s“,vardas);
printf ('Įėjote: %s n',vardas);

grįžti 0;
}

Funkcija getc ()

Sintaksė: int getc (FILE *srautas)

getc () funkcija naudojama skaitant simbolį iš FILE žymeklio (srauto). Norėdami skaityti iš klaviatūros, turime naudoti stdin . Ši funkcija grąžina skaitymo simbolio sveiką skaičių.

6 pavyzdys:

//Pavyzdys6.c
#įtraukti

tarptpagrindinis(){

anglisc;
printf ('Įveskite pirmąjį simbolį:');
tuo tarpu((c= getc (stdin))==' n');
printf ('Jūs įėjote: %c n',c);

tuo tarpu( getc (stdin)! =' n');

printf ('Įveskite antrąjį simbolį:');
tuo tarpu((c= getc (stdin))==' n');
printf ('Jūs įėjote: %c n',c);

grįžti 0;
}

Funkcija getchar ()

Sintaksė: int getchar (niekinis)

getchar () funkcija tokia pati kaip getc () . Skirtumas tik tas getc () funkcija gali skaityti iš bet kurio įvesties srauto, tuo tarpu getchar () funkcija nuskaito tik iš standartinės įvesties.

7 pavyzdys:

//Pavyzdys7.c
#įtraukti

tarptpagrindinis(){

anglisc;
printf ('Įveskite pirmąjį simbolį:');
tuo tarpu((c= gauti ())==' n');
printf ('Jūs įėjote: %c n',c);

tuo tarpu( gauti ()! =' n');

printf ('Įveskite antrąjį simbolį:');
tuo tarpu((c= gauti ())==' n');
printf ('Jūs įėjote: %c n',c);

grįžti 0;
}

Išvada

Šiame straipsnyje mes matėme, kaip įvesties funkcijos naudojamos C kalba. Visos šios funkcijos yra įvestos iš įvesties buferio ir kai mes naudojame šias funkcijas kelis kartus, turime išvalyti buferį. Priešingu atveju funkcijos nelauks vartotojo įvesties ir perims įvestį iš buferio.