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ä conditionarvioidaan ja
- jos
conditionontrue,expression1suoritetaan. - Ja jos
conditiononfalse,expression2teloitetaan.
Ternäärinen operaattori ottaa kolme operandia ( condition, expression1ja 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>= 40arvioidaan 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>= 40arvioidaan false. Siksi toinen lauseke "failed"osoitetaan tulokseen.
Milloin käyttää kolmioperaattoria?
C ++: ssa kolmikantaisen operaattorin avulla voidaan korvata tietyntyyppiset if… elselauseet.
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.








