C ++ trīskāršais operators (ar piemēriem)

Šajā apmācībā mēs uzzināsim par trīskāršo operatoru C ++, izmantojot piemērus.

C ++ versijā trīskāršo operatoru (sauktu arī par nosacīto operatoru ) var izmantot, lai aizstātu, ja… citos gadījumos.

Trīskāršais operators C ++ versijā

Trīskāršais operators novērtē testa nosacījumu un izpilda koda bloku, pamatojoties uz nosacījuma rezultātu.

Tās sintakse ir

 condition ? expression1 : expression2;

Šeit conditiontiek novērtēts un

  • ja conditionir true, expression1tiek izpildīts.
  • Un, ja conditionir false, expression2tiek izpildīts.

Trīskāršais operators ņem 3 operandus ( condition, expression1un expression2). Tādējādi nosaukums trīskāršais operators .

Piemērs: C ++ trīskāršais operators

 #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; )

1. izeja

 Ievadiet savas atzīmes: 80 Jūs nokārtojāt eksāmenu.

Pieņemsim, ka lietotājs ievadīs 80 . Pēc tam stāvoklis tiek marks>= 40novērtēts līdz true. Tādējādi pirmajai izteiksmei "passed"tiek piešķirts rezultāts.

2. izeja

 Ievadiet savas atzīmes: 39,5. Jums neizdevās eksāmens.

Pieņemsim, ka lietotājs ievadīs 39.5 . Pēc tam stāvoklis tiek marks>= 40novērtēts līdz false. Tādējādi otrajai izteiksmei "failed"tiek piešķirts rezultāts.

Kad lietot trīskāršo operatoru?

Programmā C ++ trīskāršo operatoru var izmantot, lai aizstātu noteiktus if… elsepaziņojumu veidus .

Piemēram, mēs varam aizstāt šo kodu

 #include using namespace std; int main() ( // Create a variable int number = -4; if (number> 0) cout << "Positive Number"; else cout << "Negative Number!"; return 0; )

ar

 #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; )

Rezultāts

 Negatīvs skaitlis!

Šeit abas programmas nodrošina vienādu izvadi. Tomēr trīskāršā operatora izmantošana padara mūsu kodu lasāmāku un tīrāku.

Piezīme: Mēs izmantojam trīslīmeņu operatoru tikai tad, ja iegūtais paziņojums ir īss.

Ligzdoti trīskāršu operatori

Ir iespējams arī izmantot vienu trīskāršu operatoru cita trīskāršā operatora iekšienē. To sauc par ligzdoto trīskāršo operatoru C ++.

Šeit ir programma, lai uzzinātu, vai skaitlis ir pozitīvs, negatīvs vai nulle, izmantojot ligzdoto trīskāršo operatoru.

 #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; )

Rezultāts

 Skaitlis ir nulle

Iepriekš minētajā piemērā ievērojiet trīslīmeņu operatoru izmantošanu,

 (number == 0) ? "Zero" : ((number> 0) ? "Positive" : "Negative");

Šeit,

  • (number == 0)ir pirmais testa nosacījums, kas pārbauda, ​​vai skaitlis ir 0 vai nav. Ja tā ir, tad tā piešķir virknes vērtību "Zero"rezultātam.
  • Otrkārt, otro testa nosacījumu (number> 0)novērtē, ja pirmais nosacījums ir false.

Piezīme . Nav ieteicams izmantot ligzdotus trīslīmeņu operatorus. Tas ir tāpēc, ka tas padara mūsu kodu sarežģītāku.

Interesanti raksti...