Dominando la entrada/salida en C: scanf() y printf() explicados
Entrada y salida (E/S) en C
Este tutorial le guía a través del uso de scanf() para capturar entrada del usuario y printf() para presentar salida, con ejemplos claros y mejores prácticas.
Video: Obtener entrada del usuario en programación C
Vea el video adjunto para ver demostraciones en vivo de scanf() en acción.
Salida en C
La función printf() es la herramienta principal para enviar texto formateado a la consola. A continuación se muestran ejemplos ilustrativos.
Ejemplo 1: Salida de texto básica
#include <stdio.h>
int main() {
printf("Programación en C");
return 0;
}
Salida
Programación en C
Este programa imprime una cadena simple. Puntos clave:
- La función
main()es obligatoria; la ejecución del programa comienza aquí. - Incluya
stdio.hpara acceder aprintf(). - El
return 0;opcional indica finalización exitosa.
Ejemplo 2: Salida de entero
#include <stdio.h>
int main() {
int testEntero = 5;
printf("Número = %d", testEntero);
return 0;
}
Salida
Número = 5
El especificador %d inyecta el valor entero en la cadena de salida.
Ejemplo 3: Salida de punto flotante
#include <stdio.h>
int main() {
float numero1 = 13.5;
double numero2 = 12.4;
printf("numero1 = %f\n", numero1);
printf("numero2 = %lf", numero2);
return 0;
}
Salida
numero1 = 13.500000 numero2 = 12.400000
Use %f para float y %lf para valores double.
Ejemplo 4: Salida de carácter
#include <stdio.h>
int main() {
char chr = 'a';
printf("carácter = %c", chr);
return 0;
}
Salida
carácter = a
Imprima un solo carácter con %c.
Entrada en C
La función scanf() lee datos formateados desde la entrada estándar, típicamente el teclado. A continuación, ejemplos prácticos.
Ejemplo 5: Entrada/salida de entero
#include <stdio.h>
int main() {
int testEntero;
printf("Ingrese un entero: ");
scanf("%d", &testEntero);
printf("Número = %d", testEntero);
return 0;
}
Salida
Ingrese un entero: 4 Número = 4
El operador de dirección & suministra a scanf() la ubicación de memoria para almacenar la entrada del usuario.
Ejemplo 6: Entrada/salida de float y double
#include <stdio.h>
int main() {
float num1;
double num2;
printf("Ingrese un número: ");
scanf("%f", &num1);
printf("Ingrese otro número: ");
scanf("%lf", &num2);
printf("num1 = %f\n", num1);
printf("num2 = %lf", num2);
return 0;
}
Salida
Ingrese un número: 12.523 Ingrese otro número: 10.2 num1 = 12.523000 num2 = 10.200000
Ejemplo 7: Entrada/salida de carácter
#include <stdio.h>
int main() {
char chr;
printf("Ingrese un carácter: ");
scanf("%c", &chr);
printf("Ingresó %c.", chr);
return 0;
}
Salida
Ingrese un carácter: g Ingresó g.
Un carácter se representa internamente por su valor ASCII entero; imprimirlo con %c restaura el símbolo original.
Ejemplo 8: Mostrar valor ASCII
#include <stdio.h>
int main() {
char chr;
printf("Ingrese un carácter: ");
scanf("%c", &chr);
printf("Ingresó %c.\n", chr);
printf("Valor ASCII es %d.", chr);
return 0;
}
Salida
Ingrese un carácter: g Ingresó g. Valor ASCII es 103.
Manejo de múltiples entradas
Recopilar varios valores en una sola llamada a scanf() es eficiente y conciso.
#include <stdio.h>
int main() {
int a;
float b;
printf("Ingrese un entero y luego un float: ");
scanf("%d%f", &a, &b);
printf("Ingresó %d y %f", a, b);
return 0;
}
Salida
Ingrese un entero y luego un float: -3 3.4 Ingresó -3 y 3.400000
Especificadores de formato para E/S
A continuación se muestra una referencia concisa para tipos de datos comunes en C y sus especificadores printf() / scanf().
%d–int%f–float%lf–double%c–char
| Tipo de dato | Especificador de formato |
|---|---|
int | %d |
char | %c |
float | %f |
double | %lf |
short int | %hd |
unsigned int | %u |
long int | %li |
long long int | %lli |
unsigned long int | %lu |
unsigned long long int | %llu |
signed char | %c |
unsigned char | %c |
long double | %Lf |
Lenguaje C
- Axiomtek IPS960-511-PoE: Controlador Visión Todo-en-Uno Robusto para Inspección Industrial
- Serie EDAM‑4200 de acceed: Módulos I/O integrados para comunicación de datos escalable y fiable
- Fundamentos de C#: Entrada y salida esenciales
- Dominando la Entrada y Salida en C++: Guía Práctica
- Dominando flujos en C++: cout, cin, cerr, clog – Guía práctica
- Dominando Entrada y Salida en programación C
- Dominando E/S de archivos en C: Crear, abrir y gestionar archivos
- Dominando Latches D: Diseño, Operación y Diferencias Clave
- Dominando E/S e importación de módulos en Python: Guía práctica
- Entrada/Salida de Archivos en Python: Dominando Operaciones de Lectura, Escritura y Gestión
- Dominar Entrada y Salida en Java: Imprimir, Leer y Formatear Datos