Poczekaj na język wejściowy użytkownika C

Poczekaj na język wejściowy użytkownika C
W języku programowania C istnieją pewne funkcje wejściowe. Korzystając z tych funkcji, możemy poczekać na wprowadzanie użytkownika. W tym samouczku szczegółowo omówimy funkcje wejściowe.

String formatowy

String formatowy to format wprowadzonych danych. Ten format zaczyna się od % znaku, a następnie specyfikator formatu. Specyfikator formatu jest specyficznym znakiem, który jest używany, dla którego typu danych jest odczytywane.

arg1, arg2, arg3… to adresy zmiennych, w których wprowadzone dane będą przechowywane.

funkcja scanf ()

Składnia: int scanf („String formatu”, arg1, arg2, arg3…)

Niektóre z często używanych specyfikatorów są następujące:

  • D - Używane do wartości liczb całkowitych.
  • F - Używany do liczby pływających.
  • C - Używane do wartości pojedynczej znaku.
  • S - Używane do strun.

Za pomocą pojedynczego scanf () funkcja, jedno lub wiele danych wejściowych można pobrać od użytkownika.

scanf () Funkcja przyjmuje dane wejściowe ze standardowego wejścia (klawiatura) i przechowuj wartość w zmiennej. Funkcja czeka na wejście użytkownika, aż użytkownik naciśnij klawisz Enter. Wprowadzona wartość jest przechowywana w buforze. Po naciśnięciu klawisza ENTER, scanf () Funkcja zaczyna czytać.

Przykład 1: Wejście liczb całkowitych

//Przykład 1.C
#włączać
int main ()
int i;
printf („Wprowadź 1. wartość liczb całkowita:”);
Scanf („%d” i i);
printf („Wpisałeś: %d \ n”, i);
printf („Wprowadź 2. wartość całkowitą:”);
Scanf („%d” i i);
printf („Wpisałeś: %d \ n”, i);
powrót 0;

W przykładzie1.c, widzieliśmy, że kiedy wprowadziliśmy wartości liczb całkowitych i naciśnęliśmy klawisz Enter. scanf () Funkcja przyjmuje wartość i przechowywała ją w zmiennej. Jeśli wprowadzimy wartości oddzielone przestrzenią, funkcja zwraca się, gdy napotkano przestrzeń, ale wartości po przestrzeni pozostają w buforze wejściowym. Dlatego drugi scanf () Funkcja nie będzie czekać na wejście użytkownika, zamiast tego pobiera dane wejściowe z bufora.

Przykład 2: Wejście pojedynczego znaku

// Przykład2.C
#włączać
int main ()
Char C;
printf („Wprowadź znak:”);
Scanf („%C” i c);
printf („Wpisałeś: %c \ n”, c);
powrót 0;

W przykładzie2.c, widzieliśmy to, kiedy używamy %C specyfikator, scanf () Funkcja przyjmuje tylko jeden znak, nawet jeśli weszliśmy więcej niż jeden znak.

Przykład 3: Wejście pojedynczego znaku (wiele razy)

// Przykład3.C
#włączać
int main ()
Char C;
printf („Wprowadź 1. znak:”);
Scanf („%C” i c);
printf („Wpisałeś: %c \ n”, c);
printf („Wprowadź 2. znak:”);
Scanf („%C” i c);
printf („Wpisałeś: %c \ n”, c);
powrót 0;

Przykład 4:

// Przykład4.C
#włączać
int main ()
Char C;
printf („Wprowadź 1. znak:”);
Scanf („%C” i c);
printf („Wpisałeś: %c \ n”, c);
printf („Wprowadź 2. znak:”);
Scanf („ %C” i c);
printf („Wpisałeś: %c \ n”, c);
powrót 0;

Przykład 5: Wejście ciągów

// Przykład5.C
#włączać
int main ()
Nazwa char [15];
printf („Wprowadź swoje imię:”);
Scanf („%s”, nazwa);
printf („Wpisałeś: %s \ n”, nazwa);
powrót 0;

funkcja getC ()

Składnia: int getC (plik *strumień)

getC () Funkcja służy do odczytu znaku z wskaźnika pliku (strumień). Aby odczytać z klawiatury, musimy użyć stdin. Ta funkcja zwraca wartość liczbową znaku odczytu.

Przykład 6:

// Przykład6.C
#włączać
int main ()
Char C;
printf („Wprowadź 1. znak:”);
while ((c = getC (stdin)) == '\ n');
printf („Wpisałeś: %c \ n”, c);
While (getc (stdin)!= '\ n');
printf („Wprowadź 2. znak:”);
while ((c = getC (stdin)) == '\ n');
printf („Wpisałeś: %c \ n”, c);
powrót 0;

funkcja getchar ()

Składnia: int getchar (void)

getchar () Funkcja jest taka sama getC (). Jedyną różnicą jest to getC () funkcja może odczytać z dowolnego strumienia wejściowego, podczas gdy getchar () Funkcja odczytuje tylko ze standardowych danych wejściowych.

Przykład 7:

// Przykład7.C
#włączać
int main ()
Char C;
printf („Wprowadź 1. znak:”);
while ((c = getchar ()) == '\ n');
printf („Wpisałeś: %c \ n”, c);
While (getchar ()!= '\ n');
printf („Wprowadź 2. znak:”);
while ((c = getchar ()) == '\ n');
printf („Wpisałeś: %c \ n”, c);
powrót 0;

Wniosek

W tym artykule widzieliśmy, w jaki sposób funkcje wejściowe są używane w języku C. Wszystkie te funkcje są pobierane z buforu wejściowego, a kiedy używamy tych funkcji wiele razy, musimy wyczyścić bufor. W przeciwnym razie funkcje nie będą czekać na wejście użytkownika i przyjmują dane wejściowe z bufora.