logo

printf în C

În limbajul C, funcția printf() este utilizată pentru a imprima ieșirea formatată la ieșirea standard stdout (care este în general ecranul consolei). Funcția printf este o parte a bibliotecii standard C < stdio.h> și poate permite formatarea ieșirii în numeroase moduri.

Sintaxa printf

 printf  ( ' formatted_string ',   arguments_list);>

Parametrii

    formatted_string: este un șir care specifică datele de tipărit. De asemenea, poate conține un specificator de format pentru a imprima valoarea oricărei variabile, cum ar fi un caracter și un întreg. lista_argumente: Acestea sunt numele variabilelor care corespund specificatorului de format.

Valoare returnată

  • printf() returnează numărul de caractere tipărite după executarea cu succes.
  • Dacă apare o eroare, este returnată o valoare negativă.

Exemplu de printf

În acest exemplu, tipărim șirul Hello Geek! în ieșire folosind funcția printf(). În funcția printf() ceea ce vom scrie în ghilimele duble ( ) este tipărit în rezultat.



C






// C program to illustrate the use of printf function> #include> int> main()> {> >// using printf to print 'Hello Geek!'> >printf>(>'Hello Geek!'>);> >return> 0;> }>



>

>

Ieșire

Hello Geek!>

Formatarea în C printf

În C, o valoare poate fi un tip de caracter, un tip întreg, un tip flotant și așa mai departe. Pentru a afișa și formata aceste valori folosind printf, avem specificatori de format care sunt utilizați în șirul formatat. Acești specificatori de format încep cu simbolul procentual „%”.

Sintaxa pentru specificatorul de format

%[flags][width][.precision][length]specifier>

1. Specificator

Este caracterul care denotă tipul de date. Unii specificatori folosiți în mod obișnuit sunt:

    %d : pentru tipărirea numerelor întregi %f : pentru tipărirea numerelor în virgulă mobilă %c: pentru tipărirea caracterelor %s: pentru tipărirea șirurilor %p: pentru tipărirea adreselor de memorie %x : pentru tipărirea valorilor hexazecimale

Exemplu

printf(' %c ', char_variable );>

2. Latime

Este subspecificatorul care denotă numărul minim de caractere care vor fi tipărite.

Dacă numărul de caractere este mai mic decât lățimea specificată, spațiul alb va fi folosit pentru a umple locurile caracterelor rămase. Dar dacă numărul de caractere este mai mare decât lățimea specificată, toate caracterele vor fi în continuare tipărite fără a tăia niciunul.

Exemplu

printf('% 25 s', some_string );>

sau

printf('% * s', 25 , some_string );>

3. Precizie

Sensul subspecificatorului de precizie diferă în funcție de specificatorii de format diferiți cu care este utilizat.

c# conține șir
    Pentru date integrale (d, i, u, o, x, X): Specifică numărul minim de cifre care trebuie tipărite. Dar, spre deosebire de subspecificatorul de lățime, în loc de spații albe, acest subspecificator adaugă zerouri de început la număr. Dacă numărul are mai multe cifre decât precizia, numărul este tipărit așa cum este. Pentru date flotante sau duble (f, e, a, A): Specifică numărul de cifre care urmează să fie tipărite după virgulă zecimală. Pentru String(s): Specifică lungimea șirului de tipărit.

Exemplu

printf('% .10 d', some_integer ); printf('% .3f ', some_float ); printf('% .25 s', some_string) ;>

sau

printf('% .* d', 10 , some_integer ); printf('% .* f', 3 , some_float ); printf('% .* s', 25 , some_string );>

4. Lungimea

Specifică lungimea tipului de date din memorie. Este folosit în corespondență cu 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;> }>

>

>

Ieșire

The sum of 99 and 1 is 100>

Exemplul 2: printf cu lățimea specificată

În acest exemplu, vom specifica lățimea rezultatului care va fi imprimat de funcția 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;> }>

>

>

Ieșire

Printing num with width 10: 123456 Number of characters printed: 10 Printing num with width 3: 123456 Number of characters printed: 6>

După cum putem vedea, chiar dacă definim lățimea care este mai mică decât caracterele prezente, toate caracterele sunt încă imprimate. De asemenea, am văzut cele două moduri în care putem defini lățimea.

Exemplul 3: printf cu Sub-Specifier de precizie

În acest exemplu, vom demonstra subspecificatorul de precizie în funcția 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;> }>

>

>

Ieșire

For integers: 0000002451 For floats: 12.45 For strings: Geeks>

Exemplul 4: printf cu Sub-Specifier de lungime

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;> }>

>

>

Ieșire

Using %d: -1294967296 Using %ld: 3000000000>

Articole similare: