En este tema aprenderemos como podemos obtener los datos de entrada desde el teclado y también como poder visualizar en pantalla los datos de salida. En c hay muchas funciones que requieren bibliotecas que nos facilitan el manejo de entradas y salidas en la pantalla de los datos.
Se entiende por entrada, a la forma de cómo alimentar un programa introduciendo datos. Una entrada se puede dar en forma de un archivo o desde la línea de comandos. El lenguaje c proporciona un conjunto de funciones incorporadas para leer la entrada dada y alimentar al programa según se requiera.
Se entiende por salida, a la forma de cómo mostrar datos. Una salida se puede mostrar en pantalla, impresora o en cualquier archivo. El lenguaje c proporciona un conjunto de funciones incorporadas para dar salida a los datos en la pantalla del ordenador, así como para guardarlo en texto o archivos binarios.
En lenguaje c existen numerosas funciones de bibliotecas de entrada y salida. Funciones printf() y scanf () son los más habitualmente utilizado para mostrar e introducir datos que se introducen de forma particular, como el siguiente caso:
#include <stdio.h>
int main()
{
printf("mostrar mensaje");
return 0;
}
Salida
mostrar mensaje
Descripción del programa anterior
Cada programa comienza a partir de la función main ().
printf () es una función de librería para mostrar salida que funciona si #include <stdio.h> está incluido al iniciar el programa.
El stdio.h significa (cabecera de documento estándar de salida de datos) y #include es para añadir el código del registro de cabecera. Si el compilador ejecuta la función printf() y no se encuentra en la cabecera stdio.h, compilador mostrara un error.
Puede pasar por alto el retorno del valor 0 puede ser cualquier valor para este ejemplo, pero es una buena práctica de programación usar return 0;.
Enteros en C
#include<stdio.h>
int main()
{
int a=10;
printf("resultado=%d",a);
return 0;
}
Salida
resultado=10
Dentro de la cita dentro de la cita de printf () existe, es una cadena posición de cambio "% d" (por número entero). En el caso de que esta cadena grupo transformación coincide con el argumento, es decir, c restante de esta situación, se muestra la estimación de c.
Dentro de de print() existe una cadena “%d” (números enteros) que denota que va a leer el valor como número entero.
#include<stdio.h>
int main()
{
int a;
printf("Ingresar valor\n");
scanf("%d",&a);
printf("resultado=%d",a);
return 0;
}
Salida
Ingresar valor
10
resultado=10
La función scanf () se utiliza para tomar datos del usuario. En este programa, al usuario se le pide un valor y se guarda en la variable “a” Nótese que junto a la variable “a” se encuentra el operador unario “&”. Significa que le vamos a pasar la variable y la dirección de memoria, ya que requiere una dirección de memoria para guardar el dato (Nota: el tema lo veremos a más profundidad en Punteros con entradas y salidas).
Flotante en C (reales)
#include <stdio.h>
int main(){
float a;
printf("Ingresar valor: ");
scanf("%f",&a);
printf("Valor=%f",a);
return 0;
}
Salida
Ingresar valor:10
Valor=10.000000
Los caracteres "% f" que se encuentra en scanf() indican que se van a tomar datos flotantes o reales y también su precisión.
Caracteres en C
#include <stdio.h>
int main(){
char a;
printf("Ingresar valor: ");
scanf("%c",&a);
printf("tu resultado %c.",a);
return 0;
}
Salida
Ingresar valor: B
tu resultado B.
Los caracteres "% c" que se encuentran en scanf() indican que se van a tomar datos de tipo caracter.
Código ASCII
#include <stdio.h>
int main(){
char a;
printf("Ingresar valor: ");
scanf("%c",&a);
printf("tu valor %c.\n",a);
printf("valor ASCII %d",a);
return 0;
}
Salida
Ingresar valor:b
b
50
Al ingresar el valor de ‘b’ en el programa, podemos observar en la salida que su equivalente en código ASCII es el valor 50.
De forma inversa seria:
#include <stdio.h>
int main(){
int a=65;
printf("El caracter ASCII de 65 es: %c",a);
return 0;
}
Salida
El caracter ASCII de 65 es:A
Podemos observar que el equivalente de “A” en código ASCII es 65, como de “B” es 66 y también de “Z” es 90. Con las minúsculas tiene su propio equivalente en código ASCII como por ejemplo “a” es 97, como de “b” es 98, de “z” es 122.