+= | dodaj |
-= | odejmij |
*= | pomnóż |
/= | podziel |
%= | przypisz resztę modulo |
Oto przykład zastosowania:
int n=2;
n+=7; // teraz n jest równe 9
n/=3; // a teraz n==3
Uwaga: Po lewej stronie każdego z powyższych operatorów musi znajdować się zmienna.
Są to jednoargumentowe operatory ++ oraz --, które można używać na dwa sposoby - umieszczając je przed albo po argumencie. W obu przypadkach ich działanie jest jednakowe - operator ++ zwiększa argument o 1, a -- ten argument zmniejsza o 1. Jedyna różnica polega na tym, że operator przedrostkowy zwraca zwiększoną (dla ++) lub zmniejszoną (dla --) wartość, a operator przyrostkowy zwraca wartość pierwotną.
Przykład:
int a, b, c;
a=5;
b=a++; // teraz a==6, b==5
c=--b; // a teraz b==4, c==4
Uwaga: Tak jak poprzednio, argument musi być zmienną.
Składnia operatora ? jest następująca:
wyrażenie_logiczne ? wyrażenie_1 : wyrażenie_2Jeśli wyrażenie_logiczne jest prawdziwe, to wynikiem wyrażenia jest wyrażenie_1; w przeciwnym przypadku wyrażenie_2.
Przykład: Wartością wyrażenia (n<0 ? -n : n) jest wartość bezwzględna (moduł) liczby n.
Składnia operatora , jest następująca:
wyrażenie_1, wyrażenie_2Najpierw obliczane jest wyrażenie_1 a następnie wyrażenie_2. Wartością jest wartość wyrażenia_2. Operator ten jest używany zazwyczaj w instrukcji for, kiedy potrzeba zainicjalizować wiele zmiennych.
Każdy obiekt (zmienna lub funkcja) widoczna jest w pewnym określonym zasięgu. Funkcje są widoczne od miejsca deklaracji do końca programu (nie jest możliwe zagnieżdżanie funkcji, tj. umieszczanie jednej wewnątrz drugiej). Zasięg zmiennej rozpoczyna się w miejscu, gdzie jest zadeklarowana, a kończy na końcu bloku, w którym deklaracja się znajduje.
Przykład:
int i; // Tu widać tylko iZmienne mogą być deklarowane poza jakąkolwiek funkcję - nazywają się wówczas zmiennymi globalnymi.
void f(int j) { // Tutaj i oraz j
int i=j;
int k=j; // tu i,j,k
for(int n=1; n<k; ++n) {
... // i,j,k,n
} // tu znika n
...
} // tu znika j oraz k
... // i jest dostępne do końca
Uwaga: Zmienne należy deklarować z takim zasięgiem, w jakim są rzeczywiście używane - zmiennej używanej tylko w jednej funkcji nie należy deklarować jako globalnej; licznik pętli nie musi być dostępny w całej funkcji.
int silnia(int n) {
if(n>0)
return n*silnia(n-1);
else
return 1;
}