Zmienna jest to symbol zaznaczony w programie, pod którym kryje się miejsce w pamięci gdzie możemy przechowywać dane określonego typu. A co to znaczy „po polsku”? Otóż zmienna przypomina skrytkę, w której możemy umieścić dane, odczytać ich wartość i zmienić ją (dlatego jest to zmienna).
Istnieje podział zmiennych ze względu na typ przechowywanych danych, który dobiera się zależnie od potrzeb. Najbardziej dla nas przydatne to:Nazwa typu | Rodzaj zmiennej | Co przechowuje |
char | typ znakowy | Przechowuje pojedynczy znak np.’a’,’1’,’!’ (musi być w pojedynczych cudzysłowach) lub liczbę całkowitą z zakresu -128 ÷127) |
int | Liczba całkowita | Przechowuje liczby całkowite z zakresu -32768 ÷ 32767 np. 2003, -342, 37 |
float | Liczba zmiennoprzecinkowa (rzeczywista | Przechowuje liczby rzeczywiste z zakresu 1,2E-38 ÷ 3,4E+38 z dokładnością 7 miejsc po przecinku np. 123.4, -34.6 |
Dodatkowo każdy typ możemy rozszerzyć korzystając z przedrostków unsigned (ang. bez znaku), które mogą zawierać tylko liczby dodatnie, ale za to o 2 razy większej wartości np. unsigned char może przechowywać wartości od 0 do 255.
Aby mieć łatwy dostęp do zmiennych stworzono ich kolejną cechę – nazwę. Może się ona składać się z małych i wielkich liter alfabetu angielskiego, liczb i znaku _ , czyli symbolu podkreślenia, potocznie nazwanego podkreślnikiem. Należy pamiętać, że w C++ istotna jest wielkość liter np. „Liczba” i „liczba” to nazwy dwóch różnych zmiennych.
Aby móc skorzystać ze zmiennych należy je zadeklarować tzn. określić ich typ i nazwę. Deklarację w C++ możemy umieścić w dowolnym miejscu programu, ale należy pamiętać, że nie można skorzystać ze zmiennej przed jej deklaracją. Zależnie jednak od tego gdzie umieścimy taką deklarację, otrzymamy zmienną globalną lub lokalną. Różnica między nimi polega na tym, że zmienna globalna jest dostępna z każdego miejsca programu, a zmienna lokalna jest dostępna tylko we fragmencie, w którym została zdeklarowana. Ponadto ze względu na sposób tworzenia, zmienne lokalne mogą zaraz po deklaracji zawierać przypadkowe wartości. Dlatego warto stosować inicjalizację zmiennej lokalnej. Polega to na przypisaniu zmiennej pewnej początkowej wartości już na etapie deklaracji. Oto przykładowa deklaracja zmiennej.
Kod:
#include <iostream>
#include <cstdlib>
int main(void)
{
int liczba; //deklaruje zmienną o nazwie liczba mogącą przechowywać dane typu int(liczby całkowite)
liczba=2;
float liczba2=4.3; //deklaruje zmienną o nazwie liczba2 mogącą przechowywać dane typu float(liczby rzeczywiste) i zainicjuje ją wartością 4.3
cout<<„liczba=”<<liczba<<”, liczba2=”<<liczba2;
system(„PAUSE”)
return 0;
}
}
W tym przykładzie oprócz deklaracji zmiennej liczba w linii piątej, przypisujemy jej w następnej linii wartość 2. Znak równości oznacza, że zmienna po lewej stronie tego znaku, przyjmuje wartość podaną po prawej stronie. Jest to tzw. przypisanie, które pozwala także na przypisanie jednej zmiennej wartość innej zmiennej, jeśli są tylko tego samego typu. Kolejną rzeczą wartą wytłumaczenia jest wykorzystanie zmiennej typu float. Jest to bardzo przydatny typ, ponieważ w przeciwieństwie do int może przechowywać liczby rzeczywiste, czyli w sumie każdą liczbę (ograniczoną ilością pamięci komputera przydzielonej dla zmiennej). Typ ten wykorzystywany jest przy obliczeniach matematycznych, o większej dokładności (dzielenie, pierwiastkowanie, działania na ułamkach dziesiętnych), należy jednak zapamiętać, że w programowaniu przecinek dziesiętny zastępuje kropka, ponieważ przecinek jest stosowany do oddzielania np. parametrów funkcji. Pozostaje jeszcze jedna nowość. Otóż jak widać na przykładzie można w jednej instrukcji cout wyświetlić więcej niż jedną zmienną (w tym przypadku liczba i liczba2), jednak za każdym razem trzeba przed zmienną wstawić symbol strumienia <<.
Często też w programach zdarza się nam, że musimy użyć liczby, której wartość jest niezmienna np. liczba Pi=3.14. W tym celu najlepiej wykorzystać stałą, czyli odmianę zmiennej, która nie zmienia swej wartości w trakcie trwania programu. Deklaracja stałej wygląda identycznie jak zmiennej i polega na dodaniu przedrostka const i natychmiastowej inicjalizacji określoną wartością. Wartości takiej stałej nie można zmieniać w żadnym momencie programu, dlatego jest to nasza jedyna szansa na ustalenie jej wartości.
const float pi=3.14;
Zadanie: