Conceptos básicos de la función scanf () en la programación c

Para la entrada de determinados tipos de variables en el lenguaje de programación C, usted encontrará que la función scanf () viene muy bien. No es una función de entrada de propósito general, y tiene algunas limitaciones, pero es genial para probar código o valores de acaparamiento.

En cierto modo, se podría argumentar que scanf () es la versión de entrada de la función printf (). Por ejemplo, utiliza los mismos caracteres de conversión (el% de marcador de posición-cosas). Debido a eso, scanf () es bastante particular acerca de cómo de texto introducida. Este es el formato:

#include int scanf (const char * restringir formato, ...) -

Scary, ¿eh? Simplemente ignorarlo por ahora. Aquí hay una versión menos aterrador del formato:

scanf ("marcador de posición", variable) -

En esta versión, marcador de posición es un carácter de conversión, y variable es un tipo de variable que coincide con el carácter de conversión. A menos que sea una cadena (matriz de caracteres), la variable es prefijado por el operador.

La función scanf () es un prototipo en el archivo de cabecera stdio.h, por lo que debe incluir ese archivo cuando se utiliza la función.

Éstos son algunos scanf () ejemplos:

scanf ("% d", puntuación más alta) -

La declaración anterior se lee un valor entero en la variable puntuación más alta. Esto supone que puntuación más alta es una variable int.

scanf ("% f", la temperatura) -

Los scanf precedente () espera a la declaración de un valor de coma flotante a ser de entrada, que luego se almacena en el la temperatura variable.

scanf ("% c", la clave) -

En la línea anterior, scanf () acepta la primera entrada de caracteres y lo almacena en el llave variable.

scanf ("% s", apellido) -

El marcador de posición% s se utiliza para leer en el texto, pero sólo hasta que se encuentra el primer carácter de espacio en blanco. Así que un espacio o un tabulador o la tecla Intro termina la cadena. (Eso es una mierda.) Además, Nombre de pila es una matriz de caracteres, por lo que no necesita el operador en la función scanf ().

Cómo leer una cadena con scanf ()

Una de las maneras más comunes para poner la función scanf () para usar es leer en un fragmento de texto de la entrada estándar. Para cumplir con este fin, se utiliza el carácter de conversión% s - al igual que en printf (), pero con la entrada en lugar de la producción.

Scanf () TRAGOS UNA CADENA

#include int main () {char apellido [15] -printf ("Escriba su nombre:") -scanf ("% s", apellido) -printf (". Encantado de conocerte,% s n", apellido ) -Retorno (0) -}

Ejercicio 1: Escriba el código fuente scanf () Traga una cadena en un nuevo proyecto, ex0712, en Code :: Blocks. Genere y ejecute.

La línea 5 declara una matriz de caracteres - una variable de cadena - llamado Nombre de pila. El número entre paréntesis indica el tamaño de la matriz, o el número total de caracteres que se pueden almacenar allí. La matriz no se le asigna un valor, por lo que ha creado vacía. Básicamente, la declaración en la Línea 5 deja de lado el almacenamiento de hasta 15 caracteres.

La función scanf () en la línea 8 lee una cadena de la entrada estándar y lo almacena en el Nombre de pila array. El carácter de conversión% s dirige scanf () para buscar una cadena como entrada, al igual que% s es un marcador de posición para cuerdas en printf () 's de salida.

Ejercicio 2: Modificar el código fuente de scanf () Traga una cadena de modo que una segunda cadena se declaró por el apellido de la persona. Preguntar al usuario por su apellido y, a continuación, mostrar tanto los nombres utilizando una sola función printf ().

  • El número entre paréntesis (refiérase a la Línea 5) da el tamaño de la matriz de caracteres, o la longitud de la cadena, además de uno.

  • Cuando se crea una matriz de caracteres o variable de cadena, asegúrese de que usted lo crea de un tamaño lo suficientemente grande como para contener el texto. Que tamaño debe ser el número máximo de caracteres más uno.

  • La razón para el aumento del tamaño matriz de caracteres por uno es que todas las cadenas en C terminan con un carácter específico terminación. Es el carácter NULL, que se escribe como 0. El compilador agrega automáticamente el 0 hasta el final de los valores de cadena que se crea en su código fuente, así como el texto leído por varias funciones de texto de entrada.

    Usted debe recordar para agregar espacio para ese personaje cuando se establece un lado de almacenamiento para la entrada de cadena.

¿Cómo leer los valores con scanf ()

La función scanf () puede hacer más que leer cuerdas. Se puede leer en cualquier valor especificado por un carácter de conversión.

Scanf () COME UN ENTERO

#include int main () {int fav-printf ("¿Cuál es tu número favorito:") -scanf -printf ("% d", fav) ("!% d es mi número favorito, también n", fav) -Retorno (0) -}

En scanf () Come un entero, la función scanf () lee en un valor entero. Se utiliza el carácter de conversión% d, al igual que printf () - de hecho, se utiliza en la línea 9. Ese personaje dirige scanf () para buscar un valor int para la variable fav.

Ejercicio 3: Crear un proyecto, ex0714, utilizando el código fuente se muestra en scanf () Come un Integer. Genere y ejecute. Pruebe el programa escribiendo diversos valores enteros, positivos y negativos.

Tal vez usted se está preguntando acerca del signo () en la función scanf (). El personaje es un operador C - específicamente, el dirección de memoria operador. Es una de las características avanzadas de C que se relacionan con los punteros. Un signo debe preceder cualquier variable especificada en la función scanf (). La excepción es una matriz, como la matriz de caracteres apellido en scanf () Come un Integer.

Intente ejecutar el programa de nuevo, pero especificar un valor decimal, como 41.9 o escriba texto en lugar de un número.

La razón por la que se ve una salida incorrecta es que scanf () es muy específico. Se obtiene sólo el tipo variable especificada por el carácter de conversión. Así que si quieres un valor de punto flotante, debe especificar una variable float y use la conversión apropiada caracteriza% f, en ese caso.

Ejercicio 4: Modificar el código fuente de scanf () Come un entero para que se solicite un número de coma flotante, de entrada, y se muestra.

  • No es necesario prefijar una variable matriz de caracteres con un signo de la funcionalidad scanf () cuando utilice scanf () para leer en una cadena, simplemente especifique el nombre de variable de cadena.

  • La función scanf () deja de leer la introducción de texto en el primer carácter de espacio en blanco, espacio, tabulador o la tecla Intro.




» » » » Conceptos básicos de la función scanf () en la programación c