KWALIFIKACJA INF2 + INF3 - CZERWIEC 2006

PYTANIE NR 7.
Jak poprawnie wyświetlić na ekranie zawartość zmiennej tekstowej zadeklarowanej jako 'std::string s = "To jest tylko test";' w języku C++?
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Poprawne wypisanie wartości zmiennej typu std::string na ekran odbywa się przez strumień wyjściowy cout z operatorem wstawiania <<: cout << s;.
Pozostałe kombinacje mieszają wejście (cin) z wyjściem (cout) albo używają operatora w złym kierunku, co zwykle kończy się błędem kompilacji.

Pełne wyjaśnienie:

W C++ wejście i wyjście w trybie konsolowym realizuje się najczęściej przez bibliotekę iostream, która udostępnia standardowe strumienie:

  • cout – strumień wyjściowy (to, co ma zostać pokazane w konsoli),
  • cin – strumień wejściowy (to, co użytkownik wpisuje z klawiatury).

Kluczowe są też dwa przeciążone operatory strumieniowe:

  • << (tzw. insertion) – "wstawia" dane do strumienia, więc używa się go z cout, aby coś wypisać,
  • >> (tzw. extraction) – "wyciąga" dane ze strumienia, więc używa się go z cin, aby coś wczytać.

Dlatego poprawny zapis wypisania zmiennej s (np. std::string s = "To jest tylko test";) to: cout << s;. Ten zapis wysyła zawartość zmiennej do standardowego wyjścia, czyli na ekran/terminal.

Dlaczego pozostałe odpowiedzi są niepoprawne?

  • cout >> s; – miesza strumień wyjściowy z operatorem przeznaczonym do pobierania danych; typowo nie ma takiego dopasowania operatora i kompilator zgłosi błąd.
  • cin << s; – używa strumienia wejściowego, ale operatora wstawiania; to nielogiczne z punktu widzenia kierunku przepływu danych i również prowadzi do błędu kompilacji.
  • cin >> s; – to składnia poprawna, ale służy do wczytania wartości do zmiennej, a nie do jej wyświetlenia.

W praktyce często spotkasz też łańcuchowanie wypisywania, np. cout << "Tekst: " << s;. Warto pamiętać, że do kompilacji potrzebne jest dołączenie nagłówka (np. #include <iostream>) i użycie przestrzeni nazw (np. std::cout), jeśli nie stosujesz skrótu.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Operator << w połączeniu z cout służy do wysyłania danych na standardowe wyjście, czyli do wypisywania w konsoli. Można go łańcuchować, np. cout << "Tekst" << zmienna;, aby wypisać kilka elementów po kolei.
Operator >> przy cin służy do pobierania danych ze standardowego wejścia (klawiatury) i zapisywania ich do zmiennej. Przykład: cin >> s; wczyta tekst do zmiennej s, zwykle do pierwszej spacji.
Bo cout jest strumieniem wyjściowym, a operator >> jest przeznaczony do "wyciągania" danych ze strumienia (typowo z cin). Dla cout >> s zwykle nie ma pasującego przeciążenia operatora, więc pojawia się błąd kompilacji.
Nie. cin >> s; wykonuje operację odwrotną: wczytuje dane od użytkownika i zapisuje je do s. Do wyświetlania używa się cout << s;. To częsty błąd wynikający z mylenia wejścia z wyjściem.
Użyj łańcuchowania operatora <<, np.: cout << "Tekst: " << s;. Dzięki temu w jednej instrukcji wypisujesz stały napis i wartość zmiennej. To standardowy wzorzec w zadaniach konsolowych na egzaminach.
Najczęściej mylą: cin z cout (wejście vs wyjście) oraz << z >> (kierunek operacji na strumieniu). Drugi typ pomyłki to próba użycia cout >> lub cin <<, co zwykle kończy się błędem kompilacji.
cin >> s; wczytuje tekst tylko do pierwszej spacji (jedno "słowo"). Gdy potrzebujesz wczytać całą linię wraz ze spacjami (np. imię i nazwisko, zdanie), stosuje się getline. To ważne przy zadaniach z danymi tekstowymi.
Tak, aby korzystać z cout i operatorów strumieniowych, standardowo dołącza się nagłówek <iostream>. Jeśli nie używasz using namespace std;, pamiętaj o zapisie std::cout oraz o typie std::string.
Zwróć uwagę na czasowniki: "wyświetlić", "wypisać", "pokazać na ekranie" oznaczają zwykle cout i <<. Słowa "wczytać", "pobrać od użytkownika", "z klawiatury" wskazują na cin i >>. To prosta strategia egzaminacyjna.
Przećwicz krótkie schematy: cout << zmienna; (wypisz) oraz cin >> zmienna; (wczytaj). Dodaj przykłady z std::string i liczbami. Warto też umieć łańcuchować wypisywanie oraz wiedzieć, że błędny kierunek operatora powoduje błąd kompilacji.
info

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

Źródła:

  • cppreference.com: "std::cout" (reference page) https://en.cppreference.com/w/cpp/io/cout - accessed 2026-02-28
  • cppreference.com: "operator&lt;&lt;" for std::basic_ostream (reference overview) https://en.cppreference.com/w/cpp/io/basic_ostream/operator_ltlt - accessed 2026-02-28
  • cplusplus.com: "Input/output with streams" (cin/cout, &lt;&lt;/&gt;&gt;) https://cplusplus.com/doc/tutorial/basic_io/ - accessed 2026-02-28

Materiały:

  • Dokumentacja cppreference: std::cout i strumienie iostream
  • Ćwiczenia z podstaw wejścia/wyjścia w C++ (cout/cin, &lt;&lt;/&gt;&gt;)
  • Materiały kursowe o typie std::string oraz o getline() vs operator &gt;&gt;

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego