printf i formatowanie tekstu w C/C++

Słownik kwalifikacji INF.04 - Projektowanie, programowanie i testowanie aplikacji

printf to funkcja znana z języka C, dostępna także w C++ po dołączeniu nagłówka stdio.h lub cstdio. Służy do wypisywania tekstu na ekran z użyciem specyfikatorów formatu, czyli symboli określających, jak mają zostać wyświetlone przekazane wartości.

Najważniejsze specyfikatory

  • %d - liczba całkowita typu int
  • %f - liczba zmiennoprzecinkowa, domyślnie wypisywana z 6 miejscami po przecinku
  • %.2f - liczba zmiennoprzecinkowa z dokładnie 2 miejscami po przecinku
  • %s - napis, czyli ciąg znaków
  • %c - pojedynczy znak

Przykład

#include <stdio.h>

int main() {
    int a = 5;
    float b = 5.12345;

    printf("Liczba: %d, wynik: %.2f", a, b);
    return 0;
}

Wynik:

Liczba: 5, wynik: 5.12

Jak czytać zapis formatu?

W instrukcji:

printf("%s dodawania: %d + %.2f = %f", "Wynik", a, b, w);

kolejne specyfikatory są zastępowane kolejnymi argumentami:

  1. %s zostanie zastąpione napisem "Wynik",
  2. %d zostanie zastąpione wartością zmiennej a,
  3. %.2f wypisze zmienną b z dwoma miejscami po przecinku,
  4. %f wypisze zmienną w z sześcioma miejscami po przecinku.

Ważne na egzaminie

Tekst wpisany bezpośrednio w cudzysłowie, np. dodawania:, +, =, spacje, jest wypisywany dosłownie. Formatowanie dotyczy tylko miejsc oznaczonych znakiem %.