C++ kolmekordne operaator

C Kolmekordne Operaator



'Tingimuslik operaator ja if-else avaldis kasutavad sama tehnikat, kuid tingimuslik operaator muudab if-else avaldised nii lühikeseks kui võimalik, samas kui if-else avaldis võtab rohkem ruumi. Mõnes programmeerimiskeeles on operaator, mida nimetatakse kolmeks operaatoriks, mis aktsepteerib kolme operandi, mitte tavalise ühe või kahe operandi, mida enamik operaatoreid nõuavad. See pakub vahendit kui-muidu põhiploki kondenseerimiseks. Selles juhendis käsitletakse C++ kolmekomponentset operaatorit näidete kaudu. Mõnel juhul saab C++ rakenduste lause if else asendada kolmeosalise operaatoriga, mida sageli nimetatakse tingimuslikuks operaatoriks.

Kolmikoperaatori süntaks C++ keeles

Kolme operandi jaoks on vaja kolme operandi: tingimuslik, tõene ja väär. Kuna kolmekomponentne operaator analüüsib testitingimusi ja sõltuvalt tulemusest käivitab koodiploki, on süntaks järgmine:

# (eksp_1) ? eksp_2 : eksp_3

Siin tähistab 'exp' väljendit. Sõltuvalt avaldise tulemusest tagastab see operaator ühe kahest väärtusest. Avaldisi 2 ja 3 hinnatakse ja nende väärtused tagastatakse lõpptulemustena, kui 'exp_1' on hinnatud tõeseks tõeseks; muul juhul hinnatakse avaldis 1 Boole'i ​​valeks ja avaldis 2 ning selle väärtus tagastatakse lõpptulemusena.







Näide 1

Siin on lihtne näidisprogramm, mis näitab, kuidas kasutada C++ kolmendoperaatorit.



#include

#include

kasutades nimeruumi std ;

int peamine ( ) {
kahekordne CGPA ;
cout <> CGPA ;

string õpilane_tulemus = ( CGPA >= 1.5 ) ? 'läbi' : 'ebaõnnestus' ;

cout << 'sina' << õpilane_tulemus << 'semester.' ;

tagasi 0 ;
}



Programmis oleme oma päise sektsiooni täitnud C++ teekidega. Pärast seda lisasime nimeruumi std märksõnaga “kasutamine”. Seejärel on selle sees deklareeritud muutuja “CGPA” andmetüübiga “double”. Järgmisel real oleme palunud kasutajal sisestada CGPA, trükkides käsu cout. Käsuga cin lisavad kasutajad CGPA.





Seejärel lõime teise muutuja 'student_result', millel on kolmekordne operaator. Kolmekomponentne operaator vajab siin kolme avaldist. Esiteks on tingimus, mis kontrollib, kas kasutaja sisestatud CGPA on suurem kui 1,5 või sellega võrdne. Kui jah, siis trükitakse väide 'läbitud' või siis kolmas avaldis. Tulemust näidatakse, kui kasutate käsku cout.

Oletame, et kasutaja sisestab CGPA '3.5'. CGPA >= 1,5 hindab seejärel tõeseks, mis täidab kriteeriumi. Seega antakse tulemusele esimene termin 'läbitud'.



Oletame, et kasutaja sisestab 1.00. Selle tulemusena hinnatakse tingimust CGPA >= 1,5 valesti. Seetõttu antakse tulemusele teine ​​väljend 'ebaõnnestunud'.

Näide 2

Teatud tüüpi if else-lauseid C++-s saab asendada kolmeosalise operaatoriga. Näitena saame seda koodi muuta. Esimene näidisprogramm kasutab tingimust if-else ja teine ​​näidisprogramm kolmekomponentset operaatorit.

#include

kasutades nimeruumi std ;

int peamine ( ) {

int ühel = - 3 ;
cout << 'ühel:' < 0 )
cout << ' \n Positiivne täisarv' ;
muidu
cout << ' \n Negatiivne täisarv!' ;

tagasi 0 ;
}

Oleme deklareerinud ja initsialiseerinud int andmetüübi muutuja “num” negatiivse täisarvuga. Pärast seda trükitakse käsuga cout väärtus “num”. Siis on meil tingimus kui-muidu. Tingimuses 'if' oleme määranud tingimuse, et muutuja 'num' peaks olema suurem kui väärtus null. Kui tingimus muutub tõeseks, prinditakse kohe pärast tingimust 'kui' käsk cout. Kui tingimus muutub vääraks, prinditakse else cout lause.

Kuna arv on negatiivne väärtus, muutub if tingimus vääraks ja

Järgmisena käivitasime ülaltoodud programmi kolmepoolse operaatoriga. Kontrollime, kas tingimusel if-else ja kolmekomponentsel operaatoril on sama mõju.

#include

#include

kasutades nimeruumi std ;

int peamine ( ) {

int MinuNum = - 7 ;
cout << 'Täisarv:' << MinuNum < 0 ) ? 'Positiivne täisarv!' : 'Negatiivne täisarv!' ;
cout << Tulemus << endl ;

tagasi 0 ;
}

Oleme deklareerinud muutuja 'MyNum' ja initsialiseerinud selle negatiivse väärtusega. Printisime negatiivse väärtuse, kutsudes käsu cout sees muutuja 'MyNum'. Seejärel määrame stringitüübiga teise muutuja väärtuseks 'Tulemus'. Tulemusmuutuja võtab kolmeosalise operaatori operatsiooni. Esiteks on meil tingimus, et 'MyNum' peaks olema suurem kui null. Pärast seda paneme kolmepoolse operaatori '?'. Ülejäänud kaks avaldist täidetakse tingimuse tulemusel.

Kuna täisarvu väärtus on '-7', siis kolmas avaldis 'Negatiivne täisarv!' on viipale trükitud. Siin on mõlema rakenduse väljund sama. Kolmikoperaator aga parandab meie koodi loetavust ja puhtust.

Näide 3

Lisaks saab kolmekomponentseid operaatoreid kasutada üksteise sees. Kasutage pesastatud kolmekomponentset operaatorit, et kontrollida, kas väärtus on järgmises programmis positiivne, negatiivne või null.

#include

#include

kasutades nimeruumi std ;

int peamine ( ) {
int täisarv = 0 ;
string Tulemus ;

Tulemus = ( täisarv == 0 ) ? 'Null' : ( ( täisarv > 0 ) ? 'Positiivne' : 'Negatiivne' ) ;

cout << 'Täisarv on' << Tulemus ;

tagasi 0 ;
}

Alustage lihtsalt programmi põhimeetodist. Int main() oleme loonud muutuja nimega 'integer' ja määranud selle väärtuseks null. Seejärel määratlesime andmetüübi stringiga teise muutuja 'Result'. Oleme määranud muutuja “Result”, jättes selle kolmekomponendilisest operaatorist mööda. Tingimuseks on, et muutuja “integer” väärtus peaks olema võrdne nulliga “integer == 0”. Algtingimus (täisarv == 0) määrab, kas antud täisarv on null või mitte. Kui jah, antakse tulemusele stringi väärtus 'Zero'. kui vastus on õige. Vastasel juhul, kui esimene tingimus on vale, uuritakse teist tingimust (täisarv > 0).

Jah, antud täisarv on null, nagu on näidatud skriptis. Väljund genereerib 'Täisarv on null'.

Järeldus

Oleme teadlikud, et tingimuslik operaator on kolmeosaline operaator. Selle operaatori abil saame seisukorda kontrollida ja sellega kooskõlas tegutseda. Võime teha sama asja, kasutades kolmepoolse operaatori asemel if-else tingimusi. See C++ õpetus õpetas meile, kuidas kasutada kolmikoperaatorit selle süntaksi ja näidisprogrammide kaudu. Pidage meeles, et kolmekomponentset operaatorit tuleb kasutada ainult siis, kui lõpplause on lühike.