Operatory logiczne w języku C

Słownik kwalifikacji INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Operatory logiczne służą do łączenia lub negowania warunków. W języku C wynik wyrażenia logicznego jest traktowany jako prawda lub fałsz: wartość 0 oznacza fałsz, a każda wartość różna od zera oznacza prawdę.

Najważniejsze operatory

  • && — logiczne i (AND), oba warunki muszą być prawdziwe,
  • || — logiczne lub (OR), wystarczy, że jeden warunek jest prawdziwy,
  • ! — logiczne nie (NOT), odwraca wartość logiczną.

Przykład użycia &&

Aby sprawdzić, czy liczba należy do przedziału, zwykle trzeba połączyć dwa warunki operatorem &&:

if (zm1 > 6 && zm1 <= 203) {
    printf("Liczba jest w przedziale");
}

Warunek jest prawdziwy tylko wtedy, gdy zm1 jest większe od 6 oraz jednocześnie mniejsze lub równe 203.

Przykład użycia ||

Operator || sprawdza, czy spełniony jest przynajmniej jeden warunek:

if (zm1 < 0 || zm1 > 100) {
    printf("Liczba poza zakresem");
}

Ten warunek jest prawdziwy, gdy liczba jest mniejsza od 0 albo większa od 100.

Typowy błąd egzaminacyjny

Dla przedziału nie należy używać ||, jeśli oba ograniczenia mają być spełnione jednocześnie. Wyrażenie:

zm1 > 6 || zm1 <= 203

będzie prawdziwe dla bardzo wielu wartości, także spoza oczekiwanego przedziału. Do sprawdzania przynależności do przedziału najczęściej stosuje się &&.