W C++ liczby rzeczywiste (w praktyce: wartości z częścią ułamkową) reprezentuje się za pomocą typów zmiennoprzecinkowych. Do tej grupy należą m.in. float oraz double, które są podstawowymi, wbudowanymi typami przeznaczonymi do obliczeń niecałkowitych.
Odpowiedź "float, double" jest poprawna, bo oba typy:
- przechowują wartości w formacie zmiennoprzecinkowym,
- pozwalają zapisywać ułamki dziesiętne (np. 3.14, 0.5),
- są standardowo używane do obliczeń wymagających części ułamkowej.
Pozostałe opcje są błędne, ponieważ zawierają typy, które nie reprezentują liczb rzeczywistych:
- "double, bool" – bool to typ logiczny o dwóch stanach (prawda/fałsz). Nawet jeśli w pewnych kontekstach może być konwertowany na 0/1, nie jest typem do zapisu liczb rzeczywistych.
- "float, long" – long jest modyfikatorem typu całkowitego (np. long int). Typy całkowite nie przechowują części ułamkowej, więc nie są właściwe do liczb rzeczywistych.
- "double, short" – short oznacza krótki typ całkowity (np. short int). Podobnie jak inne typy całkowite, nie służy do przechowywania wartości ułamkowych.
Wskazówka egzaminacyjna: jeśli w odpowiedzi pojawia się bool lub modyfikatory typów całkowitych (short, long), to taka para zwykle nie opisuje typów rzeczywistych. Szukaj nazw typów zmiennoprzecinkowych, takich jak float i double.