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;
Oczywiście dana zmienna musi być wcześniej zdefiniowana np. 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ć:
  1. 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
  2. Jednoznaczna inicjalizacja: Inicjalizacja za pomocą klamer jednoznacznie określa, że zmienna powinna być zainicjalizowana, a nie przypisana.
  3. 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ę.