Programovanie‎ > ‎Operátory‎ > ‎

Relačné operátory

Relačné (porovnávacie) operátory sú < > <= >= == !=. V poradí menší, väčší, menší alebo rovné, väčší alebo rovné, rovné a nerovné. Sú definované pre operandy všetkých základných dátových typov. Ich výsledkom sú logické hodnoty pravda a nepravda tak, ako sú popísané v odstavci logické operátory.

Najčastejšie sa používajú vo vnútri podmienky if.


< (menší)

Je pravda, ak x je menšie ako y, napr.

if (x < y) digitalWrite(LEDpin, HIGH); 

> (väčší)

Je pravda, ak x je väčšie ako y, napr.

if (x > y) digitalWrite(LEDpin, HIGH);

<= (menší alebo rovné)

Je pravda, ak x je menšie alebo rovné ako y, napr.

if (x <= y) digitalWrite(LEDpin, HIGH);

>= (väčší alebo rovné)

Je pravda, ak x je väčšie alebo rovné ako y, napr.

if (x >= y) digitalWrite(LEDpin, HIGH);

== (rovné)

Je pravda, ak x je rovné ako y, napr.

if (x == y) digitalWrite(LEDpin, HIGH);

!= (nerovné)

Je pravda, ak x je nerovné ako y, napr.

if (x != y) digitalWrite(LEDpin, HIGH);


POZOR, na omylom použité jednoduché rovná sa (napr. If (x = 10)). Jedno znamienko rovnosti je operátor priradenia a to vloží hodnotu 10 do premennej x a výsledkom bude PRAVDA. Pri použití znamienka dvojité rovná sa (napr. v prípade (x == 10)) sa porovnáva, či x je rovné 10 alebo nie (= priradenie; == porovnanie).

Je to preto, že C vyhodnotí príkaz if (x = 10) nasledovne: 10 je priradené do x, takže teraz obsahuje x hodnotu 10. Potom podmienka If vyhodnotí 10, čo je vždy vyhodnotené ako PRAVDA, pretože akékoľvek nenulové číslo je vyhodnotené ako PRAVDA. V dôsledku toho sa podmienka If (x = 10) vždy vyhodnotí ako PRAVDA, čo nie je požadovaný výsledok. Okrem toho, premenná x má teraz priradenú hodnotu 10, čo tiež nie je požadovaný výsledok.