Dataniedziela, 9 sierpnia 2026 Czas08:02:53
← Programowanie konsolowe (C#)

Lekcja 3. Zmienne i typy danych w C#

Podstawowy

Po co się tego uczymy?

Każdy program, nawet najprostszy, musi gdzieś przechowywać dane — wiek ucznia, cenę produktu, imię klienta. Zmienne to pudełka, w których program trzyma te informacje, żeby mógł ich użyć później. Bez zmiennych nie da się napisać niczego sensownego — ani kalkulatora, ani aplikacji z bazą danych.

Teoria

Zmienna to nazwane miejsce w pamięci komputera, w którym przechowujesz jedną wartość określonego typu. W C# każda zmienna ma typ, który mówi, jakiego rodzaju dane może przechowywać: int — liczby całkowite, double — liczby z częścią dziesiętną, string — tekst, bool — wartość prawda/fałsz (true/false), char — pojedynczy znak.

Zanim użyjesz zmiennej, musisz ją zadeklarować, czyli podać jej typ i nazwę, np. int wiek;. Możesz od razu nadać jej wartość: int wiek = 17;. C# jest językiem silnie typowanym — raz zadeklarowana jako int zmienna nie przyjmie potem tekstu.

Przykład z życia

Wyobraź sobie system rezerwacji biletów do kina. Program musi pamiętać: ile lat ma widz (int wiek), ile kosztuje bilet (double cena), czy widz ma zniżkę studencką (bool jestStudentem) i jak się nazywa film (string tytul). Każda z tych informacji to osobna zmienna innego typu — i dopiero razem pozwalają programowi policzyć, ile widz ma zapłacić.

Kod (C#)

using System;

class Program
{
    static void Main()
    {
        string tytulFilmu = "Diuna: Część Trzecia";
        int wiekWidza = 17;
        double cenaBiletu = 24.50;
        bool jestStudentem = false;

        if (jestStudentem)
        {
            cenaBiletu = cenaBiletu * 0.8;
        }

        Console.WriteLine("Film: " + tytulFilmu);
        Console.WriteLine("Wiek widza: " + wiekWidza);
        Console.WriteLine("Cena biletu: " + cenaBiletu + " zł");
    }
}

Komentarz i wyjaśnienie kodu

Na górze deklarujemy cztery zmienne różnych typów — to jest właśnie ten moment, w którym program „zapamiętuje” dane o widzu i filmie. Zwróć uwagę na cenaBiletu — to double, a nie int, bo cena ma grosze (24.50, nie 24).

W instrukcji if sprawdzamy, czy jestStudentem ma wartość true — jeśli tak, obniżamy cenę o 20%. Na końcu Console.WriteLine wypisuje wynik na ekranie, łącząc tekst ze zmiennymi znakiem +.

Ćwiczenie samodzielne

Zmień wartości zmiennych tak, żeby widz był studentem (jestStudentem = true) i uruchom program ponownie. Sprawdź, czy cena faktycznie się zmniejszyła o 20%. Potem dodaj piątą zmienną int liczbaMiejsc i wypisz ją razem z resztą danych.

Plac zabaw — wypróbuj online

Poniższy kod wykonuje się od razu w Twojej przeglądarce — nic nie trzeba instalować. Zmień kod i kliknij „Uruchom”.

CSHARP

Zadania do pracy własnej

  1. Napisz program, który przechowuje w zmiennych: imię ucznia (string), jego ocenę z informatyki (double) i informację, czy zdał (bool). Wypisz te dane na ekranie w czytelnej formie.

  2. Napisz program obliczający cenę zamówienia w pizzerii: cena pizzy (double), liczba sztuk (int) oraz informacja, czy klient ma kupon rabatowy 10% (bool). Program ma wypisać cenę końcową.

  3. Stwórz program symulujący prosty bilet parkingowy: godzina wjazdu i wyjazdu (int, w formacie 24h, np. 14 i 17), stawka za godzinę (double) oraz informacja, czy to pojazd elektryczny (bool — wtedy opłata wynosi 0 zł niezależnie od czasu). Program ma obliczyć i wypisać kwotę do zapłaty. To zadanie łączy kilka typów danych i jedną instrukcję warunkową — dokładnie tak, jak w typowym zadaniu na egzaminie.

Typowe błędy

Najczęstszy błąd to próba wpisania tekstu do zmiennej typu int, np. int wiek = "siedemnaście"; — C# od razu zgłosi błąd kompilacji, bo tekst i liczba to różne typy. Drugi częsty błąd to pomylenie int z double przy cenach — jeśli zadeklarujesz cenę jako int, C# obetnie grosze (24.50 zamieni się na 24). Trzeci błąd to zapomnienie średnika na końcu linijki.

Nawiązanie do egzaminu zawodowego

Na egzaminie INF.04 zmienne i typy danych pojawiają się w każdym niemal zadaniu — czy to aplikacja konsolowa, formularz WPF, czy strona webowa. Egzaminator bardzo często sprawdza, czy potrafisz dobrać właściwy typ do danych (np. double do cen, a nie int) oraz czy Twój kod się w ogóle kompiluje — literówka w typie zmiennej to jeden z najczęstszych powodów utraty punktów.