En lenguaje C, la función printf() se utiliza para imprimir la salida formateada en la salida estándar. salida estándar (que generalmente es la pantalla de la consola). La función printf es parte de la biblioteca estándar de C < stdio.h> y puede permitir formatear la salida de numerosas maneras.
Sintaxis de printf
printf ( ' formatted_string ', arguments_list);>
Parámetros
- formatted_string: Es una cadena que especifica los datos a imprimir. También puede contener un especificador de formato para imprimir el valor de cualquier variable, como un carácter y un número entero. lista_argumentos: Estos son los nombres de las variables correspondientes al especificador de formato.
Valor de retorno
- printf() devuelve el número de caracteres impresos después de una ejecución exitosa.
- Si se produce un error, se devuelve un valor negativo.
Ejemplo de printf
En este ejemplo, estamos imprimiendo la cadena ¡Hola Geek! en la salida usando la función printf(). En la función printf() lo que escribiremos entre comillas dobles ( ) se imprime en la salida.
C
// C program to illustrate the use of printf function> #include> int> main()> {> >// using printf to print 'Hello Geek!'> >printf>(>'Hello Geek!'>);> >return> 0;> }> |
>
>Producción
Hello Geek!>
Formatear en C printf
En C, un valor puede ser de tipo carácter, tipo entero, tipo flotante, etc. Para mostrar y formatear estos valores usando printf, tenemos especificadores de formato que se usan en la cadena formateada. Estos especificadores de formato comienzan con el símbolo de porcentaje. ‘%’.
Sintaxis del especificador de formato
%[flags][width][.precision][length]specifier>
1. Especificador
Es el carácter que denota el tipo de dato. Algunos especificadores comúnmente utilizados son:
- %d: para imprimir números enteros %f: para imprimir números de punto flotante %c: para imprimir caracteres %s: para imprimir cadenas %p: para imprimir direcciones de memoria %x: para imprimir valores hexadecimales
Ejemplo
printf(' %c ', char_variable );> 2. Ancho
Es el subespecificador que indica el número mínimo de caracteres que se imprimirán.
Si el número de caracteres es menor que el ancho especificado, el espacio en blanco se utilizará para llenar los lugares de los caracteres restantes. Pero si el número de caracteres es mayor que el ancho especificado, todos los caracteres se seguirán imprimiendo sin cortar ninguno.
Ejemplo
printf('% 25 s', some_string );> o
printf('% * s', 25 , some_string );> 3. Precisión
El significado del subespecificador de precisión difiere según los diferentes especificadores de formato con los que se utiliza.
c++ dividiendo cadena
- Para datos integrales (d, i, u, o, x, X): especifica el número mínimo de dígitos que se imprimirán. Pero a diferencia del subespecificador de ancho, en lugar de espacios en blanco, este subespecificador agrega ceros a la izquierda del número. Si el número tiene más dígitos que la precisión, el número se imprime tal cual. Para datos flotantes o dobles (f, e, a, A): especifica el número de dígitos que se imprimirán después del punto decimal. Para Cadena(s): Especifica la longitud de la cadena que se imprimirá.
Ejemplo
printf('% .10 d', some_integer ); printf('% .3f ', some_float ); printf('% .25 s', some_string) ;> o
printf('% .* d', 10 , some_integer ); printf('% .* f', 3 , some_float ); printf('% .* s', 25 , some_string );> 4. Longitud
Especifica la longitud del tipo de datos en la memoria. Se utiliza en correspondencia con C.
// C program to print a variable> #include> int> main()> {> >int> num1 = 99;> >int> num2 = 1;> >printf>(>'The sum of %d and %d is %d
'>, num1, num2,> >num1 + num2);> >return> 0;> }> |
>
>Producción
The sum of 99 and 1 is 100>
Ejemplo 2: printf con ancho especificado
En este ejemplo, especificaremos el ancho de la salida que será impresa por la función printf().
C
// C program to illustrate the use of printf with width> // specifier> #include> int> main()> {> >// number to be printed> >int> num = 123456;> >// printing the num with 10 width and getting the> >// printed characters in char_printed> >printf>(>'Printing num with width 10: '>);> >int> chars_printed =>printf>(>'%10d'>, num);> >printf>(>'
Number of characters printed: %d'>,> >chars_printed);> >// specifying with using other method> >printf>(>'
Printing num with width 3: '>);> >chars_printed =>printf>(>'%*d'>, 3, num);> >printf>(>'
Number of characters printed: %d'>,> >chars_printed);> >return> 0;> }> |
>
>Producción
Printing num with width 10: 123456 Number of characters printed: 10 Printing num with width 3: 123456 Number of characters printed: 6>
Como podemos ver, incluso si definimos el ancho que es menor que los caracteres actuales, todos los caracteres aún se imprimen. Además, hemos visto las dos formas en que podemos definir el ancho.
Ejemplo 3: printf con subespecificador de precisión
En este ejemplo, demostraremos el subespecificador de precisión en la función printf()
C
// C program to illustrate the use of precision> // sub-specifier> #include> int> main()> {> >int> num = 2451;> >float> dec = 12.45126;> >char>* str =>'techcodeview.com'>;> >// precision for integral data> >printf>(>'For integers: %.10d
'>, num);> >// precision for numbers with decimal points> >printf>(>'For floats: %.2f
'>, dec);> >// for strings> >printf>(>'For strings: %.5s'>, str);> >return> 0;> }> |
>
>Producción
For integers: 0000002451 For floats: 12.45 For strings: Geeks>
Ejemplo 4: printf con subespecificador de longitud
C
// C program to illustrate the length modifier> #include> int> main()> {> >long> var = 3000000000;> >// printing var using %d> >printf>(>'Using %%d: %d'>, var);> >// printing var using %ld> >printf>(>'
Using %%ld: %ld'>, var);> >return> 0;> }> |
>
>Producción
Using %d: -1294967296 Using %ld: 3000000000>