W językach C i C++ składnia operatorów logicznych i porównań jest ściśle określona i opiera się na symbolach, a nie na słowach kluczowych typu "AND".
Aby zapisać warunek "A nie jest równe B i C jest większe od D", potrzebujesz dwóch porównań oraz ich logicznego połączenia:
- A!=B – operator != oznacza nierówność ("not equal").
- C>D – operator > oznacza "większe od".
- && – operator logiczny AND (koniunkcja). Zwraca prawdę, gdy oba warunki są prawdziwe.
Poprawny zapis całego wyrażenia to więc A!=B && C>D. W praktyce taki warunek spotkasz np. w instrukcji sterującej:
if (A != B && C > D) { // kod
}Dlaczego pozostałe odpowiedzi są błędne?
- "A!=B AND C>D" – w C/C++ nie istnieje słowo-klucz AND jako operator logiczny, więc taki zapis spowoduje błąd kompilacji (to typowe dla innych języków).
- "A<>B && C>D" – operator <> bywa używany jako "różne" w innych składniach (np. SQL/Pascal), ale nie w C/C++.
- "A<>B AND C>D" – łączy dwa niepoprawne elementy naraz: zarówno <>, jak i AND.
Wskazówka egzaminacyjna: w C/C++ logiczne "i" to &&, a pojedynczy & jest operatorem bitowym, więc nie należy ich mylić. Dodatkowo operatory porównania (!=, >) mają wyższy priorytet niż &&, więc nawiasy zwykle nie są konieczne.