Resumen
Resumen
Resumen
En lenguaje C existe E/S por consola y por archivo, ya que son mundos
conceptualmente diferentes, pero técnicamente el lenguaje C hace poca distinción entre
la E/S por consola y la E/S por archivo.
Las funciones de E/S por consola son aquellas que controlan la entrada por teclado y la
salida a través de pantalla, que es la E/S estándar del sistema; aunque la E/S estándar
puede ser dirigida a otros dispositivos. En general, cualquier función para ser usada en
el programa, debe ser declarada como tal mediante el "prototipo de función".
SALIDA: printf ()
SALIDA CON FORMATO: Se llama salida con formato porque se especifica el tipo de
dato de las constantes, variables o expresiones a imprimirse, y en qué forma deben
mostrarse. Entonces, la impresión de una variable depende del tipo de dato del que se
trate para mostrar.
Si un "especificador de formato" no tiene argumento, el resultado, en el mejor de los
casos, se obtendrá datos sin sentido en la respectiva salida.
La función printf() retorna el número de caracteres escritos en la salida, o bien un valor
negativo si se produce un error.
CÓDIG FORMATO
O
%c Caracter
%d Entero decimal con signo
%i Entero decimal con signo
Punto flotante en notación científica (doble longitud,
%e
imprime e minúscula)
Punto flotante en notación científica (doble longitud,
%E
imprime E mayúscula)
%f Punto flotante en notación decimal
%g Usa %e o %f, el más corto (imprime e)
%G Usa %E o %f, el más corto (imprime E)
%o Entero octal sin signo
%s Cadena de caracteres
%u Entero decimal sin signo
Entero hexadecimal sin signo (imprime letras
%x minúsculas)
Entero hexadecimal sin signo (imprime letras
%X mayúsculas)
%p Mostrar un puntero
El argumento asociado es un puntero a entero al que
%n se asigna el número de caracteres escritos hasta que
aparezca %n.
%% Imprimir el caracter %
x.ddddddE±yy
int cuenta;
printf ("El %nejemplo es demostrativo.\n", &cuenta); printf("%d", cuenta);
MODIFICADORES DE FORMATO
Los modificadores se agregan a los especificadores para modificar su salida, con el
objeto de alterar su significado, así: se puede especificar la longitud mínima de un
campo, el número de decimales y la justificación por la izquierda.
Los modificadores de formato se colocan entre el símbolo ' %' y "código de formato".
Entero, es el que determina el número de dígitos que aparecerán por cada número a
imprimir. Para alcanzar el número requerido de dígitos se añaden ceros por delante.
3.- Ajuste a la salida. Por omisión, todas las salidas están ajustadas a la derecha de la
longitud de campo si esta longitud es mayor que el dato a imprimir, y si es menor, no
toma en cuenta la longitud de campo. Por ejemplo:
Imprimirá:
3 4 1 . 5 7
4.- Modificadores l y h. Los modificadores de formato l y h se aplican a
especificadores de formato d, i, o, u y x. Por ejemplo:
Por ejemplo:
int i = 10, j = 4;
Con esta función se tendrá una longitud mínima de campo de 10, una precisión de 4, y
el dato que se imprime es:
1 2 3 . 3 0 0 0
NOTA: Si se utiliza más de un modificador en el mismo sitio, el orden en que deberán ir
será el siguiente: ajuste de salida, especificador de longitud mínima de campo,
especificador de precisión, y modificadores de formato l y h.
ENTRADA: scanf ()
a) Especificadores de formato
Los especificadores de formato de entrada van precedidos por el caracter '%', e
indican a scanf() que tipo de dato se va a leer a continuación. Los especificadores de
formato se asocian de izquierda a derecha con los argumentos de la lista_argumentos.
Todas las variables que se utilizan para recibir valores a través de scanf() se deben pasar
por sus direcciones, esto significa que todos los argumentos de scanf() deben ser
punteros a las variables que reciben los valores.
MODIFICADORES DE FORMATO
Por ejemplo, para leer hasta 20 caracteres en una cadena puede procederse así:
ELIMINACIÓN E ENTRADAS:
Se puede indicar a scanf() que lea un "campo" sin asignarlo a una variable. Esto se hace
precediendo el código de formato de ese campo con el caracter '*'. Por ejemplo, si en la
siguiente sentencia:
se ingresa:
10, 10 <ENTER>
La función gets() lee una cadena de caracteres introducida por teclado, hasta
que se pulse un retorno de carro o una marca EOF (ctrl Z), y la almacena en la
dirección apuntada por su argumento de tipo puntero a caracter. El caracter de
salto de línea no forma parte de la cadena, éste se transforma en un caracter
nulo ('\0') para indicar el final de la cadena. Luego de realizar la entrada de la
cadena, el cursor se posiciona en el inicio de la siguiente línea.
donde:
-‐cadena, es un arreglo de caracteres.
No hay límite al número de caracteres que leerá gets(), por lo tanto, debe
asegurarse de que el arreglo apuntado por cadena no supere sus límites.
Por ejemplo:
/* PROG0303.C*/
/* Leer un nombre con la función gets (). */
#include <stdio.h>
void main ()
{
char nombre[81]; char *ptr;
printf ("¿Hola, cómo te llamas?\n");
ptr = gets (nombre);
SALIDA: pust ()