Techniczne

Pierwszy program w C++: Hello world krok po kroku

Pierwszy program w C++ krok po kroku: kod Hello world, zapis pliku .cpp, kompilacja w g++ i MSVC, uruchomienie oraz drugi program z cin i cout.

Ilustracja: edytor kodu z krótkim programem po jednej stronie i okno konsoli z jednym wierszem tekstu po drugiej
Obraz wygenerowany przez AI

Najkrótszy program: Hello world

Utwórz plik main.cpp (zwykły edytor tekstu wystarczy) i wpisz:

#include <iostream>

int main() {
    std::cout << "Witaj, swiecie!\n";
}

Co robi każdy element:

Przesuń tabelę, aby zobaczyć wszystkie kolumny →

FragmentZnaczenie
#include <iostream>dołącza nagłówek ze strumieniami wejścia i wyjścia, w tym std::cout i std::cin
int main()funkcja main, od której zaczyna się wykonanie programu
std::cout << "..."wysyła tekst na standardowe wyjście, zwykle do okna konsoli
\nznak nowego wiersza
;kończy instrukcję

Program zawsze musi mieć funkcję main. Według cppreference: „A program shall contain a global function named main, which is the designated start of the program in hosted environment.” Na końcu main nie musisz pisać return 0;: jeśli sterowanie dojdzie do końca funkcji bez instrukcji return, skutek jest taki, jakby wykonano return 0;.

Obiekt std::cout odpowiada standardowemu strumieniowi wyjścia, a std::cin standardowemu strumieniowi wejścia. Przedrostek std:: oznacza, że nazwa pochodzi z biblioteki standardowej.

Kompilacja i uruchomienie

Plik z kodem nie jest jeszcze programem: kompilator musi go zamienić w plik wykonywalny. Szczegóły czterech etapów tego procesu opisuje osobny poradnik; tu wystarczą polecenia.

Przesuń tabelę, aby zobaczyć wszystkie kolumny →

ŚrodowiskoGdzie wpisać polecenieKompilacjaUruchomienie
GCC (g++)terminal w katalogu z plikiemg++ main.cpp -o program./program (w Windows program.exe)
Microsoft C++ (MSVC)„Developer Command Prompt” z Visual Studiocl /EHsc main.cppmain (powstaje main.exe)

W GCC pliki C++ mają zwyczajowo rozszerzenie .cpp, a opcja -o wskazuje nazwę pliku wynikowego. W MSVC zwykły wiersz poleceń nie wystarczy: dokumentacja Microsoftu wyjaśnia, że bez przygotowania nie użyjesz Microsoft C++ w zwykłym oknie wiersza poleceń, a do tego służą skróty „Developer Command Prompt”. Opcja /EHsc włącza standardową obsługę wyjątków C++, a cl.exe tworzy plik .obj, po czym uruchamia konsolidator, który tworzy plik .exe.

Po uruchomieniu program powinien wypisać:

Witaj, swiecie!

W tekście programu użyto liter bez polskich znaków. Wyświetlanie polskich liter w konsoli zależy od jej ustawień, więc w pierwszym programie prościej ich uniknąć.

Drugi program: wczytanie liczby z klawiatury

Zmodyfikuj program tak, żeby pytał o liczbę i wypisywał jej kwadrat:

#include <iostream>

int main() {
    int liczba;
    std::cout << "Podaj liczbe: ";
    std::cin >> liczba;
    std::cout << "Kwadrat: " << liczba * liczba << '\n';
}

Operator >> pobiera ze strumienia std::cin wartość i zapisuje ją w zmiennej liczba. Dokumentacja opisuje to jako wydobycie wartości (z pominięciem początkowych białych znaków). Dla wpisanej liczby 7 program powinien wypisać Kwadrat: 49. Operator << można łączyć w łańcuch, jak w ostatnim wierszu, gdzie po tekście wypisywany jest wynik mnożenia, a potem znak nowego wiersza.

Zmienna liczba ma typ int, więc oczekuje liczby całkowitej. Jeśli wpiszesz coś, co nie jest liczbą, wczytanie się nie powiedzie. Pełna obsługa takich błędów wykracza poza pierwszy program.

Najczęstsze błędy początkujących

  • Brak średnika na końcu instrukcji: kompilator zgłasza błąd składni i podaje numer wiersza.
  • Brak #include <iostream>: nazwy std::cout i std::cin nie są wtedy znane.
  • Pominięte std::: bez przedrostka std:: (i bez dodatkowej dyrektywy) cout nie zostanie rozpoznany.
  • Plik zapisany z rozszerzeniem .txt: nadaj plikowi rozszerzenie .cpp; w Notatniku przy zapisie wybierz „Wszystkie pliki”.
  • Poprzedni program wciąż działa: po zmianie kodu skompiluj go ponownie, bo plik wykonywalny nie zmienia się sam.

Zobacz też: Pętla for, Scratch 3, Jak uczyć się programowania.

Najczęstsze pytania (FAQ)

Jak napisać pierwszy program w C++?

Zapisz w pliku main.cpp program z #include <iostream> i funkcją main, w której std::cout wypisuje tekst. Skompiluj go (g++ main.cpp -o program) i uruchom.

Czy muszę mieć return 0; w main?

Nie. Jeśli sterowanie dojdzie do końca main bez return, efekt jest taki, jakby wykonano return 0;. Wielu autorów mimo to pisze return 0; jawnie.

Czym się różni std::cout od std::cin?

std::cout wysyła dane na standardowe wyjście (zwykle konsolę), a std::cin pobiera je ze standardowego wejścia (zwykle z klawiatury). Pierwszy używa operatora <<, drugi >>.

Czy mogę skompilować program bez instalowania kompilatora?

Tak, do krótkich przykładów służą kompilatory działające w przeglądarce. Własne projekty wygodniej tworzyć z kompilatorem zainstalowanym lokalnie.

Co oznacza /EHsc w poleceniu cl?

To opcja MSVC włączająca standardową obsługę wyjątków C++. Microsoft podaje ją w poleceniu kompilacji przykładowego programu „Hello, World”.

← Więcej: Techniczne