Așteptați introducerea utilizatorului: limbă C.

Wait User Input C Language



În limbajul de programare C există câteva funcții de intrare. Folosind aceste funcții, putem aștepta introducerea utilizatorului. În acest tutorial vom discuta detalii despre funcțiile de intrare.

Formatează șirul

Șirul de format este formatul pentru datele introduse. Acest format începe cu semnul% și este urmat de specificatorul de format. Specificatorul de format este un caracter specific care este utilizat pentru tipul de date care este citit.







arg1, arg2, arg3 ... sunt adresele variabilelor în care vor fi stocate datele introduse.



scanf () Funcție

Sintaxă: int scanf (șir de format, arg1, arg2, arg3 ...)



Unele dintre specificațiile utilizate frecvent sunt după cum urmează:





  • d - Folosit pentru valori întregi.
  • f - Folosit pentru număr plutitor.
  • c - Folosit pentru valoarea unui singur caracter.
  • s - Folosit pentru corzi.

Folosind single scanf () funcție, una sau mai multe intrări pot fi preluate de la utilizator.

The scanf () funcția preia intrarea de la intrarea standard (tastatură) și stochează valoarea într-o variabilă. Funcția așteaptă introducerea utilizatorului până când utilizatorul apasă tasta Enter. Valoarea introdusă este stocată într-un buffer. Când este apăsată tasta Enter, scanf () funcția începe să citească.



Exemplul 1: Intrare întreagă

//Exemplu1.c
#include

intprincipal(){

inteu;
printf („Introduceți prima valoare întreagă:”);
scanf („% d”, &eu);
printf ('Ai introdus:% d n',Eu);

printf („Introduceți a doua valoare întreagă:”);
scanf („% d”, &eu);
printf ('Ai introdus:% d n',Eu);

întoarcere 0;
}

În Exemplul 1.c, am văzut că atunci când am introdus valori întregi și apăsăm tasta Enter. The scanf () funcția preia valoarea și o stochează în variabilă. Dacă introducem valorile separate prin spațiu, funcția revine atunci când spațiul este întâlnit, dar valorile după spațiu rămân în bufferul de intrare. De aceea a doua scanf () funcția nu va aștepta introducerea utilizatorului, ci va prelua intrarea din buffer.

Exemplul 2: Intrare cu un singur caracter

//Exemplu2.c
#include

intprincipal(){

charc;
printf („Introduceți un caracter:”);
scanf („% c”, &c);
printf ('Ai introdus:% c n',c);

întoarcere 0;
}

În Exemplul 2.c, am văzut asta când folosim % c specificator, scanf () funcția ia un singur caracter chiar dacă am introdus mai multe caractere.

Exemplul 3: Intrare cu un singur caracter (mai multe ori)

//Exemplu3.c
#include

intprincipal(){

charc;
printf („Introduceți primul caracter:”);
scanf („% c”, &c);
printf ('Ai introdus:% c n',c);

printf („Introduceți al doilea caracter:”);
scanf („% c”, &c);
printf ('Ai introdus:% c n',c);

întoarcere 0;
}

Exemplul 4 :

//Exemplu4.c
#include

intprincipal(){

charc;
printf („Introduceți primul caracter:”);
scanf („% c”, &c);
printf ('Ai introdus:% c n',c);

printf („Introduceți al doilea caracter:”);
scanf („% c”, &c);
printf ('Ai introdus:% c n',c);

întoarcere 0;
}

Exemplul 5: Intrare șir

//Exemplu5.c
#include

intprincipal(){

charNume[cincisprezece];
printf ('Introdu numele tau: ');
scanf („% s”,Nume);
printf ('Ai introdus:% s n',Nume);

întoarcere 0;
}

Funcția getc ()

Sintaxă: int getc (FILE * stream)

getc () funcția este utilizată pentru a citi un caracter din indicatorul FILE (flux). Pentru a citi de la tastatură, trebuie să folosim stdin . Această funcție returnează o valoare întreagă a caracterului citit.

Exemplul 6:

//Exemplu6.c
#include

intprincipal(){

charc;
printf („Introduceți primul caracter:”);
in timp ce((c= getc (stdin))==' n');
printf ('Ai introdus:% c n',c);

in timp ce( getc (stdin)! =' n');

printf („Introduceți al doilea caracter:”);
in timp ce((c= getc (stdin))==' n');
printf ('Ai introdus:% c n',c);

întoarcere 0;
}

Funcția getchar ()

Sintaxă: int getchar (nul)

getchar () funcția este aceeași cu getc () . Singura diferență este că getc () funcția poate citi din orice flux de intrare, în timp ce getchar () funcția citește numai din intrarea standard.

Exemplul 7:

//Exemplu7.c
#include

intprincipal(){

charc;
printf („Introduceți primul caracter:”);
in timp ce((c= getchar ())==' n');
printf ('Ai introdus:% c n',c);

in timp ce( getchar ()! =' n');

printf („Introduceți al doilea caracter:”);
in timp ce((c= getchar ())==' n');
printf ('Ai introdus:% c n',c);

întoarcere 0;
}

Concluzie

În acest articol, am văzut cum funcțiile de intrare sunt utilizate în limbajul C. Toate aceste funcții sunt preluate din bufferul de intrare și atunci când folosim aceste funcții de mai multe ori, trebuie să ștergem bufferul. În caz contrar, funcțiile nu vor aștepta introducerea utilizatorului și vor prelua intrarea din buffer.