Funciones de entrada y salidas basicas en lenguaje c putchar
Enviado por rotcehariahay • 5 de Marzo de 2013 • 2.004 Palabras (9 Páginas) • 453 Visitas
FUNCIONES DE ENTRADA Y SALIDAS BASICAS EN LENGUAJE C
PUTCHAR
La función putchar escribe un único carácter en la salida estándar. Su uso en sencillo y generalmente está implementada como una macro en la cabecera de la biblioteca estándar. Por ejemplo:
#include <stdio.h>
main()
{
putchar('H');
putchar('o');
putchar('l');
putchar('a');
putchar(32);
putchar('m');
putchar('u');
putchar('n');
putchar('d');
putchar('o');
putchar('\n');
}
El resultado es:
Hola mundo
En el código anterior putchar(32); muestra el espacio entre ambas palabras (32 es el código ASCII del carácter espacio ' ') y putchar('\n'); imprime un salto de línea tras el texto.
GETCHAR
La función getchar devuelve el carácter que se halle en la entrada estándar. Esta función tiene dos particularidades. La primera es que aunque se utiliza para obtener caracteres no devuelve un carácter, sino un entero. Esto se hace así ya que con un entero podemos representar tanto el conjunto de caracteres que cabe en el tipo carácter (normalmente el conjunto ASCII de caracteres) como el carácter EOF de fin de fichero. En UNIX es habitual representar los caracteres usando el código ASCII, tanto en su versión de 7 bits como en su versión ampliada a 8 bits. Estos caracteres se suelen representar como un entero que va del 0 al 127 o 256. El carácter EOF entonces es representado con un -1. Además esto también lo aplicaremos cuando leamos los ficheros binarios byte a byte. Un ejemplo:
#include <stdio.h>
main()
{
int c;
c = getchar(); /* Nótese que getchar() no devuelve nada
hasta que se presiona ENTER */
putchar(c);
}
Aquí se almacena en el entero c el carácter pulsado en el teclado. Posteriormente se muestra con putchar.
PRINTF: IMPRESIÓN EN PANTALLA
Para imprimir datos de un modo más general el C dispone de la función printf, que se ocupa de la impresión con formato en la salida estándar. Cuando se empieza con un nuevo lenguaje suele gustar el ver los resultados, ver que nuestro programa hace "algo". Por eso la mayor parte de programas de principiantes utilizan rápidamente la función printf, que sirve para sacar información por pantalla.
Para utilizar la función printf en nuestros programas debemos incluir la directiva:
#include <stdio.h>
al principio de programa, como se ha visto en el primer programa de la sección Estructura de un programa en C. Esto es porque esta función se halla definida en el archivo de cabecera stdio.h de la siguiente manera:
int printf ( const char *format [, argumentos, ...] );
Si sólo queremos imprimir una cadena basta con hacer:
printf( "Cadena" );
Esto dará como resultado en la pantalla:
Cadena
Lo que se ponga entre las comillas es lo que se observa en la pantalla.
Si volvemos a usar otro printf, por ejemplo:
#include <stdio.h>
main()
{
printf( "Cadena" );
printf( "Segunda" );
}
obtendremos:
CadenaSegunda
Este ejemplo nos muestra cómo funciona printf. Para escribir en la pantalla se usa un cursor que no vemos. Cuando escribimos algo el cursor va al final del texto. Cuando el texto llega al final de la fila, lo siguiente que pongamos irá a la fila siguiente. Si lo que queremos es sacar cada una en una línea deberemos usar "\n". Es el indicador de retorno de carro. Lo que hace es saltar el cursor de escritura a la línea siguiente:
#include <stdio.h>
main()
{
printf( "Cadena\n" );
printf( "Segunda" );
}
y tendremos:
Cadena
Segunda
También podemos poner más de una cadena dentro del printf:
printf( "Primera cadena" "Segunda cadena" );
Lo que no podemos hacer es inluir cosas entre las cadenas:
printf( "Primera cadena" texto en medio "Segunda cadena" );
Esto no es válido. Cuando el compilador intenta interpretar esta sentencia se encuentra "Primera cadena" y luego texto en medio, no sabe qué hacer con ello y da un error.
Pero, ¿qué pasa si queremos imprimir el símbolo " en pantalla? Por ejemplo imaginemos que queremos escribir: Esto es "extraño". Si para ello hacemos:
printf( "Esto es "extraño"" );
obtendremos unos cuantos errores. El problema es que el símbolo " se usa para indicar al compilador el comienzo o el final de una cadena. Así que en realidad le estaríamos dando la cadena "Esto es", luego extraño y luego otra cadena vacía "". La función printf no admite esto y de nuevo tenemos errores. La solución es usar \". Veamos:
printf( "Esto es \"extraño\"" );
Esta vez funcionará. Como vemos, la contrabarra '\' sirve para indicarle al compilador que escriba caracteres que de otra forma no podríamos. Pero, ¿y si lo que queremos es usar '\' como un carácter normal e imprimir, por ejemplo, Hola\Adiós?. La respuesta es volver a usar '\':
printf( "Hola\\Adiós" );
Esta doble '\' indica a C que queremos es mostrar una contrabarra.
SCANF: LECTURA DEL TECLADO
Algo muy usual en un programa es esperar que el usuario introduzca datos por el teclado. Para ello contamos con varias posibilidades: Usar las funciones de la biblioteca estándar, crear nuestras propias interrupciones de teclado (MS-DOS) o usar funciones de alguna biblioteca diferente. Vamos a estudiar la primera, usando las funciones de la biblioteca estándar.
Para utilizar la función scanf debemos incluir la directiva:
#include <stdio.h>
al principio del programa puesto que esta función se halla definida en el archivo de cabecera stdio.h de la siguiente manera:
int scanf ( const char *format [, direcciones, ...] );
Como se observa, el uso de scanf es muy similar al de printf con una diferencia fundamental: nos da la posibilidad de que el usuario introduzca datos en vez de mostrarlos. No nos permite mostrar texto en la pantalla; por eso, si queremos mostrar un mensaje previo, usamos un printf delante. Un ejemplo:
#include <stdio.h>
main()
...