Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Printf | Datos
Fundamentos de C

book
Printf

De hecho, printf() no es una función independiente, es parte de una familia más amplia de funciones. Esta familia incluye sprintf(), vprintf(), vsprintf(), y vfprintf(). Sin embargo, para los propósitos de nuestro curso introductorio, nos centraremos únicamente en printf().

Echa un vistazo a un uso típico de la función printf():

c

Main

copy
#include <stdio.h>

int main()
{
int iVariable = 832; // declaring and initialization int type variable

printf("iVariable = %d \n", iVariable) ; // ???

return 0;
}
12345678910
#include <stdio.h> int main() { int iVariable = 832; // declaring and initialization int type variable printf("iVariable = %d \n", iVariable) ; // ??? return 0; }

La salida se puede desglosar en dos partes principales:

  • La cadena de formato;
  • Los datos a mostrar.

Los datos a mostrar son sencillos: es solo la variable con la que estamos trabajando. Pero profundicemos más en la cadena de formato.

Cadena de Formato

El lenguaje C no posee inherentemente capacidades de Entrada/Salida (I/O). El papel de la función printf() es tomar el valor de tu variable, convertir su contenido en caracteres, y luego reemplazar el "%d" con ellos.

Especificadores de Formato

El %d en nuestra cadena de formato es lo que se llama un especificador de formato.

Los especificadores de formato indican el tipo de datos que debe mostrarse dentro de la cadena de formato, sirviendo como una especie de aviso. En nuestro escenario, el especificador alerta a la función para esperar datos enteros. A lo largo de este curso, tocaremos algunos de estos especificadores, tales como:

  • %d – para enteros;
  • %f – para números de punto flotante;
  • %c - para caracteres individuales.

Nota

La aplicación de varios especificadores de formato dependerá de tu experiencia con la programación en C.

Este concepto se alinea con el ejemplo que revisamos en la lección anterior:

c

Main

copy
#include <stdio.h>

int main()
{
int iVariable = 832; // variable of int type
float fVariable = 54.984; // variable of float type
char cVariable = '#'; // variable of char type

printf("iVariable = %d \n", iVariable); // using %d for integer
printf("fvariable = %f \n", fVariable); // using %f for float
printf("cVariable = %c \n", cVariable); // using %c for single character
}
123456789101112
#include <stdio.h> int main() { int iVariable = 832; // variable of int type float fVariable = 54.984; // variable of float type char cVariable = '#'; // variable of char type printf("iVariable = %d \n", iVariable); // using %d for integer printf("fvariable = %f \n", fVariable); // using %f for float printf("cVariable = %c \n", cVariable); // using %c for single character }

Nota

Recuerda, "\n" es un carácter de control que mueve el contenido subsiguiente a una nueva línea.

¡Una de las grandes cosas sobre la función printf() es su capacidad para imprimir múltiples variables simultáneamente!

c

main

copy
#include <stdio.h>

int main()
{
int iVariable = 832;
float fVariable = 54.984;
char cVariable = '#';

printf(" iVariable = %d \n fvariable = %f \n cVariable = %c \n", iVariable, fVariable, cVariable);

return 0;
}
123456789101112
#include <stdio.h> int main() { int iVariable = 832; float fVariable = 54.984; char cVariable = '#'; printf(" iVariable = %d \n fvariable = %f \n cVariable = %c \n", iVariable, fVariable, cVariable); return 0; }

Aquí, los especificadores de formato y las variables se emparejan en secuencia:

Sin embargo, si no coincide el especificador, tu programa no mostrará los datos correctamente:

c

Main

copy
# include <stdio.h>

int main()
{
int iVariable = 1234;
printf("%f", iVariable); // %f - a floating point number for floats

return 0;
}
12345678910
# include <stdio.h> int main() { int iVariable = 1234; printf("%f", iVariable); // %f - a floating point number for floats return 0; }
question mark

¿Qué mostrará el programa?

int x = 9;
int y = 7;
int z = 4;

printf("x = %d, y = , z = \n", x, y, z);

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 3
some-alt