Fundamentos de la función scanf () en la programación c

Video: Tutoriales C++ - #1 Primer programa | Cursos para Novatos | En Español

Para la entrada de determinados tipos de variables en el lenguaje de programación C, 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 el acaparamiento de valores.

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

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

Miedo, ¿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 la & 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 ("%re",&puntuación más alta)-

La declaración anterior 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",&temperatura)-

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

scanf ("%do",&llave)-

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

Video: Funcion Scanf y printf

scanf ("% s",nombre de pila)-

El marcador de posición% s se usa para leer en el texto, pero sólo hasta el primer carácter de espacio en blanco que se encuentre. Por lo que un espacio o un tabulador o la tecla Enter 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 formas 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, el carácter de conversión% s se utiliza - al igual que en printf (), pero con entrada en lugar de la producción.

Scanf () Traga una STRING

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

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

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 se creó vacía. Básicamente, la declaración en la línea 5 deja a un lado de 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 formación. El% s carácter de conversión dirige scanf () para buscar una cadena como entrada, al igual que% s es un marcador de posición para cadenas en printf ()’s de salida.

ejercicio 2: Modificar el código fuente de scanf () Traga una cadena de modo que una segunda cadena se declara para el apellido de la persona. Preguntar al usuario para su apellido, así, y a continuación, mostrar ambos nombres mediante el uso de una sola función printf ().

  • El número entre paréntesis (consulte 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 la variable de cadena, asegúrese de que usted lo crea de un tamaño lo suficientemente grande como para contener el texto. Que el tamaño debe ser el número máximo de caracteres más uno.

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

    No debe olvidarse de añadir espacio para que el personaje cuando se establece un lado para el almacenamiento de cadenas de entrada.

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 una INTEGER

#include int main () {int FAV-printf ("Cual es tu numero favorito: ") -scanf ("%re",&FAV) -printf ("% D es mi número favorito, también! N", Favorito) -Retorno (0) -}

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

ejercicio 3: Crear un proyecto, ex0714, utilizando el código fuente mostrado en la scanf () Come un entero. Generar y ejecutar. Pruebe el programa escribiendo varios valores enteros, positivos y negativos.

Tal vez usted se pregunta 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 está relacionado con los punteros. Un ampersand debe prefijar cualquier variable especificado en la función scanf (). La excepción es una matriz, tal como la matriz Nombre Char en scanf () Come un entero.

Pruebe a ejecutar el programa de nuevo, pero especificar un valor decimal, como por ejemplo 41,9, o escribir 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 caracte-% f, en ese caso.

Video: Uso de printf y scanf en c

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

  • No es necesario prefijar una variable de matriz de caracteres con un símbolo de unión en el Función- scanf () cuando utilice scanf () para leer en una cadena, basta con especificar el nombre de variable de cadena.

    Video: Curso de programación de PIC en C Uso de la función printf

  • 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.

Artículos Relacionados