![]() |
![]() ![]() ![]() ![]() ![]() Prezentowane materiały są przeznaczone dla uczniów szkół ponadgimnazjalnych. Autor artykułu: mgr Jerzy Wałaszek, wersja1.0 |
©2008 mgr
Jerzy Wałaszek |
Zmienna jest obiektem przechowującym dane określonego typu. Przed pierwszym użyciem zmienną należy zdefiniować:
typ_zmiennej nazwa_zmiennej;
Definicja ma na celu określenie rodzaju przechowywanej przez zmienną informacji oraz sposobu dostępu do tej informacji z wnętrza programu. Rodzaj informacji określa typ zmiennej. Na dzisiejszej lekcji będziemy potrzebować następujące typy zmiennych:
int - zmienna całkowita. Przechowuje liczby w zakresie +/- 2 mld.
double - zmienna zmiennoprzecinkowa o podwójnej precyzji. Przechowuje
liczby rzeczywiste z dokładnością do 15 cyfr.
Dostęp do przechowywanych przez zmienną danych uzyskujemy poprzez nazwę zmiennej. W języku C++ nazwy zmiennych mogą być tworzone z małych i dużych liter (są rozróżniane), cyfr oraz znaku podkreślenia. Pierwszym znakiem nazwy nie może być cyfra.
int a,b,c; // definiowane są 3 zmienne, przechowujące
liczby całkowite
double x; // definiowana jest zmienna przechowująca liczbę rzeczywistą
Definicja może również zawierać instrukcję przypisania zmiennej wartości początkowej:
int a = 5, b = 3,c,d;
Powyższa definicja tworzy 4 zmienne o nazwach a, b, c i d. W zmiennej a
umieszczona zostaje liczba 5, w zmiennej b umieszczona jest liczba 3. Zmienne c
i d nie posiadają zdefiniowanej zawartości - mogą zawierać śmieci, czyli dane z
poprzednich wykonań innych programów.
Informację w zmiennej można umieścić przy pomocy instrukcji przypisania:
nazwa_zmiennej = wyrażenie;
Komputer wylicza wartość wyrażenia i wynik umieszcza w zmiennej. Drugim sposobem jest wykorzystanie strumienia wejściowego cin:
cin >> nazwa_zmiennej;
W tym przypadku komputer odczytuje dane z klawiatury i umieszcza je w podanej zmiennej.
// Przeliczanie stopni Celsjusza // na stopnie Fahrenheita // (C)2008 Koło informatyczne w I LO w Tarnowie // Kurs programowania w C++ dla początkujących //-------------------------------------------- #include <iostream> using namespace std; int main() { double c,f; cout << "Podaj temperature w stopniach Celsjusza:\n\n"; // odczytujemy dane cout << "T[\370C] = "; cin >> c; cout << endl; // wykonujemy obliczenia f = ((9 * c) / 5.0) + 32; // wypisujemy wynik cout << c << "[\370C] = " << f << "[\370F]\n\n"; system("pause"); return 0; } |
Podaj temperature w stopniach Celsjusza: T[°C] = 36.7 36.7[°C] = 98.06[°F] Aby kontynuować, naciśnij dowolny klawisz . . . |
// Rozwiązywanie równania liniowego // (C)2008 Koło informatyczne w I LO w Tarnowie // Kurs programowania w C++ dla początkujących //-------------------------------------------- #include <iostream> using namespace std; int main() { double a,b,c,x; cout << "Obliczanie pierwiastka rownania:\n\n" "ax + b = c\n\n" "Podaj kolejne wspolczynniki\n\n"; // odczytujemy współczynniki równania cout << "a = "; cin >> a; cout << "b = "; cin >> b; cout << "c = "; cin >> c; // obliczamy pierwiastek x = (c - b) / a; // wypisujemy wynik cout << "\nx = " << x << endl << endl; system("pause"); return 0; } |
Obliczanie pierwiastka rownania: ax + b = c Podaj kolejne wspolczynniki a = 12.5 b = -3 c = -1 x = 0.16 Aby kontynuować, naciśnij dowolny klawisz . . . |
Modyfikacja jest zmianą zawartości zmiennej uwzględniająca to, co zmienna zawierała przed operacją. Najczęstszą modyfikacją jest zwiększenie lub zmniejszenie zawartości zmiennej o 1. Do tego celu język C++ posiada dwa operatory:
++
- operator inkrementacji, czyli
zwiększania o 1
--
- operator dekrementacji, czyli zmniejszania o 1
Operatory te można stosować na dwa sposoby:
zmienna++
lub
++zmienna
zmienna--
lub --zmienna
Jeśli zwiększanie lub zmniejszanie zawartości zmiennej będzie samodzielną instrukcją, to nie ma znaczenia, który z tych sposobów użyjemy:
#include <iostream> using namespace std; int main() { int a1,a2,b1,b2; a1 = a2 = b1 = b2 = 5; ++a1; a2++; --b1; b2--; cout << a1 << " " << a2 << endl << b1 << " " << b2 << endl << endl; system("pause"); return 0; } |
6 6 4 4 |
Różnica pojawia się, gdy operatory zwiększania lub zmniejszania zostaną użyte wewnątrz wyrażenia. Wtedy otrzymują następujące znaczenie:
++zmienna |
- | zawartość zmiennej zostaje powiększona o 1, po czym jest
zwracana jako wartość tego wyrażenia:a = 5; |
zmienna++ |
- | wynikiem wyrażenia jest bieżąca zawartość zmiennej, po czym
zostaje ona zwiększona o 1:a = 5; |
--zmienna |
- | zawartość zmiennej zostaje zmniejszona o 1, po czym jest
zwracana jako wartość tego wyrażenia:a = 10; |
zmienna-- |
- | wynikiem jest bieżąca zawartość zmiennej, po czym zostaje
ona zmniejszona o 1:a = 10; |
W języku C++ istnieją również inne operatory modyfikacji:
zmienna += wyrażenie; |
- | wartość wyrażenia zostaje dodana do zawartości zmienneja += 5; // w a jest o 5 więcej |
zmienna -= wyrażenie; |
- | wartość wyrażenia zostaje odjęta od zawartości zmienneja -= 5; // w a jest o 5 mniej |
zmienna *= wyrażenie; |
- | zawartość zmiennej zostaje wymnożona przez wartość
wyrażeniaa *= 5; // a jest pomnożone przez 5 |
zmienna /= wyrażenie; |
- | zawartość zmiennej zostaje podzielona przez wartość
wyrażeniaa /= 2; // a jest podzielone przez 2 |
zmienna %= wyrażenie; |
- | zawartość zmiennej staje się resztą z dzielenia tej
zmiennej przez wartość wyrażeniaa %= 2; // w a jest reszta z dzielenia a przez 2 |
Ponieważ w języku C++ operacja przypisania zwraca wartość, to operatory modyfikacji mogą wystąpić w wyrażeniach:
a = b += 5; // b zostaje zwiększone o 5, po czym
wynik trafia do a
a = b *= 2; // b zostaje pomnożone przez 2, po czym wynik trafia do
Chociaż oferuje to kuszące możliwości pisania efektywnego kodu, odradzałbym częste stosowanie operatorów modyfikacji wewnątrz innych wyrażeń, gdyż prowadzi to do niezrozumiałego kodu, który trudno analizować i zrozumieć:
a += b -= c *= 2 + a++ * (b /= 3 - --c);
![]() | I Liceum Ogólnokształcące |
Pytania proszę przesyłać na adres email: i-lo@eduinf.waw.pl
W artykułach serwisu są używane cookies. Jeśli nie chcesz ich otrzymywać,
zablokuj je w swojej przeglądarce.
Informacje dodatkowe