Tässä opetusohjelmassa opitaan C ++: n kolmivaiheoperaattorista esimerkkien avulla.
C ++ -sovelluksessa kolminkertaista operaattoria (tunnetaan myös ehdollisena operaattorina ) voidaan käyttää korvaamaan, jos… muuten tietyissä tilanteissa.
Ternary Operaattori C ++
Kolmikertainen operaattori arvioi testin ehdon ja suorittaa koodilohkon ehdon tuloksen perusteella.
Sen syntaksia on
condition ? expression1 : expression2;
Tässä condition
arvioidaan ja
- jos
condition
ontrue
,expression1
suoritetaan. - Ja jos
condition
onfalse
,expression2
teloitetaan.
Ternäärinen operaattori ottaa kolme operandia ( condition
, expression1
ja expression2
). Siksi nimi kolmikantaisen operaattorin .
Esimerkki: C ++ Ternary Operator
#include #include using namespace std; int main() ( double marks; // take input from users cout <> marks; // ternary operator checks if // marks is greater than 40 string result = (marks>= 40) ? "passed" : "failed"; cout << "You " << result << " the exam."; return 0; )
Lähtö 1
Anna arvosanasi: 80 Sait kokeen.
Oletetaan, että käyttäjä syöttää 80 . Sitten kunto marks>= 40
arvioidaan true
. Siksi ensimmäinen lauseke "passed"
osoitetaan tulokseen.
Lähtö 2
Anna pisteet: 39.5 Epäonnistut tentissä.
Oletetaan, että käyttäjä syöttää 39.5 . Sitten kunto marks>= 40
arvioidaan false
. Siksi toinen lauseke "failed"
osoitetaan tulokseen.
Milloin käyttää kolmioperaattoria?
C ++: ssa kolmikantaisen operaattorin avulla voidaan korvata tietyntyyppiset if… else
lauseet.
Esimerkiksi voimme korvata tämän koodin
#include using namespace std; int main() ( // Create a variable int number = -4; if (number> 0) cout << "Positive Number"; else cout << "Negative Number!"; return 0; )
kanssa
#include #include using namespace std; int main() ( int number = -4; string result; // Using ternary operator result = (number> 0) ? "Positive Number!" : "Negative Number!"; cout << result << endl; return 0; )
Tuotos
Negatiivinen numero!
Tässä molemmat ohjelmat antavat saman tuotoksen. Kolmikantaisen operaattorin käyttö tekee koodistamme kuitenkin luettavamman ja puhtaamman.
Huomaa: Meidän tulisi käyttää kolmiportaista operaattoria vain, jos tuloksena oleva lause on lyhyt.
Sisäkkäiset kolmikantaiset operaattorit
On myös mahdollista käyttää yhtä kolmiportaista operaattoria toisen kolmioperaattorin sisällä. Sitä kutsutaan sisäkkäiseksi kolmikantaiseksi operaattoriksi C ++: ssa.
Tässä on ohjelma sisäkkäisen kolmiportaisen operaattorin selvittämiseksi, onko luku positiivinen, negatiivinen vai nolla.
#include #include using namespace std; int main() ( int number = 0; string result; // nested ternary operator to find whether // number is positive, negative, or zero result = (number == 0) ? "Zero" : ((number> 0) ? "Positive" : "Negative"); cout << "Number is " << result; return 0; )
Tuotos
Luku on nolla
Huomaa yllä olevassa esimerkissä kolmikantaiset operaattorit,
(number == 0) ? "Zero" : ((number> 0) ? "Positive" : "Negative");
Tässä,
(number == 0)
on ensimmäinen testiehto, joka tarkistaa, onko numero 0 vai ei. Jos se on, se määrittää merkkijonon arvon"Zero"
tulokseen.- Toinen testiolosuhde
(number> 0)
arvioidaan, jos ensimmäinen ehto onfalse
.
Huomautus : Sisäkkäisiä kolmikantaisia operaattoreita ei suositella. Tämä johtuu siitä, että se tekee koodistamme monimutkaisemman.