BIBLIOTECA ESTÁNDAR DE C
     Archivo de Cabecera <stdio.h>


            Función scanf()
Índice de contenido
Función scanf....................................................................................................................................3
  Sintaxis:........................................................................................................................................3
  Ejemplo 1: Leer un entero desde la entrada estándar..................................................................3
  Ejemplo 2: Leer un carácter desde la entrada estándar................................................................4
  Ejemplo 3: Múltiples entradas de datos.......................................................................................4
  Ejemplo 4: Ingresar datos de usuario a todo un arreglo...............................................................5
  Ejercicios......................................................................................................................................6




Función scanf()
La función  scanf  lee un dato desde la entrada estándar (usualmente el teclado), y lo 
almacena de acuerdo a las instrucciones dadas en los parámetros de llamada de la 
función.  Hace   parte   de   la   biblioteca   estándar   de   C,   empaquetada   en   el   archivo   de 
cabecera stdio.h.


Sintaxis:
                                             scanf(“cadena”,parametro)
Donde:
cadena: una cadena de texto con las especificaciones de formato. Inicia con el símbolo
%.   El   formato   más   simple,   solo   define   el   tipo   de   dato   que   se   desea   leer   desde   la 
entrada estándar:


             %d                                               Número positivo o negativo
             %c                                                      Un carácter (letra)
             %s                                                           Una cadena
             %f                                                Un número con decimales
             %e                                Un número en notación científica
                                   Tabla: comodines usados en la función scanf()


parámetro:  instrucciones  de   donde   guardan   los  datos  leídos.  Usualmente   los  datos 
recogidos por la función scanf se guardan en la dirección de alguna variable.


Ejemplo 1: Leer un entero desde la entrada estándar
Y guardar el valor leído en una variable previamente declarada.
#include<stdio.h>

             main()
             {
               int a;

                 scanf("%d",&a);
                 printf("%d",a);
             }



La llamada a la función scanf se traduciría como:
“Lea un entero desde la entrada estándar y guárdelo en la dirección de memoria 
asignada a la variable a”.


Ejemplo 2: Leer un carácter desde la entrada estándar
Cuando solo se desea leer un carácter desde el teclado se utiliza el comodín %s:




             #include<stdio.h>

             main()
             {
               char a;

                 /*Utilizar el comodin %s*/
                 scanf("%s",&a);
                 printf("%c",a);
             }




Ejemplo 3: Múltiples entradas de datos
La función scanf() permite que se ingresen varios datos utilizando una sola instrucción. 
El usuario puede ingresar dato por dato o todos los datos de una sola vez separándolos 
por espacio.


             #include<stdio.h>
main()
           {
             char a;
             int b;
             float c;
             printf("Ingrese los datos:n");
             scanf("%c %d %f ",&a, &b,&c);

               printf("Los datos ingresados son:n");
               printf("%c %d %f",a,b,c);
           }



Salida: 




           Ingrese los datos:
           s 2 3.14
           Los datos ingresado son:
           2 2 3.14



Ejemplo 4: Ingresar datos de usuario a todo un arreglo


           #include <stdio.h>

           main()
           {
             int miArreglo[5];
             int i;

               for(i=0;i<5;i++){
                  printf("Ingrese elemento [%d]:",i);
                  scanf("%c %d %f ",&miArreglo[i]);

               }
           }
Importante

scanf requiere que las variables donde se van a 
alamcenar los datos de entrada vayan precedidas por &.

printf solo requiere el nombre de la variable.

En este contexto & significa "la dirección de memoria de la 
variable". No confundir con el operador AND
Copyright Grupo de Trabajo Académico GNU/Linux 
Universidad Distrital Francisco José de Caldas

Este  documento  está  publicado  bajo  una  licencia 
Creative  Commons:  Reconocimiento  –  Compartir  bajo 
la misma licencia 2,5, Colombia. Esto le permite copiar 
y  comunicar  públicamente  la  obra  y  crear  copias 
derivadas  (incluso  con  fines  comerciales),  siempre  y 
cuando reconozca el crédito al autor y divulge cualquier 
obra  derivada  bajo  los  términos  de  la  misma  licencia. 
Puede leer la licencia en:
 http://creativecommons.org/licences/by­sa/2.5/co/

Funcion scanf

  • 1.
    BIBLIOTECA ESTÁNDAR DE C Archivo de Cabecera <stdio.h> Función scanf()
  • 2.
    Índice de contenido Funciónscanf....................................................................................................................................3 Sintaxis:........................................................................................................................................3 Ejemplo 1: Leer un entero desde la entrada estándar..................................................................3 Ejemplo 2: Leer un carácter desde la entrada estándar................................................................4 Ejemplo 3: Múltiples entradas de datos.......................................................................................4 Ejemplo 4: Ingresar datos de usuario a todo un arreglo...............................................................5 Ejercicios......................................................................................................................................6 Función scanf() La función  scanf  lee un dato desde la entrada estándar (usualmente el teclado), y lo  almacena de acuerdo a las instrucciones dadas en los parámetros de llamada de la  función.  Hace   parte   de   la   biblioteca   estándar   de   C,   empaquetada   en   el   archivo   de  cabecera stdio.h. Sintaxis: scanf(“cadena”,parametro) Donde: cadena: una cadena de texto con las especificaciones de formato. Inicia con el símbolo %.   El   formato   más   simple,   solo   define   el   tipo   de   dato   que   se   desea   leer   desde   la  entrada estándar: %d Número positivo o negativo %c Un carácter (letra) %s Una cadena %f Un número con decimales %e Un número en notación científica Tabla: comodines usados en la función scanf() parámetro:  instrucciones  de   donde   guardan   los  datos  leídos.  Usualmente   los  datos  recogidos por la función scanf se guardan en la dirección de alguna variable. Ejemplo 1: Leer un entero desde la entrada estándar Y guardar el valor leído en una variable previamente declarada.
  • 3.
    #include<stdio.h> main() { int a; scanf("%d",&a);     printf("%d",a); } La llamada a la función scanf se traduciría como: “Lea un entero desde la entrada estándar y guárdelo en la dirección de memoria  asignada a la variable a”. Ejemplo 2: Leer un carácter desde la entrada estándar Cuando solo se desea leer un carácter desde el teclado se utiliza el comodín %s: #include<stdio.h> main() { char a; /*Utilizar el comodin %s*/ scanf("%s",&a);     printf("%c",a); } Ejemplo 3: Múltiples entradas de datos La función scanf() permite que se ingresen varios datos utilizando una sola instrucción.  El usuario puede ingresar dato por dato o todos los datos de una sola vez separándolos  por espacio. #include<stdio.h>
  • 4.
    main() { char a; int b; float c; printf("Ingrese los datos:n"); scanf("%c %d %f ",&a, &b,&c); printf("Los datos ingresados son:n");     printf("%c %d %f",a,b,c); } Salida:  Ingrese los datos: s 2 3.14 Los datos ingresado son: 2 2 3.14 Ejemplo 4: Ingresar datos de usuario a todo un arreglo #include <stdio.h> main() { int miArreglo[5]; int i; for(i=0;i<5;i++){ printf("Ingrese elemento [%d]:",i); scanf("%c %d %f ",&miArreglo[i]); } }
  • 5.
  • 6.
    Copyright Grupo de Trabajo Académico GNU/Linux  Universidad Distrital Francisco José de Caldas Este  documento  está publicado  bajo  una  licencia  Creative  Commons:  Reconocimiento  –  Compartir  bajo  la misma licencia 2,5, Colombia. Esto le permite copiar  y  comunicar  públicamente  la  obra  y  crear  copias  derivadas  (incluso  con  fines  comerciales),  siempre  y  cuando reconozca el crédito al autor y divulge cualquier  obra  derivada  bajo  los  términos  de  la  misma  licencia.  Puede leer la licencia en:  http://creativecommons.org/licences/by­sa/2.5/co/