English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial básico de lenguaje C

Control de flujo de lenguaje C

Funciones en C

Arreglos en C

Punteros en C

Cadenas en C

Estructuras de lenguaje C

Archivos de lenguaje C

C otros

Manual de referencia de C

Entrada y salida de C (I/O)

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().

Salida de C

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,

Example1:salida de C

#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.

Example2:salida de enteros

#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.

Example3:salida de números de coma flotante simple y doble precisión

#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.

Example4:imprimir caracteres

#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.

Ingreso de 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).

Example5:ingreso de enteros/output

#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.

Example6:número de coma flotante simple y doble precisión/output

#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.

Example7: C character I / O

#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.

Example8ASCII value

#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.

Multiple value input/output (I/O)

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

I / The format specifier for O is

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 typeformat 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