Instrukcje warunkowe i operatory logiczne
Wstęp
Już wiesz, czym są zmienne, a teraz nauczymy Cię, jak z nimi pracować. W C++ istnieją tzw. operatory logiczne, które są w dużej mierze oparte na matematyce. Ten dział jest omawiany w pierwszej klasie liceum.
Porównywanie wartości
Zacznijmy od najprostszych operatorów porównania:
a < b // a jest mniejsze od b
a <= b // a jest mniejsze bądź równe od b
a > b // a jest większe od b
a >= b // a jest większe bądź równe od b
a == b // a równa się b
a != b // a nie równa się b
Takie operatory zwracają wartość zmiennej typu bool
:
true
(w przypadku spełnienia warunku),false
(w przypadku niespełnienia warunku).
Instrukcja warunkowa if
Instrukcja if
działa w taki sposób, że wykonuje pewien blok kodu, jeśli podany warunek (np. a < b
) jest spełniony.
Wygląda to następująco:
if (warunek) {
// blok kodu, który będzie wykonany w przypadku spełnienia warunku
}
Oprócz if
istnieją jeszcze dwie dodatkowe konstrukcje: else if
i else
:
else if
zostanie wykonane, jeśli warunek wif
nie został spełniony, a warunek welse if
jest prawdziwy.else
zostanie wykonane tylko wtedy, gdy żaden z wcześniejszych warunków (if
ielse if
) nie został spełniony.
Przykładowa struktura:
if (warunek) {
// blok kodu wykonywany, gdy warunek jest spełniony
}
else if (warunek2) {
// blok kodu wykonywany, gdy warunek2 jest spełniony, a warunek nie
}
else{
// blok kodu wykonywany, gdy żaden z wcześniejszych warunków nie został spełniony
}
Przykład kodu na C++ z użyciem warunków:
#include <iostream>
using namespace std;
int main() {
int a, b;
cin >> a >> b;
if (a < b) {
cout << "a jest mniejsze niż b" << endl;
}
else if (a > b) {
cout << "a jest większe niż b" << endl;
}
else {
cout << "a równa się b" << endl;
}
return 0;
}
Operatory logiczne
Warto również wspomnieć o trzech podstawowych operatorach logicznych:
Logiczne AND (
&&
) Operator zwraca wartośćtrue
, tylko jeśli prawa i lewa strony mają wartośćtrue
(lub są różne od zera).
Przykład:a > 0 && b > 0
(a
jest większe od0
ib
jest większe od0
)Logiczne OR (
||
)
Operator zwraca wartośćtrue
, jeśli lewa bądź prawa strona ma wartośćtrue
(lub jest różny od zera).
Przykład:a > 0 || b > 0
(a
jest większe od0
LUBb
jest większe od0
)Logiczne NOT (
!
)
Operator zwraca wartość przeciwną do wartości logicznej wyrażenia.
Przykład:!(a > b)
(prawda, jeślia
NIE jest większe niżb
).