Изчакайте потребителското въвеждане: C език

Wait User Input C Language



В езика за програмиране на C има някои входни функции. Използвайки тези функции, можем да изчакаме въвеждането от потребителя. В този урок ще обсъдим подробно входните функции.

Низ за форматиране

Формат низ е форматът за въведени данни. Този формат започва със знак % и последван от спецификатор на формат. Спецификаторът на формат е специфичен символ, който се използва за кой тип данни се четат.







arg1, arg2, arg3… са адресите на променливите, където ще се съхраняват въведените данни.



функция scanf ()

Синтаксис: int scanf (формат низ, arg1, arg2, arg3 ...)



Някои от често използваните спецификатори са както следва:





  • д - Използва се за цели числа.
  • е - Използва се за плаващ номер.
  • ° С - Използва се за единична стойност.
  • с - Използва се за струни.

Използване на сингъл scanf () функция, един или множество въвеждане могат да бъдат взети от потребителя.

The scanf () функцията приема вход от стандартния вход (клавиатура) и съхранява стойността в променлива. Функцията изчаква въвеждането от потребителя, докато потребителят не натисне клавиша за въвеждане. Въведената стойност се съхранява в буфер. При натискане на клавиша за въвеждане, scanf () функцията започва да чете.



Пример 1: Целочислено въвеждане

// Пример1.c
#включва

intглавен(){

inti;
printf ('Въведете 1 -ва цяло число:');
scanf ('%д', &i);
printf („Влязохте: %dн',Аз);

printf ('Въведете 2 -ра цяло числова стойност:');
scanf ('%д', &i);
printf („Влязохте: %dн',Аз);

връщане 0;
}

В Пример 1.c видяхме, че когато въвеждаме цели числа и натискаме клавиша enter. The scanf () функция приема стойността и я съхранява в променливата. Ако въведем стойностите, разделени с интервал, функцията се връща, когато се срещне пространство, но стойностите след интервала остават във входния буфер. Ето защо вторият scanf () функцията няма да изчака въвеждането от потребителя, вместо това приема въвеждането от буфера.

Пример 2: Въвеждане на един символ

// Пример2.в
#включва

intглавен(){

char° С;
printf ('Въведете знак:');
scanf ('% ° С', &° С);
printf („Влязохте: %cн',° С);

връщане 0;
}

В Пример 2.в видяхме това, когато използваме % ° С спецификатор, scanf () функцията отнема само един знак, дори ако сме въвели повече от един знак.

Пример 3: Въвеждане на един символ (няколко пъти)

// Пример3.в
#включва

intглавен(){

char° С;
printf ('Въведете 1 -ви знак:');
scanf ('% ° С', &° С);
printf („Влязохте: %cн',° С);

printf ('Въведете 2 -ри знак:');
scanf ('% ° С', &° С);
printf („Влязохте: %cн',° С);

връщане 0;
}

Пример 4 :

// Пример4.c
#включва

intглавен(){

char° С;
printf ('Въведете 1 -ви знак:');
scanf ('% ° С', &° С);
printf („Влязохте: %cн',° С);

printf ('Въведете 2 -ри знак:');
scanf ('% ° С', &° С);
printf („Влязохте: %cн',° С);

връщане 0;
}

Пример 5: Въвеждане на низ

// Пример5.c
#включва

intглавен(){

charиме[петнадесет];
printf ('Въведете вашето име: ');
scanf ('%с',име);
printf („Влязохте: %sн',име);

връщане 0;
}

функция getc ()

Синтаксис: int getc (FILE *поток)

getc () функцията се използва за четене на знак от показалеца FILE (поток). За да четем от клавиатурата, трябва да използваме stdin . Тази функция връща цяло число на четения знак.

Пример 6:

// Пример 6.c
#включва

intглавен(){

char° С;
printf ('Въведете 1 -ви знак:');
докато((° С= getc (stdin))=='н');
printf („Влязохте: %cн',° С);

докато( getc (stdin)! ='н');

printf ('Въведете 2 -ри знак:');
докато((° С= getc (stdin))=='н');
printf („Влязохте: %cн',° С);

връщане 0;
}

функция getchar ()

Синтаксис: int getchar (невалидно)

getchar () функцията е същата като getc () . Единствената разлика е, че getc () функцията може да чете от всеки входен поток, докато getchar () функцията чете само от стандартен вход.

Пример 7:

// Пример 7.c
#включва

intглавен(){

char° С;
printf ('Въведете 1 -ви знак:');
докато((° С= getchar ())=='н');
printf („Влязохте: %cн',° С);

докато( getchar ()! ='н');

printf ('Въведете 2 -ри знак:');
докато((° С= getchar ())=='н');
printf („Влязохте: %cн',° С);

връщане 0;
}

Заключение

В тази статия видяхме как функциите за въвеждане се използват на език C. Всички тези функции се приемат от входния буфер и когато използваме тези функции многократно, трябва да изчистим буфера. В противен случай функциите няма да чакат въвеждането от потребителя и ще приемат въвеждането от буфера.