W C++ istnieje, jak  w każdym innym języku programowania, możliwość wykonywania działań  arytmetycznych na zmiennych i liczbach. Oto i one: 
 | Symbole  stosowane w języku C++  | 
 | +  | Dodawanie  | 
 | -  | Odejmowanie  | 
 | *  | Mnożenie  | 
 | /  | Dzielenie  | 
 | ++  | Inkrementacja (zwiększenie wartości zmiennej o 1)   | 
 | --  | Dekrementacja (zmniejszenie wartości zmiennej o 1)   | 
 | %  | Dzielenie modulo (podaje resztę z dzielenia liczby przez liczbę,  działa tylko na liczbach całkowitych)  | 
 | =  | Przypisanie (lewa strona przyjmuje wartość prawej)   | 
Każdy kto zna  podstawy matematyki, nie powinien mieć problemów ze zrozumieniem tego materiału,  ale rzeczy, które mogą sprawić kłopot postaram się wytłumaczyć przy użyciu  małych programików.
#include  <iostream>
#include  <cstdlib>
using namespace std;
main(void)
{
int a;
a=5;
int b=2;
cout<<"5 / 2="<<a/b;
system("pause");
return 0;
}  
Jak widać zastosowane w tym przykładzie  dzielenie bez reszty, zachowuje się nieco dziwnie (5/2=2?!). Najprościej  wytłumaczyć to tym, że liczby typu całkowitego nie mogą przechowywać ułamków i  przechowują tylko ich część całkowitą(w tym przypadku 2), ale gdyby dzielić dwie  liczby rzeczywiste to wynik byłby normalnym ułamkiem,(np. jeżeli a i b  zdefiniujemy jako float, a=5 b=2 to a/b=2.5).  
#include  <iostream>
#include  <cstdlib>
using namespace std;
main(void)
{
int b=2;
b++;
cout<<"b="<<b<<"\n";
cout<<"5 podzielic na  3="<<5/b<<endl;
cout<<"5 modulo 3="<<5%b;
system("pause");
return 0;
}  
Bardzo przydatną rzeczą są natomiast  operatory: inkrementacji (zastosowany w powyższym przykładzie b++) i dekrementacji, będące odpowiednikami  zwiększenia i zmniejszenia o 1 (b++ to odpowiednik b=b+1). Inkrementacja oznacza, że zmienna  przyjmuje wartość równą poprzedniej swej wartości powiększonej o 1. Analogicznie  jest z dekrementacją(b=b-1). Wykorzystuje się je tam, gdzie często  następuję zmiana o 1 wartości zmiennej. Ciekawostką jest możliwość wykorzystania  inkrementacji przed i po nazwie zmiennej. Powoduje to dwa różne efekty:  
int x=5; 
cout<<x++;//wyświetli 5 i zwiększy wartość zmiennej  
x=5; 
cout<<++x;//zwiększy wartość zmiennej i wyświetli 6  
Kolejnym dziwactwem (na pierwszy rzut oka)  jest operator reszty z dzielenia % (8%3=2), który w wyniku daje całkowitą  liczbę stanowiącą resztę z dzielenia tych liczb przez siebie(8/3=2*3 i 2  reszty). 
A teraz duży  przykład, będący ilustracją dla całego rozdziału. 
Kod:
#include  <iostream>
#include  <cstdlib>
using namespace std;
main(void)
{
int a,b;
a=8;//a  przyjmuje wartość 8
b=3;
cout << "a=” << a <<” b=” << b << endl;
cout << "a+b=” << a+b << endl;
cout << "a-b=” << a-b << endl;
cout << "a*b=” << a*b << endl;
cout << "a/b=” << a/b << endl;//dzielenie  całkowite bez reszty
cout << "a modulo  b=” << a%b << endl;//reszta  z dzielenia(modulo)
a++;
cout << „a++=” << a << endl;
b--;
cout << „b--=” << b << endl;
system("pause");
return 0;
}  
Wynik: 
a = 8 b = 3  
a+b = 11 
a-b = 5 
a*b = 24 
a/b = 2 
a modulo b = 2 
a++ = 9  
b-- = 2  
  
Należy pamiętać, o kolejności  działań matematycznych i możliwości wykorzystania nawiasów do wpływania na ich  kolejność.
Zadanie: 
Napisz program, który wykona te  same działania, co nasz główny program, z wyjątkiem reszty z dzielenia, z tą  różnicą, że jako wartości zmiennych użyjemy liczb 2.5 i 4.2.