Podręcznik
1. Wyrażenia, operatory i funkcje matematyczne
1.1. Operator podstawienia
Jedną z podstawowych operacji w każdym języku programowania jest instrukcja podstawienia, a więc przypisania wartości. Instrukcja podstawienia w języku C++ to operacja, która przypisuje wartość jednej zmiennej do innej zmiennej lub wyrażenia. W języku C++, instrukcja podstawienia wykorzystuje operator przypisania =
. Ogólna składnia instrukcji podstawienia jest następująca:
zmienna = wyrażenie;
Poniżej w kodzie znajdują się przykładowe operacje przypisania wartości dla różnego typu zmiennych:
zmienna_calkowita = 8;
zmienna_rzeczywista = 1.25;
druga_zmienna_rzeczywista = .25;
zmienna_znakowa = 'A';
napis = "Ala ma kota.";
prawda = true;
int zmienna;
int liczba;
liczba = 6;
int suma, licznik;
licznik = 4;
suma = 5;
Można zdefiniować zmienną oraz jednocześnie przypisać do niej wartość.
int liczba = 6;
double suma = 0, iloczyn = 1, dane;
Zmienne nie zainicjowane w trakcie definiowania pozostają nieokreślone (mają wartość przypadkową), dopóki nie przypiszemy im określonej wartości - nie można liczyć na to, że mają na początku np. wartość zerową (a to bardzo częsty błąd początkujących).
Możliwa jest także inicjalizacja wartości zmiennych przy pomocy klamer
{}
. Inicjalizacja zmiennych przy pomocy klamer została wprowadzona do języka C++ wraz ze standardem C++11, który został formalnie zatwierdzony przez ISO (ang. International Organization for Standardization) w sierpniu 2011 roku. Standard C++11 przyniósł wiele nowych funkcji i udoskonaleń do języka, a jednym z nich była właśnie jednolita inicjalizacja (ang. uniform initialization) przy użyciu nawiasów klamrowych {}
.int licznik = {0}; // notacja ze znakiem przypisania =
double iloczyn {1}; // notacja bez znaku = (częściej stosowana)
double suma {}; // puste klamry oznaczają inicjalizację wartością zerową
Istnieje wiele korzyści wynikających z zastosowania klamer do inicjalizacji zmiennych. Możemy wśród nich wymienić:
- Zapobieganie niezamierzonym konwersjom: Inicjalizacja za pomocą klamer zapobiega niebezpiecznym konwersjom typów, które mogą prowadzić do utraty danych.
int x = 3.14; // Dozwolone, x staje się 3 int y {3.14}; // Błąd kompilacji: konwersja z double na int może powodować utratę danych
- Jednoznaczna inicjalizacja: Inicjalizacja za pomocą klamer jednoznacznie określa, że zmienna powinna być zainicjalizowana, a nie przypisana.
- Ujednolicona składnia: Ta forma inicjalizacji zapewnia spójny sposób inicjalizacji zarówno typów podstawowych, jak i złożonych.
Wiemy już jak przypisywać wartości do zmiennych różnego typu. Kolejnym etap w nauce programowania są podstawowe operacje jakie możemy wykonywać na zmiennych. W języku C++ podstawowe operacje na zmiennych obejmują przypisywanie wartości, operacje arytmetyczne, logiczne, relacyjne, inkrementację i dekrementację, operacje bitowe oraz operacje na wskaźnikach. Każda z tych operacji ma swoje specyficzne zastosowanie i składnię.