Ads 468x60px

Perfil

lunes, 17 de octubre de 2011

Entrada y salida de datos

  • Función printf
  • Función scanf

3.1 Salida por pantalla: printf


La función printf se utiliza según este formato:

         printf ( “cadena de formato”, arg1, arg2, ... argN );
 
En la cadena de formato aparecen:
  • el texto que se desea imprimir
  • caracteres especiales secuencias de escape
  • indicaciones del formato de los argumentos

Los argumentos son expresiones cualesquiera.
Para usar printf, hay que escribir al principio del programa la directiva
#include <stdio.h>


3.2 Formatos de printf (básico)


%d Entero decimal
%u Entero decimal con signo
%x Entero hexadecimal
%c Carácter
%f Coma flotante ( float)
%lf Coma flotante ( double)

 Ejemplos:

         int una = 1234;
         char otra = ‘h’;
         main()
         {
                  printf( “una vale %d; otra vale %c\n”,
                                   una, otra );
         }


Secuencias de escape


\n Salto de línea
\t Tabulación
\a Sonido

3.3 Formatos de printf (avanzado)


Se puede modificar el formato de salida, indicando cuantos decimales llevará el número, si se rellena de ceros por la izquierda, etc.

La estructura (casi) completa de un formato de printf es




% 0- dígitos . precisión tipo


Formato
Significado
%5d
Entero decimal alineado a la izquierda, ocupando cinco espacios
%04u
Entero sin signo ocupando cuatro espacios, y rellenando de ceros a la izquierda si hace falta
%.2lf
Número real (doble precisión) con dos y sólo dos decimales
%5.3d
Entero ocupando cinco espacios; aparecen tres cifras como mínimo (se rellena de ceros)

3.4 Entrada de datos: scanf


Se pueden recoger datos desde el teclado con la función scanf.
Sintaxis:

scanf ( formato, & arg1, & arg2, ... );

En formato se especifica qué tipo de datos se quieren leer. Se utiliza la misma descripción de formato que en printf. También hay que incluir la cabecera <stdio.h>

Ejemplo:

         int x,y;
         ...
         scanf ( “%d %d”, &x, &y );


Notas:


Si no se anteponen los ampersands (&), el resultado puede ser desastroso.
En scanf sólo van descripciones de formato, nunca texto normal. Si se quiere escribir antes un texto, hay que utilizar printf.

0 comentarios: