Aguarde a entrada do usuário C Language

Aguarde a entrada do usuário C Language
Na linguagem de programação C, existem algumas funções de entrada. Usando essas funções, podemos esperar pela entrada do usuário. Neste tutorial, discutiremos as funções de entrada em detalhes.

String de formato

String de formato é o formato para dados inseridos. Este formato começa com % de sinal e seguido pelo especificador de formato. O especificador de formato é um caractere específico que é usado para o que o tipo de dados está sendo lido.

arg1, arg2, arg3 ... são os endereços das variáveis ​​onde os dados inseridos serão armazenados.

função scanf ()

Sintaxe: int scanf ("formato string", arg1, arg2, arg3 ...)

Alguns dos especificadores freqüentemente usados ​​são os seguintes:

  • d - Usado para valores inteiros.
  • f - Usado para número flutuante.
  • c - Usado para o valor de um único caractere.
  • s - Usado para cordas.

Usando único scanf () função, uma ou múltiplas entradas podem ser obtidas do usuário.

O scanf () A função pega a entrada da entrada padrão (teclado) e armazenam o valor em uma variável. A função aguarda a entrada do usuário até que o usuário pressione a tecla Enter. O valor inserido está sendo armazenado em um buffer. Quando a tecla enter está sendo pressionada, scanf () função começa a ler.

Exemplo 1: Entrada inteira

//Exemplo 1.c
#incluir
int main ()
int i;
printf ("Digite o 1º valor inteiro:");
scanf ("%d", & i);
printf ("Você entrou: %d \ n", i);
printf ("Digite o 2º valor inteiro:");
scanf ("%d", & i);
printf ("Você entrou: %d \ n", i);
retornar 0;

No exemplo1.C, vimos que quando entramos valores inteiros e pressionamos a tecla Enter. O scanf () A função pega o valor e o armazenou na variável. Se entrarmos nos valores separados pelo espaço, a função retorna quando o espaço é encontrado, mas os valores após o espaço permanecerá no buffer de entrada. É por isso que o segundo scanf () A função não esperará pela entrada do usuário, em vez disso, retira a entrada do buffer.

Exemplo 2: entrada de caractere único

// Exemplo2.c
#incluir
int main ()
char c;
printf ("Digite um personagem:");
scanf ("%c", & c);
printf ("Você entrou: %c \ n", c);
retornar 0;

No exemplo2.C, vimos isso quando usamos %c especificador, o scanf () A função leva apenas um personagem, mesmo que tenhamos entrado em mais de um personagem.

Exemplo 3: entrada de caractere único (várias vezes)

// Exemplo3.c
#incluir
int main ()
char c;
printf ("Digite o 1º caractere:");
scanf ("%c", & c);
printf ("Você entrou: %c \ n", c);
printf ("Digite o segundo caractere:");
scanf ("%c", & c);
printf ("Você entrou: %c \ n", c);
retornar 0;

Exemplo 4:

// Exemplo4.c
#incluir
int main ()
char c;
printf ("Digite o 1º caractere:");
scanf ("%c", & c);
printf ("Você entrou: %c \ n", c);
printf ("Digite o segundo caractere:");
scanf (" %c", & c);
printf ("Você entrou: %c \ n", c);
retornar 0;

Exemplo 5: entrada da string

// Exemplo5.c
#incluir
int main ()
nome de char [15];
printf ("Digite seu nome:");
scanf ("%s", nome);
printf ("Você entrou: %s \ n", nome);
retornar 0;

função getc ()

Sintaxe: int getc (fluxo *stream)

getc () A função é usada para ler um personagem do ponteiro do arquivo (stream). Para ler do teclado, temos que usar stdin. Esta função retorna um valor inteiro do personagem de leitura.

Exemplo 6:

// Exemplo6.c
#incluir
int main ()
char c;
printf ("Digite o 1º caractere:");
while ((c = getc (stdin)) == '\ n');
printf ("Você entrou: %c \ n", c);
enquanto (getc (stdin)!= '\ n');
printf ("Digite o segundo caractere:");
while ((c = getc (stdin)) == '\ n');
printf ("Você entrou: %c \ n", c);
retornar 0;

função getchar ()

Sintaxe: int getchar (vazio)

getchar () função é a mesma que getc (). A única diferença é que getc () A função pode ler em qualquer fluxo de entrada, enquanto getchar () Função lê apenas da entrada padrão.

Exemplo 7:

// Exemplo7.c
#incluir
int main ()
char c;
printf ("Digite o 1º caractere:");
while ((c = getChar ()) == '\ n');
printf ("Você entrou: %c \ n", c);
enquanto (getchar ()!= '\ n');
printf ("Digite o segundo caractere:");
while ((c = getChar ()) == '\ n');
printf ("Você entrou: %c \ n", c);
retornar 0;

Conclusão

Neste artigo, vimos como as funções de entrada são usadas na linguagem C. Todas essas funções são obtidas de entrada do buffer de entrada e, quando usamos essas funções várias vezes, precisamos limpar o buffer. Caso contrário, as funções não esperarão pela entrada do usuário e retiram a entrada do buffer.