Operatory logiczne, część 2
Część sekcji Podstawy ścieżki Rust w Coddy. Lekcja 21 z 75.
Operatory logiczne mają specjalną tabelę zwaną „tabelą prawdy”, która pokazuje, co zwraca kombinacja operatorów logicznych.
Tabela prawdy dla operatora and (&&):
| a | b | a && b |
|---|---|---|
| false | false | false |
| false | true | false |
| true | false | false |
| true | true | true |
Jedynym sposobem na uzyskanie wartości true dla operatora and (&&) jest sytuacja, w której zarówno a, jak i b mają wartość true
Tabela prawdy dla operatora or (||):
| a | b | a || b |
|---|---|---|
| false | false | false |
| false | true | true |
| true | false | true |
| true | true | true |
W tym przypadku, aby uzyskać wynik true, a lub b powinno mieć wartość true.
Tabela prawdy dla operatora not (!):
| a | !a |
|---|---|
| false | true |
| true | false |
Tutaj wartość a jest odwrócona. Jeśli a ma wartość false, to !a ma wartość true
Wyzwanie
PoczątkującyMusisz przypisać wartości całkowite do zmiennych b1 i b2 tak, aby wyrażenie b3 = !((b1 + b2) > (b1 * b2)) dało wartość true.
Spróbuj swoich sił
fn main() {
// Wpisz swój kod poniżej
let b1: i32 = ?;
let b2: i32 = ?;
let b3: bool = !((b1 + b2) > (b1 * b2));
// Nie zmieniaj poniższej linijki
println!("b3 = {}", b3);
}Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
4Operatory, część 1
Operatory arytmetyczneOperator moduloSkrócone operacje arytmetyczneOperatory porównaniaPorównywanie ciągów znaków7Podstawowe wejście i wyjście
Wyświetlanie w konsoliOdczytywanie danych od użytkownikaPowtórka – do 120Powtórka – prawda czy fałsz5Operatory, część 2
Operatory logiczne, część 1Operatory logiczne, część 2Powtórka — prosta logikaOperatory logiczne, część 311Funkcje
Deklarowanie funkcjiParametry i argumentyWartości zwracaneWiele wartości zwracanychPowtórka – funkcja SigmaPowtórka – funkcja walidująca14Iterowanie po tablicach
Przewodnik po zakresachUlepszona pętla forPożyczanie w pętliTypowe operacje na tablicach3Zmienne – część 2
Deklarowanie typuKonwencje nazewnictwaWnioskowanie o typiePodsumowanie – inicjalizacja zmiennychRzutowanie typów9Pętle
Pętla for dla sekwencjiPętla whileInstrukcja breakInstrukcja continuePętle zagnieżdżoneEtykiety pętliPętla nieskończonaPodsumowanie — dynamiczne dane wejściowe12Podstawy tablic
Deklarowanie tablicTablica jako parametrDostęp do elementówModyfikowanie tablicPodsumowanie — czytelny wydruk tablicy15Operacje na ciągach znaków
Metody ciągów znakówMakro format!Konwersja ciągów znakówPowtórka — formatowaniePoćwicz samodzielnie: Kompilator Rust online