Podsumowanie informacji na temat zmiennych w języku C++

Typy całkowite

Jeżeli zmienna ma przechowywać liczbę całkowitą, wykorzystujemy jeden z typów całkowitych. Od tego, który z nich wybierzemy, zależy rozmiar zmiennej, czyli ilość miejsca zarezerwowanego dla niej w pamięci. Rozmiar przekłada się z kolei na zakres zmiennych, czyli wielkość zapisywanych liczb.

W języku C++ mamy do dyspozycji następujące typy zmiennych całkowitych:

Nazwa

Rozmiar

Zakres

short

bajty

int

bajty

long

bajty

unsigned short

bajty

unsigned int

bajty

unsigned long

bajty

Tabela przedstawia najczęściej używane typy zmiennych całkowitych. Głównym czynnikiem decydującym o wyborze typu jest przewidywana maksymalna wartość liczby, jaką zmienna ma przechowywać.

Rozmiar zmiennych wyrażony jest w bajtach. Zmienna typu short zajmuje w pamięci bajty, zaś zmienna typu int bajty.

Jeżeli nie przewidujemy, że zmienna będzie przechowywać wartość ujemną, możemy użyć słowa kluczowego unsigned. W rezultacie podwoi się dodatnia część zakresu (stanie się to kosztem części ujemnej).

Załóżmy, że postanowiliśmy wprowadzić do programu zmienną, która przechowuje liczbę .

Wykorzystujemy typ zmiennej całkowitej short, który pozwala zapisywać stosunkowo małe liczby. Ponieważ w programie możemy użyć więcej niż jednej zmiennej danego typu, każdej z nich musimy nadać inną nazwę.

Definiując zmienną w kodzie programu najpierw podajemy jej typ, a następnie nazwę. Instrukcję kończymy znakiem średnika:

Linia 1. short zmienna średnik.

Teraz przyjmijmy, że wprowadzamy do programu zmienną, która ma przechowywać liczbę .

W tym przypadku wyjdziemy już poza zakres zmiennej całkowitej typu short.

Mamy wówczas dwie możliwości:

  1. Wybrać typ zmiennej całkowitej int (będziemy mogli użyć jej także do przechowywania liczb ujemnych).

  2. Jeżeli będziemy przechowywać wyłącznie liczby dodatnie, możemy niemal podwoić zakres zmiennej typu short, rezygnując jednak z zapisywania liczb ujemnych. Efekt taki osiągniemy dodając słowo unsigned przed określeniem typu całkowitego. W opisywanym przypadku byłby nim unsigned short.

Definicje zmiennych odpowiadających obydwu opisanym wariantom przedstawiamy niżej:

Linia 1. int zmienna1 znak równości 33000 średnik. Linia 2. unsigned short zmienna2 znak równości 33000 średnik.

Typy rzeczywiste

Jeśli zamierzamy posługiwać się ułamkami, wybierzemy zmienną typu rzeczywistego:

Nazwa

Rozmiar

Zakres

float

bajty

cyfr po przecinku

double

bajtów

cyfr po przecinku

long double

bajtów

cyfr po przecinku

W tabeli podano najczęściej używane typy zmiennych rzeczywistych.

Załóżmy, że wprowadzamy do programu zmienną, która ma przechowywać liczby z dokładnością do miejsc po przecinku. Zastosujemy typ double; samą zmienną zdefiniujemy w następujący sposób:

Linia 1. double zmienna średnik.

Jeżeli zależy nam na przechowywaniu liczb mających znacznie dłuższe rozwinięcia dziesiętne, przyda się typ long double.

A oto sposób definiowania zmiennej typu long double:

Linia 1. long double zmienna średnik.

Typ znakowy

Zmienne typu znakowego służą do przechowywania symboli takich jak litery, cyfry, operatory arytmetyczne, znaki przestankowe i specjalne. Należy zdawać sobie sprawę z faktu, że każdej zmiennej typu znakowego odpowiada określony kod ASCIIkod ASCIIkod ASCII.

W kodzie ASCII literze 'a' odpowiada liczba . Z kolei cyfrze przyporządkowano wartość liczbową . Pisząc programy będziemy wykorzystywać te właściwości zmiennych typu znakowego.

Zmienne typu znakowego definiujemy podobnie jak zmienne służące do przechowywania liczb:

Linia 1. char zmienna średnik.

Najpierw podajemy typ zmiennej, a następnie jej nazwę. Dobrą praktyką jest nadawanie zmiennym nazw kojarzących się z konkretnymi obiektami. Gdybyśmy chcieli zapisać w zmiennej pierwszą literę imienia, powinniśmy wybrać nazwę pierwsza_litera_imienia, a nie zmienna.

Z tablicą ASCII warto zapoznać się choćby pobieżnie i zapamiętać przynajmniej liczby odpowiadające literom A i a oraz cyfrze . Wiedza taka pozwala obliczyć kod odpowiadający każdej literze i cyfrze.

Typ logiczny

Zmienne tego typu przechowują jedną z dwóch wartości: true (prawda) albo false (fałsz).

Wartość logiczna true jest równa , a false ma wartość .

Nazwa

Rozmiar

Zakres

bool

bajt

false, true

Zmienne logiczne definiujemy używając znanej już składni:

Linia 1. bool zmienna średnik.
Ciekawostka

W języku C++ każda liczba większa od (nie tylko ) przypisana do zmiennej typu bool oznacza true (prawda).

Linia 1. bool a znak równości 1 średnik. Linia 2. bool b znak równości 30 średnik.

Dwie zdefiniowane wyżej zmienne będą przechowywać taką samą wartość: true (prawda).

Słownik

kod ASCII
kod ASCII

(ang. American Standard Code for Information Interchange) system kodowania znaków, w którym literom łacińskim, cyfrom oraz innym symbolom przyporządkowane są unikatowe odpowiedniki liczbowe z zakresu