KWALIFIKACJA INF2 + INF3 - CZERWIEC 2009

PYTANIE NR 22.
Która z wymienionych instrukcji w języku C++ służy do wyprowadzania łańcucha s?
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Poprawne wyprowadzanie łańcucha na standardowe wyjście realizuje się przez wstawienie danych do strumienia wyjściowego.
Wyrażenie cout << s; oznacza: "wyślij zawartość zmiennej s do strumienia cout". Zapisy z >> dotyczą typowo wejścia, a odwrócona kolejność operandów jest błędna.

Pełne wyjaśnienie:

W C++ standardowe wypisywanie danych na ekran (standardowe wyjście) wykonuje się z użyciem strumienia wyjściowego std::cout oraz operatora <<, nazywanego operatorem wstawiania do strumienia.

Wyrażenie cout << s; ma sens semantyczny: po lewej stronie znajduje się strumień wyjściowy (miejsce, do którego "wkładamy" dane), a po prawej stronie znajduje się wartość do wypisania (tu: łańcuch s). Zakończenie średnikiem tworzy poprawne polecenie w kodzie programu.

Pozostałe propozycje są niepoprawne z typowych powodów składniowych i znaczeniowych:

  • s >> cout; – operator >> jest kojarzony z pobieraniem danych ze strumienia (wejściem), a dodatkowo kolejność operandów jest nielogiczna: zmienna s nie jest strumieniem, z którego coś się "pobiera".
  • s << cout; – tu również kolejność jest błędna: po lewej stronie operatora wstawiania powinien być strumień, a nie łańcuch. Taki zapis nie odpowiada idei wypisywania danych.
  • cout >> s; – używa operatora >> z cout, który jest strumieniem wyjściowym; to miesza role wejścia i wyjścia. Typowo do wczytywania używa się strumienia wejściowego (np. cin) oraz operatora >>.

Wskazówka egzaminacyjna: zapamiętaj regułę "strumień po lewej, dane po prawej" dla wypisywania oraz "dane po lewej, strumień po prawej" nigdy nie występuje w poprawnym wypisywaniu. To pozwala szybko wyłapać odwrócone zapisy.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
To polecenie wypisuje wartość zmiennej s na standardowe wyjście (zwykle konsolę) przy użyciu strumienia wyjściowego cout i operatora wstawiania <<. Odczytuj to jako "wyślij s do cout".
Operator << wstawia dane do strumienia wyjściowego. Po lewej stronie stoi strumień (np. cout), a po prawej wartość do wypisania (np. napis, liczba). Dzięki temu można łączyć wiele elementów w jednym wypisaniu.
Operator >> jest typowo używany do pobierania danych ze strumienia (czyli wejścia). cout to strumień wyjściowy, więc łączenie go z >> miesza role wejścia/wyjścia i w praktyce nie służy do wyprowadzania napisu na ekran.
Stosuj wielokrotnie operator <<, np. cout << "Wynik: " << x;. Każde użycie << dokłada kolejną wartość do strumienia wyjściowego. To najczęstszy sposób budowania komunikatów tekstowych w C++.
Strumień wyjściowy to mechanizm wysyłania danych na wyjście (np. konsolę, plik). cout jest standardowym strumieniem wyjściowym. Dane "przepływają" ze zmiennych programu do strumienia, a operator << określa to w kodzie.
Najczęściej myli się kierunek operatorów: << dla wyjścia (wypisywanie) i >> dla wejścia (wczytywanie). Druga typowa pomyłka to odwracanie kolejności: poprawnie jest cout << zmienna, a nie zmienna << cout.
W standardowym C++ nazwa strumienia to std::cout, bo należy do przestrzeni nazw std. Często spotyka się samo cout po użyciu dyrektywy przestrzeni nazw, ale na egzaminie warto rozumieć, że pełna, formalna postać to std::cout.
Operator >> stosuje się głównie do wczytywania danych ze strumienia wejściowego (np. z klawiatury). Typowy schemat to "strumień po lewej, zmienna po prawej", np. wczytanie do zmiennej. To przeciwieństwo wypisywania z <<.
Po wypisaniu napisu możesz dopisać znak końca linii, np. przez dołączenie kolejnego elementu operatorem <<. Najważniejsze jest zachowanie schematu: cout po lewej, a kolejne wartości (napis, separator) po prawej.
Przećwicz krótkie programy z wypisywaniem i wczytywaniem: napis, liczba całkowita i zmiennoprzecinkowa. Zapisz sobie regułę: << oznacza wyjście, >> oznacza wejście, a po lewej zawsze stoi odpowiedni strumień.
info

Około 70% zdających odpowiada poprawnie na to pytanie. średnio łatwe

Eksperci podkreślają: "Zapisy z &gt;&gt; dotyczą typowo wejścia, a odwrócona kolejność operandów jest błędna."

Źródła:

  • cppreference.com: "std::cout" (C++ iostream), https://en.cppreference.com/w/cpp/io/cout - dostęp 2026-02-28
  • cppreference.com: "operator&lt;&lt;" (stream insertion), https://en.cppreference.com/w/cpp/io/basic_ostream/operator_ltlt - dostęp 2026-02-28
  • Bjarne Stroustrup, "The C++ Programming Language", 4th Edition, rozdziały o iostream (wejście/wyjście strumieniowe)

Materiały:

  • Dokumentacja cppreference dotycząca std::cout i operatora &lt;&lt;
  • Rozdziały o iostream w podręczniku do C++ (wejście/wyjście strumieniowe)
  • Krótkie ćwiczenia: wypisywanie stringów, liczb i formatowanie wyjścia

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego