Menu
Coddy logo textTech

Operatory logiczne — część 1

Część sekcji Podstawy ścieżki C w Coddy. Lekcja 21 z 63.

Operatory logiczne służą do sprawdzania kombinacji porównań, które zwracają 1 (prawda) lub 0 (fałsz).

Na przykład poniższe zdanie zawiera dwa porównania: 

Czy 5 jest większe od 3 i mniejsze od 6?

OperatorZnaczeniePrzykład
&&And — 1, jeśli wszystkie operandy mają wartość 1a && b
||Or — 1, jeśli dowolny operand ma wartość 1a || b
!Not — 1, jeśli operand ma wartość 0!a

 

Zobaczmy kilka przykładów:

5 jest większe niż 3, a 1 jest równe 1:

int b1 = (5 > 3) && (1 == 1); // przechowuje 1 (prawda)

Wyjaśnienie: Wszystkie operandy mają wartość 1, więc b1 będzie zawierać 1 (operacja and daje wynik 1, jeśli oba operandy mają wartość 1).

 

5 nie jest równe 4 lub 5 jest równe 2:

int b2 = !(5 == 4) || (5 == 2); // przechowuje 1 (prawda)

Wyjaśnienie: Pierwszy operand (5 != 4) ma wartość 1, więc b2 również ma wartość 1 (operacja or ma wartość 1, jeśli którykolwiek z operandów ma wartość 1)

challenge icon

Wyzwanie

Łatwy

Otrzymujesz kod. Zastąp znaki zapytania w zmiennych int b1 i int b2 tak, aby int b3 miało wartość 1 (prawda).

Poświęć chwilę na przeanalizowanie warunku i zastanów się, jakie wartości sprawią, że będzie on prawdziwy.

Istnieje wiele poprawnych rozwiązań!

Spróbuj swoich sił

#include <stdio.h>

int main() {
    // Wpisz swój kod poniżej
    int b1 = ?;
    int b2 = ?;
    int b3 = b1 || b2;
    
    // Nie zmieniaj poniższej linii
    printf("b3 = %d", b3);
    return 0;
}
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Kompilator C online