La función printf
wgcrTrabajo7 de Junio de 2013
707 Palabras (3 Páginas)290 Visitas
int printf(char *formato, lista_arg)
Descripción
La función printf() despliega en pantalla tanto cadenas constantes(mensajes) como variables deacuerdo al contenido de formato.
Con formato, se especifica la cadena constante y/o el tipo de variables quedesplegará en pantalla. Todo esto siempre vá entre comillas("") . Por ejemplo:
printf("Hola, como estas?");
printf("%s",nombre);
Con la primera instrucción, mandamos un mensaje a pantalla. En estecaso, no es necesario especificar algún formato ya que sólose despliega el mensaje. Es en el segundo ejemplo de printf() donde utilizamos formato para determinar el tipo de varaibles que van a ser desplegadas. En el caso anterior, determinamos que se va a escribir el contenido de nombre que es una variable de tipo cadena.
Veamos el formato que puede utilizarse para definir el contenido de cualquier varibale:
Código Formato
%c Un sólo caracter
%d Decimal
%i Decimal
%e Notación científica
%f Coma flotante
%g utiliza el más corto de %e o %f.
%o Octal
%s Cadena de caracteres
%u Decimal sin signo
%x Hexadecimal
%% Imprimir el símbolo %
%p Presentar un puntero
%n El argumento asociado será un puntero entero en el que se sitúa el
número de caracteres escritos hasta entonces.
También podemos desplegar en el monitor mensajes como el contenido de variables con el mismo comando printf() como en el ejemplo siguiente:
printf("Hola %s soy %s, tengo %i años."huesped,nombre,edad);
Si
huesped="visitante",
nombre="el supervisor"
edad=35
el resultado será el siguiente mensaje en pantalla:
<Hola visitante soy el supervisor, tengo 35 años>.
Se deben especificar en el mismo orden tanto el contenido de las variables a imprimir dentro de formato como las variables en sí.
La función printf() devuelve el número de caracteres realmente presentados en pantalla. Un valor negativo significa que se ha producido un error.
Se pueden escribir enteros entre el signo de porcentaje y el caracter que especifica el tipo de dato a presentar. Esto sirve para determinar la longitud del campo, el número de decimales y un indicador de justificación ala izquierda.
int scanf(char *formato,lista_arg)
Descripción
Esta función realiza la operación contraria a printf()es decir, leé datos de
cualquier tipo desde el teclado hasta que sepulse un retorno de carro(<ENTER>).
Sus parámetros también son similares a printf() ya que en formato se especifica el o los tipos de variables que se van a leer miemtras que en lista_arg se escriben las variables. Por ejemplo:
scanf("%d",&edad);
scanf("%i%c",&edad,&sexo);
La sección de formato corresponde a "%d" donde se indica que se va a leer un entero decimal; &edad corresponde a lista_arg e indica que los caracteres leídos serán almacenados en la dirección que ocupa la variable edad.
La diferencia entre la sintaxis de scanf() y printf() consiste en que en la lista de argumentos, scanf() necesita que se le especifique el lugar donde vá a almacenar los datos es en la direcciónde la variable( &edad). La única excepción es cuando se vá a leer una cadena de caracteres ya que este tipo de variables indican una dirección por si mismas. Ejemplo:
char nombre[10];
scanf("%s", nombre);
A continuación se presentan los códigos de formato de scanf().
Código Interpretación
%c Leer un único caracter
%d Leer un entero decimal
%i Leer un entero decimal
%e Leer un
...