Operator trójargumentowy C++

Operator Trojargumentowy C

„Operator warunkowy i instrukcja if-else wykorzystują tę samą technikę, ale operator warunkowy sprawia, że ​​wyrażenia if-else są tak krótkie, jak to możliwe, podczas gdy wyrażenie if-else zajmuje więcej miejsca. W niektórych językach programowania istnieje operator znany jako operator trójargumentowy, który akceptuje trzy operandy, w przeciwieństwie do zwykłego jednego lub dwóch wymaganych przez większość operatorów. Oferuje sposób skondensowania podstawowego bloku if-else. W tym przewodniku operator trójskładnikowy w C++ zostanie omówiony na przykładach. W niektórych przypadkach instrukcję if else w aplikacjach C++ można zastąpić operatorem trójskładnikowym, często znanym jako operator warunkowy.

Składnia operatora trójargumentowego w C++

Operator trójargumentowy wymaga trzech operandów: warunkowego, prawdziwego i fałszywego. Ponieważ operator trójargumentowy analizuje warunek testu i, w zależności od wyniku, wykonuje blok kodu, składnia jest następująca:

# (exp_1) ? exp_2 : exp_3

Tutaj „exp” reprezentuje wyrażenie. W zależności od wyniku wyrażenia ten operator zwraca jedną z dwóch wartości. Wyrażenia 2 i 3 są oceniane, a ich wartości są zwracane jako wyniki końcowe, jeśli „wyr_1” jest oceniane jako prawda logiczna; w przeciwnym razie wyrażenie 1 jest oceniane jako boolean false, a wyrażenie 2 jest obliczane, a jego wartość jest zwracana jako wynik końcowy.







Przykład 1

Oto prosty przykładowy program pokazujący, jak używać operatora trójskładnikowego C++.



#include

#include

przy użyciu standardowej przestrzeni nazw ;

int Główny ( ) {
podwójnie CGPA ;
Cout <> CGPA ;

ciąg student_result = ( CGPA >= 1,5 ) ? 'przeszedł' : 'przegrany' ;

Cout << 'Ty ' << student_wynik << ' semestr.' ;

zwrócić 0 ;
}



W programie wypełniliśmy naszą sekcję nagłówkową bibliotekami C++. Następnie dodaliśmy std przestrzeni nazw ze słowem kluczowym „using”. Następnie została w nim zadeklarowana zmienna „CGPA” z typem danych „double”. W następnym wierszu poprosiliśmy użytkownika o wprowadzenie CGPA poprzez wydrukowanie polecenia cout. Za pomocą polecenia cin użytkownicy dodają CGPA.





Następnie utworzyliśmy inną zmienną „student_result”, która ma operator trójargumentowy. Operator trójargumentowy potrzebuje tutaj trzech wyrażeń. Pierwszy to warunek sprawdzający, czy wartość CGPA wprowadzona przez użytkownika jest większa lub równa „1,5”. Jeśli tak, to zostanie wydrukowane stwierdzenie „passed” lub zostanie wydrukowane trzecie wyrażenie. Wynik zostanie wyświetlony po użyciu polecenia cout.

Powiedzmy, że użytkownik wpisuje CGPA „3.5”. CGPA >= 1,5 jest następnie oceniane jako prawda, spełniając kryterium. Tak więc wynik otrzymuje pierwszy termin „zaliczony”.



Załóżmy, że użytkownik wpisze 1.00. W rezultacie warunek CGPA >= 1,5 jest błędnie oceniany. Dlatego wynik otrzymuje drugie wyrażenie „nieudane”.

Przykład 2

Pewne rodzaje instrukcji if else w C++ można zamienić za pomocą operatora trójargumentowego. Jako przykład możemy zmienić ten kod. Pierwszy przykładowy program używa warunku if-else, a drugi przykładowy program używa operatora trójargumentowego.

#include

przy użyciu standardowej przestrzeni nazw ;

int Główny ( ) {

int na jednego = - 3 ;
Cout << 'na jednego :' < 0 )
Cout << ' \n Dodatnia liczba całkowita' ;
w przeciwnym razie
Cout << ' \n Ujemna liczba całkowita!' ;

zwrócić 0 ;
}

Zadeklarowaliśmy i zainicjowaliśmy zmienną typu danych int „num” z ujemną liczbą całkowitą. Następnie, za pomocą polecenia cout, wypisywana jest wartość „num”. Następnie mamy warunek if-else. Wewnątrz warunku „if” określiliśmy warunek, że zmienna „num” powinna być większa niż wartość zero. Jeśli warunek stanie się spełniony, to polecenie cout zaraz po warunku „if” zostanie wydrukowane. Jeśli warunek stanie się fałszywy, zostanie wydrukowana instrukcja else cout.

Ponieważ liczba jest wartością ujemną, warunek if staje się fałszywy, a

Następnie wykonaliśmy powyższy program z operatorem trójargumentowym. Sprawdźmy, czy warunek if-else i operator trójskładnikowy mają takie same efekty.

#include

#include

przy użyciu standardowej przestrzeni nazw ;

int Główny ( ) {

int MójNum = - 7 ;
Cout << 'Liczba całkowita:' << MójNum < 0 ) ? 'Dodatnia liczba całkowita!' : „Liczba całkowita ujemna!” ;
Cout << Wynik << koniec ;

zwrócić 0 ;
}

Zadeklarowaliśmy zmienną „MyNum” i zainicjalizowaliśmy ją z wartością ujemną. Wypisaliśmy wartość ujemną, wywołując zmienną „MyNum” wewnątrz polecenia cout. Następnie ustawiamy inną zmienną jako „Wynik” z typem string. Zmienna wynikowa przyjmuje trójskładnikową operację operatora. Najpierw mamy warunek, że „MyNum” powinno być większe od zera. Następnie wstawiamy operator trójargumentowy „?”. Pozostałe dwa wyrażenia zostaną wykonane na podstawie wyniku warunku.

Ponieważ wartość całkowita to „-7”, trzecie wyrażenie: „Negative Integer!” jest wydrukowany w monicie. Tutaj dane wyjściowe z obu aplikacji są takie same. Operator trójargumentowy poprawia jednak czytelność i czystość naszego kodu.

Przykład 3

Dodatkowo operatorzy trójskładnikowi mogą być zatrudnieni jeden w drugim. Użyj zagnieżdżonego operatora potrójnego, aby sprawdzić, czy wartość jest dodatnia, ujemna czy zerowa w poniższym programie.

#include

#include

przy użyciu standardowej przestrzeni nazw ;

int Główny ( ) {
int liczba całkowita = 0 ;
wynik ciągu ;

Wynik = ( liczba całkowita == 0 ) ? 'Zero' : ( ( liczba całkowita > 0 ) ? 'Pozytywny' : 'Negatywny' ) ;

Cout << „Liczba całkowita to” << Wynik ;

zwrócić 0 ;
}

Po prostu zacznij od głównej metody programu. W int main() stworzyliśmy zmienną o nazwie „integer” i ustawiliśmy jej wartość na zero. Następnie zdefiniowaliśmy inną zmienną „Result” z ciągiem typu danych. Ustawiliśmy zmienną „Result”, pomijając do niej operator trójskładnikowy. Warunkiem jest, aby wartość zmiennej „integer” była równa zero „integer == 0”. Warunek początkowy (liczba całkowita == 0) określa, czy dana liczba całkowita jest równa zero. Jeśli tak, wynik otrzymuje wartość ciągu „Zero”. jeśli odpowiedź jest prawidłowa. W przeciwnym razie, jeśli pierwszy warunek jest fałszywy, sprawdzany jest drugi warunek (liczba całkowita > 0).

Tak, podana liczba całkowita wynosi zero, jak pokazano w skrypcie. Wyjście generuje „Liczba całkowita to zero”.

Wniosek

Zdajemy sobie sprawę, że operator warunkowy jest operatorem trójskładnikowym. Za pomocą tego operatora możemy sprawdzić warunek i postępować zgodnie z nim. Możemy osiągnąć to samo, używając warunków if-else zamiast operatora trójskładnikowego. Ten samouczek C++ nauczył nas, jak używać operatora ternarycznego za pomocą jego składni i przykładowych programów. Pamiętaj, że trójskładnikowego operatora należy używać tylko wtedy, gdy końcowe stwierdzenie jest zwięzłe.