C ++ kolmikomponenttinen operaattori (esimerkkejä)

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 conditionon true, expression1suoritetaan.
  • Ja jos conditionon false, 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 on false.

Huomautus : Sisäkkäisiä kolmikantaisia ​​operaattoreita ei suositella. Tämä johtuu siitä, että se tekee koodistamme monimutkaisemman.

Mielenkiintoisia artikkeleita...