English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
En este tutorial, aprenderás a obtener entrada del usuario utilizando la función scanf() y a mostrar salida al usuario con la función printf().
En la programación en C, printf() es una de las funciones de salida principales. La función envía salida formateada al monitor. Por ejemplo,
#include <stdio.h> int main() { //Imprimir la cadena entre comillas printf("Programación en C"); return 0; }
Output result
Programación en C
¿Cómo funciona este programa?
Todos los programas válidos en C deben incluir la función main(). El código comienza a ejecutarse desde el principio de la función main().
printf() es una función de biblioteca para formatear salida y enviarla a la pantalla. Esta función imprimirá la cadena entre comillas.
Para usar la función printf() en nuestro programa, necesitamos incluir la declaración #include <stdio.h> para incluir el archivo de encabezado stdio.h.
return 0;La sentencia en la función main() es el "estado de salida" del programa. Es opcional.
#include <stdio.h> int main() { int testInteger = 5; printf("Número = %d", testInteger); return 0; }
Output result
Número = 5
Usamos el especificador de formato %d para imprimir tipos int. Aquí, el %d entre comillas se reemplazará con el valor de testInteger.
#include <stdio.h> int main() { float number1 = 13.5; double number2 = 12.4; printf("number1 = %f\n", number1); printf("number2 = %lf", number2); return 0; }
Output result
number1 = 13.500000 number2 = 12.400000
Para imprimir float, utilizamos el especificador de formato %f. Del mismo modo, utilizamos %lf para imprimir valores double.
#include <stdio.h> int main() { char chr = 'a'; printf("character = %c.", chr); return 0; }
Output result
character = a
Para imprimir char, utilizamos el especificador de formato %c.
En la programación en C, scanf() es una de las funciones más comunes para recibir entrada del usuario. Esta función scanf() lee entrada formateada desde la entrada estándar (por ejemplo, el teclado).
#include <stdio.h> int main() { int testInteger; printf("Ingrese un número: "); scanf("%d", &testInteger); printf("Número = %d",testInteger); return 0; }
Output result
Ingrese un número: 4 Número = 4
Aquí, utilizamos el especificador de formato %d del interior de la función scanf() para recibir el valor entero de entrada del usuario. Cuando el usuario ingresa un entero, se almacenará en la variable testInteger.
Atención, scanf() utiliza &testIntegerinside. Esto se debe a que &testInteger obtiene la dirección testInteger y el valor de entrada del usuario se almacena en esa dirección.
#include <stdio.h> int main() { float num1; double num2; printf("Enter a number: "); scanf("%f", &num1); printf("Enter another number: "); scanf("%lf", &num2); printf("num1 = %f\n", num1); printf("num2 = %lf", num2); return 0; }
Output result
Enter a number: 12.523 Enter another number: 10.2 num1 = 12.523000 num2 = 10.200000
float and double are represented by %f and %lf format specifiers.
#include <stdio.h> int main() { char chr; printf("Enter a character: "); scanf("%c", &chr); printf("You entered %c.", chr); return 0; }
Output result
Enter a character: g You entered g.
When the user enters a character in the above program, the character itself is not stored. Instead, an integer value (ASCII value) is stored.
When we use %c text format to display the value, it will display the entered character. If %d is used to display the character, its ASCII value will be printed out.
#include <stdio.h> int main() { char chr; printf("Enter a character: "); scanf("%c", &chr); //When using %c, it will display a character printf("You entered %c.\n", chr); //When using %d, display the ASCII value printf("ASCII value is %d.", chr); return 0; }
Output result
Enter a character: g You entered g. ASCII value is 103.
This is an example of how to get multiple inputs from the user and display them.
#include <stdio.h> int main() { int a; float b; printf("Enter an integer, then enter a floating-point number: "); //accept multiple inputs scanf("%d%f", &a, &b); printf("You entered %d and %f", a, b); return 0; }
Output result
Enter an integer, then enter a floating-point number: -3 3.4 You entered -3 and 3.400000
From the above examples, we can see that we use
%d corresponds to int
%f corresponds to float
%lf corresponds to double
%c corresponds to char
This is a list of commonly used C data types and their format specifiers.
data type | format specifier |
---|---|
int | %d |
char | %c |
float | %f |
double | %lf |
short int | %hd |
㩵n | |
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 |