[Previous] [Up] [Next]
Go backward to El Preprocesador
Go up to Top
Go forward to Usos de getchar() y putchar()

Usos de printf() y scanf()

La funcion PRINTF() se usa para la salida; en forma similar, la funcion SCANF() se usa para la entrada. En sentido tecnico, estas funciones no son parte del lenguaje C, sino del sistema C; residen en una biblioteca estandar y estan disponibles para usarlas donde quiera que haya un sistema C. Ambas funciones tienen una lista de parametros con dos partes:

        string_de_control    y     lista_de_argumentos
La primera es un string y puede contener especificaciones de conversion o formatos. Una especificacion de conversion se inicia con un caracter % y termina con un caracter de conversion; por ejemplo, en el formato %d la letra d es el caracter de conversion y permite imprimir el valor de una expresion como un entero decimal. Para imprimir las letras ABC en la pantalla, podria usarse la proposicion
        printf("ABC");
Otra manera de hacer esto es mediante la proposicion
        printf("%s", "ABC");
El formato %s hace que el argumento "ABC" se imprima en el formato de un string de caracteres. Esto mismo puede realizarse tambien con la proposicion
        printf("%c%c%c", 'A', 'B', 'C');
Los apostrofos que encierran cada letra se emplean para designar constantes de caracteres; de acuerdo con esto, `A` es la constante de caracter que corresponde a la letra A mayuscula. El formato %c imprime el valor de una expresion como un caracter. Por ejemplo
        char c1, c2, c3;
 
        c1 = 'A';
        c2 = 'B';
        c3 = 'C';
        printf("%c%c%c", c1, c2, c3);
imprimira de nuevo las letras ABC en la pantalla.

Ahora veamos los caracteres de conversion:

        c   caracter
        d   decimal
        e   número de punto flotante en notación científica
        f   número de punto flotante
        g   en el formato-e o el formato-f, el que sea más corto
        s   string
La funcion scanf() es analoga a la funcion printf(), pero se usa para la entrada. Su primer argumento es un string de control con formatos que corresponden a las diferentes formas en que pueden interpretarse los caracteres en la entrada como valores para los diferentes tipos de variables. La lista de argumentos esta formada por DIRECCIONES de variables. El simbolo & representa al operador de direccion; por ejemplo, la proposicion
        scanf("%d", &x);
contiene el formato %d, el cual provoca que scanf() interprete los caracteres de entrada como un entero decimal y que coloque el valor en la direccion x. La funcion scanf() puede usarse para convertir cadenas de digitos decimales en valores enteros y almacenarlos en el lugar apropiado.

Ahora veamos los caracteres de conversion:

        c   caracter
        d   decimal
        f   número de punto flotante (float)
       lf   numero de punto flotante (double)
        s   cadena de caracteres (string)
Veamos un ejemplo.
        #include <stdio.h> /* Estándar Input/Output */
 
        main() {
            int    x;
            char   c;
            float  y;
            double z;
 
            printf("\nIngrese un caracter : ");
            scanf("%c", &c);
            printf("\nIngrese un int : ");
            scanf("%d", &x);
            printf("\nIngrese un float : ");
            scanf("%f", &y);
            printf("\nIngrese un double : ");
            scanf("%lf", &z);
            printf("\n\nLos datos que ud. ingreso fueron :\n");
            printf("%c  %d  %e  %e\n\n", c, x, y, z);
         }

spy@inf.utfsm.cl

[Previous] [Up] [Next]