Lekcja 2: Zmienne – Od Chaosu Bitów do Sensownych Nazw


Lesson 2

Lekcja 2: Zmienne – Od Chaosu Bitów do Sensownych Nazw


Witaj ponownie, odważny podróżniku po krainie języka C! 🎩

Po tym, jak twój komputer wreszcie wypluł to długo wyczekiwane „Hello, World!” (i być może zastanowiłeś się, dlaczego tak proste pozdrowienie wymagało aż tyle kodu), prawdopodobnie myślisz teraz: „A co dalej?”. No cóż, czas podnieść poprzeczkę i nauczyć się, jak przechowywać i manipulować danymi. Witaj w świecie zmiennych! W języku C zmienne to jak te tajemnicze szuflady w kuchni, gdzie można znaleźć wszystko: od widelców po… kto wie co jeszcze. Kluczowe jest tylko to, żeby wiedzieć, co gdzie włożyć.

Więc chwyć swój ulubiony napój (kawa, herbata, energetyk… albo po prostu woda, jeśli dzisiaj grasz na spokojnie) i zanurz się w magię zmiennych!


Czym Jest Zmienna?

Wyobraź sobie zmienne jako pojemniki na dane. Pomyśl o nich jak o pudełkach, do których możesz wrzucić liczby, litery lub nawet liczbę dni do twojego kolejnego urlopu. Magia zmiennych w C polega na tym, że, w przeciwieństwie do twojej szafy, muszą być nazwane i określone poprawnie. W przeciwnym razie język C nie tylko cię zignoruje — rzuci się na ciebie z błędami, jak głodny kot na otwartą puszkę tuńczyka!

Oto podstawowa składnia deklaracji zmiennej w C:

int liczba; // Deklaruje zmienną o nazwie 'liczba', która przechowuje wartość całkowitą.

Ale czekaj, to jeszcze nie wszystko! W C nie możesz po prostu nazwać zmiennej bez określenia, jaki typ danych przechowuje. Spójrzmy na najpopularniejsze typy danych w C:

Najpopularniejsze Typy Danych w C

  • int – Używane do liczb całkowitych (bez części dziesiętnych). To jak powiedzieć: „Chcę całą pizzę, żadnych brakujących kawałków!”
  • float – Dla liczb z częściami dziesiętnymi. Jeśli int to cała pizza, float to ten mały kawałek, który udajesz, że nie zjadłeś.
  • double – Jak float, ale z podwójną precyzją. Idealne, gdy musisz być superdokładny, na przykład przy liczeniu kropli kawy w filiżance (kto wie, może jesteś baristą?).
  • char – Przechowuje pojedynczy znak, np. ‘A’, ‘z’ lub nawet tę smutną emotkę, którą postawisz, gdy zobaczysz kolejny błąd kompilacji.

Float kontra Double – Epicka Bitwa o Precyzję!

Dobra, porozmawiajmy o różnicy między float a double. To jak porównywanie dwóch detektywów: jeden (float) zawsze złapie głównego przestępcę, ale może przegapić kilka wskazówek, podczas gdy drugi (double) nie przegapi żadnego śladu, nawet odcisku palca na szybie.

  • float: Liczba zmiennoprzecinkowa pojedynczej precyzji, która zazwyczaj daje 6-7 cyfr precyzji. Zajmuje 4 bajty pamięci.
  • double: Liczba zmiennoprzecinkowa podwójnej precyzji, która zapewnia 15-16 cyfr precyzji i zajmuje 8 bajtów pamięci.

Kiedy Którego Używać?

  • Używaj float, jeśli pracujesz nad grafiką, grami lub programowaniem niskopoziomowym, gdzie pamięć jest ograniczona, a precyzja nie jest kluczowa.
  • Używaj double, gdy potrzebna jest maksymalna dokładność, na przykład w obliczeniach naukowych lub finansowych. Jeśli chcesz obliczyć trajektorię statku kosmicznego, wybierz double (nikt nie chce skończyć na Marsie zamiast na Księżycu!).

Zobaczmy, jak to działa.


Krok po Kroku: Tworzenie Pliku precision.c

  1. Otwórz swój ulubiony edytor tekstu (albo nano, jeśli chcesz poczuć się jak prawdziwy haker).
  2. Utwórz nowy plik o nazwie precision.c.
  3. Wklej poniższy kod do precision.c:
#include <stdio.h>

int main() {
    float floatPi = 3.141592653589793;   // Pojedyncza precyzja (trochę zaokrąglone)
    double doublePi = 3.141592653589793; // Podwójna precyzja (bardziej dokładne)

    printf("Float Pi: %.15f\n", floatPi);   // Wydruk: 3.141592741012573
    printf("Double Pi: %.15f\n", doublePi); // Wydruk: 3.141592653589793

    return 0;
}

Teraz skompilujmy i uruchommy ten kod.

Polecenia Kompilacji i Uruchomienia

  1. Otwórz terminal i przejdź do folderu, w którym znajduje się precision.c.
  2. Skompiluj go za pomocą:
gcc precision.c -o precision
  1. Uruchom program:
./precision

Oczekiwany Wynik:

Float Pi: 3.141592741012573
Double Pi: 3.141592653589793

Widzisz różnicę? float daje mniejszą dokładność ze względu na ograniczony rozmiar, podczas gdy double zachowuje każdy detal, jak prawdziwy czarodziej precyzji.


Tworzymy Kolejny Plik: variable_demo.c

  1. Utwórz nowy plik o nazwie variable_demo.c.
  2. Wklej ten kod do środka:
#include <stdio.h>

int main() {
    int wiek = 25;
    float wzrost = 5.9;
    double odleglosc = 1000.123456;
    char pierwszaLitera = 'V';

    printf("Wiek: %d\n", wiek);
    printf("Wzrost: %.1f\n", wzrost);
    printf("Odległość: %.6lf\n", odleglosc);
    printf("Pierwsza litera: %c\n", pierwszaLitera);

    return 0;
}

Kompilacja i Uruchomienie

  1. Przejdź do folderu, w którym znajduje się variable_demo.c.
  2. Skompiluj go:
gcc variable_demo.c -o variable_demo
  1. Uruchom program:
./variable_demo

Oczekiwany Wynik:

Wiek: 25
Wzrost: 5.9
Odległość: 1000.123456
Pierwsza litera: V

Podsumowanie

Dziś nauczyliśmy się, jak deklarować zmienne, przypisywać im wartości i wypisywać je na ekran. Ale to dopiero początek! Zmienne to podstawowe klocki w twoich programach w C. Pozwalają ci przechowywać dane, manipulować nimi i, w końcu, tworzyć złożone systemy zdolne do robienia niesamowitych rzeczy.

Więc naprzód! Twórz! I pamiętaj: zmienne są twoimi sprzymierzeńcami… o ile dobrze je nazywasz, wybierasz odpowiedni typ i traktujesz je z szacunkiem.

Do zobaczenia na Lekcji 3, gdzie zanurzymy się w tajniki operacji arytmetycznych i sprawimy, że te zmienne zaczną dla nas pracować! 🚀💻


Zobacz też