Gaidiet lietotāja ievadi: C valoda

Wait User Input C Language



C programmēšanas valodā ir dažas ievades funkcijas. Izmantojot šīs funkcijas, mēs varam gaidīt lietotāja ievadi. Šajā apmācībā mēs detalizēti apspriedīsim ievades funkcijas.

Formatēt virkni

Formāta virkne ir ievadīto datu formāts. Šis formāts sākas ar % zīmi, kam seko formāta specifikators. Formāta specifikators ir īpaša rakstzīme, kas tiek izmantota kāda veida datu nolasīšanai.







arg1, arg2, arg3… ir to mainīgo adreses, kur tiks saglabāti ievadītie dati.



scanf () Funkcija

Sintakse: int scanf (formatēt virkni, arg1, arg2, arg3 ...)



Daži no bieži izmantotajiem specifikatoriem ir šādi:





  • d - Izmanto veselām skaitļu vērtībām.
  • f - Izmanto peldošam skaitlim.
  • c - Izmanto vienas rakstzīmes vērtībai.
  • s - Izmanto stīgām.

Izmantojot singlu scanf () funkciju, no lietotāja var ņemt vienu vai vairākas ievades.

The scanf () funkcija ievada informāciju no standarta ievades (tastatūras) un saglabā vērtību mainīgajā. Funkcija gaida lietotāja ievadi, līdz lietotājs nospiež ievadīšanas taustiņu. Ievadītā vērtība tiek saglabāta buferī. Nospiežot ievadīšanas taustiņu, scanf () funkcija sāk lasīt.



1. piemērs: Vesela skaitļa ievade

//Piemērs1.c
#iekļaut

intgalvenais(){

inti;
printf ('Ievadiet pirmā vesela skaitļa vērtību:');
scanf ('%d', &i);
printf ('Jūs ievadījāt: %d n',Es);

printf ('Ievadiet 2. vesela skaitļa vērtību:');
scanf ('%d', &i);
printf ('Jūs ievadījāt: %d n',Es);

atgriezties 0;
}

Piemērā 1.c mēs redzējām, ka, ievadot veselu skaitļu vērtības un nospiežot ievadīšanas taustiņu. The scanf () funkcija ņem vērtību un saglabā to mainīgajā. Ja mēs ievadām vērtības, atdalītas ar atstarpi, funkcija atgriežas, kad tiek atrasta vieta, bet vērtības pēc atstarpes paliek ievades buferī. Tāpēc otrais scanf () funkcija negaidīs lietotāja ievadi, tā vietā tā saņems ievadi no bufera.

2. piemērs: vienas rakstzīmes ievade

//Piemērs2.c
#iekļaut

intgalvenais(){

charc;
printf ('Ievadiet rakstzīmi:');
scanf ('% c', &c);
printf ('Jūs ievadījāt: %c n',c);

atgriezties 0;
}

Piemērā2.c mēs to esam redzējuši, kad izmantojam % c specifikators, scanf () funkcija aizņem tikai vienu rakstzīmi, pat ja esam ievadījuši vairākas rakstzīmes.

3. piemērs: vienas rakstzīmes ievade (vairākas reizes)

//Piemērs3.c
#iekļaut

intgalvenais(){

charc;
printf ('Ievadiet pirmo rakstzīmi:');
scanf ('% c', &c);
printf ('Jūs ievadījāt: %c n',c);

printf ('Ievadiet otro rakstzīmi:');
scanf ('% c', &c);
printf ('Jūs ievadījāt: %c n',c);

atgriezties 0;
}

4. piemērs :

//Piemērs4.c
#iekļaut

intgalvenais(){

charc;
printf ('Ievadiet pirmo rakstzīmi:');
scanf ('% c', &c);
printf ('Jūs ievadījāt: %c n',c);

printf ('Ievadiet otro rakstzīmi:');
scanf ('% c', &c);
printf ('Jūs ievadījāt: %c n',c);

atgriezties 0;
}

5. piemērs: virknes ievade

//Piemērs5.c
#iekļaut

intgalvenais(){

charvārds[piecpadsmit];
printf ('Ievadiet savu vārdu: ');
scanf ('%s',vārds);
printf ('Jūs ievadījāt: %s n',vārds);

atgriezties 0;
}

Funkcija getc ()

Sintakse: int getc (FILE *straume)

getc () funkcija tiek izmantota, lai nolasītu rakstzīmi no rādītāja FILE (straume). Lai lasītu no tastatūras, mums ir jāizmanto stdin . Šī funkcija atgriež lasāmās rakstzīmes veselu skaitli.

6. piemērs:

//Piemērs6.c
#iekļaut

intgalvenais(){

charc;
printf ('Ievadiet pirmo rakstzīmi:');
kamēr((c= getc (stdin))==' n');
printf ('Jūs ievadījāt: %c n',c);

kamēr( getc (stdin)! =' n');

printf ('Ievadiet otro rakstzīmi:');
kamēr((c= getc (stdin))==' n');
printf ('Jūs ievadījāt: %c n',c);

atgriezties 0;
}

getchar () Funkcija

Sintakse: int getchar (anulēts)

getchar () funkcija ir tāda pati kā getc () . Vienīgā atšķirība ir tā getc () funkcija var nolasīt no jebkuras ievades plūsmas, turpretim getchar () funkcija nolasa tikai no standarta ievades.

7. piemērs:

//Piemērs7.c
#iekļaut

intgalvenais(){

charc;
printf ('Ievadiet pirmo rakstzīmi:');
kamēr((c= nokļūt ())==' n');
printf ('Jūs ievadījāt: %c n',c);

kamēr( nokļūt ()! =' n');

printf ('Ievadiet otro rakstzīmi:');
kamēr((c= nokļūt ())==' n');
printf ('Jūs ievadījāt: %c n',c);

atgriezties 0;
}

Secinājums

Šajā rakstā mēs esam redzējuši, kā ievades funkcijas tiek izmantotas C valodā. Visas šīs funkcijas tiek ievadītas no ievades bufera, un, ja šīs funkcijas izmantojam vairākas reizes, mums ir jāiztīra buferis. Pretējā gadījumā funkcijas negaidīs lietotāja ievadi un ņems ievadi no bufera.