logo

printf C

C kalboje funkcija printf() naudojama spausdinti suformatuotą išvestį į standartinę išvestį stdout (tai paprastai yra konsolės ekranas). Funkcija printf yra C standartinės bibliotekos < dalis stdio.h> ir jis gali leisti formatuoti išvestį įvairiais būdais.

„printf“ sintaksė

 printf  ( ' formatted_string ',   arguments_list);>

Parametrai

    formatted_string: tai eilutė, nurodanti spausdintinus duomenis. Jame taip pat gali būti formato aprašas, skirtas spausdinti bet kurio kintamojo, pvz., simbolio ir sveikojo skaičiaus, reikšmę. argumentai_sąrašas: Tai kintamųjų pavadinimai, atitinkantys formato specifikaciją.

Grąžinimo vertė

  • printf() grąžina simbolių skaičių, išspausdintą po sėkmingo vykdymo.
  • Jei įvyksta klaida, grąžinama neigiama reikšmė.

Printf pavyzdys

Šiame pavyzdyje spausdiname eilutę Hello Geek! išvestyje naudojant printf() funkciją. Funkcijoje printf() tai, ką parašysime dvigubose kabutėse ( ), atspausdinama išvestyje.



C






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



>

>

Išvestis

Hello Geek!>

Formatavimas C printf

C kalboje reikšmė gali būti simbolio tipas, sveikojo skaičiaus tipas, plūduriavimo tipas ir pan. Norėdami parodyti ir suformatuoti šias reikšmes naudodami printf, turime formato specifikacijas, kurios naudojamos suformatuotoje eilutėje. Šios formato specifikacijos prasideda procento simboliu '%'.

Formato specifikatoriaus sintaksė

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

1. Specifikatorius

Tai simbolis, nurodantis duomenų tipą. Kai kurie dažniausiai naudojami specifikacijos yra:

    %d : sveikiesiems skaičiams spausdinti %f : slankaus kablelio skaičiams spausdinti %c : simboliams spausdinti %s : eilėms spausdinti %p : atminties adresams spausdinti %x : šešioliktainėms reikšmėms spausdinti

Pavyzdys

printf(' %c ', char_variable );>

2. Plotis

Tai antrinė specifikacija, kuri nurodo mažiausią spausdinamų simbolių skaičių.

Jei simbolių skaičius yra mažesnis nei nurodytas plotis, likusioms simbolių vietoms užpildyti bus naudojamas baltas tarpas. Bet jei simbolių skaičius yra didesnis nei nurodytas plotis, visi simboliai vis tiek bus spausdinami nenupjaunant nė vieno.

Pavyzdys

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

arba

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

3. Tikslumas

Tikslumo porūšio reikšmė skiriasi skirtingiems formato specifikatoriams, su kuriais jis naudojamas.

java rūšiavimo sąrašas
    Integral data (d, i, u, o, x, X): nurodo minimalų spausdintinų skaitmenų skaičių. Tačiau skirtingai nuo pločio antrinio specifikatoriaus, vietoj baltų tarpų šis antrinis aprašas prie skaičiaus prideda nulius. Jei skaičius turi daugiau skaitmenų nei tikslumas, skaičius spausdinamas toks, koks yra. Slankiųjų arba dvigubų duomenų (f, e, a, A) atveju: nurodo skaitmenų, kurie turi būti spausdinami po kablelio, skaičių. For String (s): nurodo spausdintinos eilutės ilgį.

Pavyzdys

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

arba

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

4. Ilgis

Nurodo duomenų tipo ilgį atmintyje. Jis naudojamas susirašinėjant su 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;> }>

>

>

Išvestis

The sum of 99 and 1 is 100>

2 pavyzdys: printf su nurodytu pločiu

Šiame pavyzdyje nurodysime išvesties plotį, kurį atspausdins funkcija 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;> }>

>

>

Išvestis

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

Kaip matome, net jei apibrėžiame plotį, kuris yra mažesnis už esamus simbolius, visi simboliai vis tiek išspausdinami. Be to, matėme du būdus, kuriais galime apibrėžti plotį.

3 pavyzdys: printf su tikslumo porūšiu

Šiame pavyzdyje mes parodysime tikslumo porūšį funkcijoje 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;> }>

>

>

Išvestis

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

4 pavyzdys: printf su ilgio porūšiu

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

>

>

Išvestis

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

Susiję straipsniai: