logo

C++ trīskāršais vai nosacījuma operators

Programmā C++, trīskāršs vai nosacījuma operators (?:) ir īsākais nosacījuma paziņojumu rakstīšanas veids. To var izmantot kā iekļautu nosacījuma paziņojumu if-else vietā, lai izpildītu kādu nosacījumu kodu.

Trīskāršā operatora sintakse ( ? : )

Trīskāršā (vai nosacījuma) operatora sintakse ir:



expression   ?     statement_1     :     statement_2;>

Kā norāda nosaukums, trīskāršais operators strādā ar trim operandiem, kur

  • izteiksme: Novērtējams stāvoklis.
  • paziņojums_1 : paziņojums, kas tiks izpildīts, ja izteiksme tiek novērtēta kā patiesa.
  • paziņojums_2: Kods, kas jāizpilda, ja izteiksme tiek novērtēta kā false.

// attēls

Iepriekš minētais trīskāršā operatora paziņojums ir līdzvērtīgs tālāk sniegtajam paziņojumam if-else:



  if   ( condition ) {     statement1;  }   else   {    statement2;  }>

Trīskāršā operatora piemērs programmā C++

C++






// C++ program to illustrate the use of ternary operator> #include> using> namespace> std;> > int> main()> {> > >// creating a variable> >int> num, test = 40;> > >// assigning the value of num based on the value of test> >// variable> >num = test <10 ? 10 : test + 10;> > >printf>(>'Num - Test = %d'>, num - test);> > >return> 0;> }>

java virknes vērtība
>

>

Izvade

Num - Test = 10>

Iepriekš minētajā kodā mēs esam izmantojuši trīskāršo operatoru, lai piešķirtu mainīgā lieluma vērtību uz viena atkarībā no cita nosauktā mainīgā vērtības pārbaude.

Piezīme: Trīskāršajam operatoram ir trešā zemākā prioritāte, tāpēc mums ir jāizmanto izteicieni, lai mēs varētu izvairīties no kļūdām nepareizas operatora prioritātes pārvaldības dēļ.

C++ ligzdots trīskāršais operators

Ligzdots trīskāršs operators tiek definēts kā trīskārša operatora izmantošana cita trīskāršā operatora iekšpusē. Tāpat kā if-else priekšraksti, trīskāršo operatoru var arī ligzdot viens otrā.

Trīskāršā operatora ligzdošanas piemērs programmā C++

Tālāk esošajā kodā mēs atradīsim lielāko no trim cipariem, izmantojot ligzdoto trīskāršo operatoru.

C++




// C++ program to find the largest of the three number using> // ternary operator> #include> using> namespace> std;> > int> main()> {> > >// Initialize variable> >int> A = 39, B = 10, C = 23;> > >// Evaluate largest of three using ternary operator> >int> maxNum> >= (A>B)? ((A> C) ? A : C) : ((B> C) ? B : C);>> >cout <<>'Largest number is '> << maxNum << endl;> > >return> 0;> }>

>

>

ups
Izvade

Largest number is 39>

Kā redzam, ir iespējams ligzdot trīskāršus operatorus vienu otrā, taču kodu kļūst sarežģīti lasīt un saprast. Tāpēc parasti ir jāizvairās no ligzdotu trīskāršu operatoru izmantošanas.

Turklāt trīskāršais operators ir jāizmanto tikai īsam nosacījuma kodam. Lielākam kodam priekšroka jādod citiem nosacījumu priekšrakstiem.