Espere la entrada del usuario C Lenguaje

Espere la entrada del usuario C Lenguaje
En el lenguaje de programación C hay algunas funciones de entrada. Usando estas funciones, podemos esperar la entrada del usuario. En este tutorial vamos a discutir las funciones de entrada en detalles.

Formato de cadena

La cadena de formato es el formato para los datos ingresados. Este formato comienza con % de signo y seguido de un especificador de formato. El especificador de formato es un carácter específico que se utiliza para el cual se leen el tipo de datos.

Arg1, Arg2, Arg3 ... son las direcciones de las variables donde se almacenarán los datos ingresados.

función scanf ()

Sintaxis: int scanf ("cadena de formato", arg1, arg2, arg3 ...)

Algunos de los especificadores utilizados frecuentemente son los siguientes:

  • d - Utilizado para valores enteros.
  • F - Utilizado para el número flotante.
  • C - Utilizado para el valor de un solo carácter.
  • s - Utilizado para cuerdas.

Usando una sola scanf () función, se puede tomar una entrada múltiple del usuario.

El scanf () La función toma la entrada de la entrada estándar (teclado) y almacene el valor en una variable. La función espera la entrada del usuario hasta que el usuario presione la tecla ENTER. El valor ingresado se almacena en un búfer. Cuando se presiona la tecla ENTER, scanf () la función comienza a leer.

Ejemplo 1: Entrada entera

//Ejemplo 1.C
#incluir
int main ()
int i;
printf ("Ingrese el 1er valor entero:");
scanf ("%d", & i);
printf ("usted ingresó: %d \ n", i);
printf ("Ingrese el 2do valor entero:");
scanf ("%d", & i);
printf ("usted ingresó: %d \ n", i);
regresar 0;

En el ejemplo1.C, hemos visto que cuando ingresamos los valores enteros y presionamos la tecla ENTER. El scanf () la función toma el valor y lo almacenó en la variable. Si ingresamos los valores separados por el espacio, la función regresa cuando se encuentra espacio, pero los valores después del espacio permanecen en el búfer de entrada. Por eso el segundo scanf () la función no esperará la entrada del usuario, sino que toma la entrada del búfer.

Ejemplo 2: entrada de un solo personaje

// Ejemplo2.C
#incluir
int main ()
char c;
printf ("Ingrese un personaje:");
scanf ("%c", & c);
printf ("usted ingresó: %c \ n", c);
regresar 0;

En el ejemplo2.C, hemos visto que cuando usamos %C especificador, el scanf () la función toma solo un personaje incluso si hemos ingresado más de un personaje.

Ejemplo 3: entrada de un solo carácter (varias veces)

// Ejemplo3.C
#incluir
int main ()
char c;
printf ("Ingrese el primer carácter:");
scanf ("%c", & c);
printf ("usted ingresó: %c \ n", c);
printf ("Ingrese el segundo carácter:");
scanf ("%c", & c);
printf ("usted ingresó: %c \ n", c);
regresar 0;

Ejemplo 4:

// Ejemplo4.C
#incluir
int main ()
char c;
printf ("Ingrese el primer carácter:");
scanf ("%c", & c);
printf ("usted ingresó: %c \ n", c);
printf ("Ingrese el segundo carácter:");
scanf (" %c", & c);
printf ("usted ingresó: %c \ n", c);
regresar 0;

Ejemplo 5: entrada de cadena

// Ejemplo5.C
#incluir
int main ()
nombre de char [15];
printf ("Ingrese su nombre:");
scanf ("%s", nombre);
printf ("usted ingresó: %s \ n", nombre);
regresar 0;

función getc ()

Sintaxis: int getc (archivo *stream)

getc () La función se usa para leer un personaje del puntero del archivo (transmisión). Para leer desde el teclado, tenemos que usar stdin. Esta función devuelve un valor entero del carácter de lectura.

Ejemplo 6:

// Ejemplo6.C
#incluir
int main ()
char c;
printf ("Ingrese el primer carácter:");
while ((c = getc (stdin)) == '\ n');
printf ("usted ingresó: %c \ n", c);
Mientras (GetC (Stdin)!= '\ n');
printf ("Ingrese el segundo carácter:");
while ((c = getc (stdin)) == '\ n');
printf ("usted ingresó: %c \ n", c);
regresar 0;

función getchar ()

Sintaxis: int getchar (nulo)

getchar () la función es la misma que getc (). La única diferencia es que getc () la función puede leer desde cualquier flujo de entrada, mientras que getchar () La función solo se lee en entrada estándar.

Ejemplo 7:

// Ejemplo7.C
#incluir
int main ()
char c;
printf ("Ingrese el primer carácter:");
while ((c = getchar ()) == '\ n');
printf ("usted ingresó: %c \ n", c);
mientras (getchar ()!= '\ n');
printf ("Ingrese el segundo carácter:");
while ((c = getchar ()) == '\ n');
printf ("usted ingresó: %c \ n", c);
regresar 0;

Conclusión

En este artículo, hemos visto cómo las funciones de entrada se usan en el lenguaje C. Todas estas funciones se toman de entrada del búfer de entrada y cuando usamos estas funciones varias veces, tenemos que borrar el búfer. De lo contrario, las funciones no esperarán la entrada del usuario y tomarán la entrada del búfer.