Egzamin zawodowyPortal części pisemnej

INF.04 · pytanie 343

Po uruchomieniu poniższego kodu w języku C++ na konsoli zobaczymy następujący tekst: #include <stdio.h> int main() { int a = 5; float b = 5.12345; double w; w = a + b; printf("%s dodawania: %d + %.2f = %f", "Wynik", a, b, w); return 0; }

  1. A"%s dodawania: %d + %.2f=%f", "Wynik", a, b, w
  2. Bdodawania: 5+5.12345=10.123450 Wynik
  3. CWynik dodawania: 5+5.12=10.123450Poprawna
  4. D"%s dodawania: %d + %.2f = %f", "Wynik", 5, 5.12345, 10.123450

Wyjaśnienie

To właśnie taka odpowiedź najlepiej oddaje działanie kodu. Użycie printf z formatami %d dla liczby całkowitej, %.2f dla liczby zmiennoprzecinkowej typu float z dwoma miejscami po przecinku oraz %f dla liczby typu double daje taki właśnie efekt na ekranie: "Wynik dodawania: 5+5.12=10.123450". Kluczowe jest zrozumienie, jak printf zaokrągla i prezentuje wartości float – %.2f ucina do dwóch miejsc po przecinku, nawet jeśli w pamięci zmienna b ma więcej cyfr. To bardzo praktyczna sprawa, bo często chcemy sformatować wyjście tak, by było czytelne dla użytkownika, np. w raportach czy interfejsach tekstowych. Kod pokazuje też bezpośrednią konwersję typu int na double, kiedy dodajemy a i b – kompilator sam wie, że w wyniku będzie double i nie ma potrzeby ręcznie rzutować typu. Takie formatowanie to codzienność w profesjonalnym programowaniu, zwłaszcza gdy zależy nam na przejrzystym, przewidywalnym wyjściu. Moim zdaniem warto też pamiętać o dobrych praktykach – warto zawsze jasno określać liczbę miejsc po przecinku, żeby uniknąć przypadkowych zaokrągleń czy dziwnych formatów na ekranie. Sam printf to klasyk, używany od lat w C i C++, i nawet w nowych projektach, gdzie liczy się wydajność, to jedno z najprostszych narzędzi do szybkiego debugowania czy prezentowania danych liczbowych.