C++ kolmiosainen operaattori

C Kolmiosainen Operaattori



”Ehdollinen operaattori ja if-else-lause käyttävät molemmat samaa tekniikkaa, mutta ehdollinen operaattori tekee if-else-lausekkeista niin lyhyitä kuin mahdollista, kun taas if-else-lauseke vie enemmän tilaa. Joissakin ohjelmointikielissä on operaattori, joka tunnetaan kolmiosaisena operaattorina ja joka hyväksyy kolme operandia tavallisen yhden tai kahden sijaan, joita useimmat operaattorit vaativat. Se tarjoaa tavan tiivistää perus if-else -lohko. Tässä oppaassa C++:n kolmiosainen operaattori käsitellään esimerkkien avulla. Joissakin tapauksissa if else-käsky C++-sovelluksissa voidaan korvata kolmiosaisella operaattorilla, joka tunnetaan usein ehdollisena operaattorina.'

Kolmiosaisen operaattorin syntaksi C++:ssa

Kolmiosaiselle operaattorille vaaditaan kolme operandia: ehdollinen, tosi ja epätosi. Kun kolmiosainen operaattori analysoi testitilannetta ja tuloksesta riippuen suorittaa koodilohkon, syntaksi on:

# (exp_1) ? exp_2 : exp_3

Tässä 'exp' edustaa lauseketta. Lausekkeen tuloksesta riippuen tämä operaattori palauttaa yhden kahdesta arvosta. Lausekkeet 2 ja 3 arvioidaan ja niiden arvot palautetaan lopputuloksiksi, jos 'exp_1' on arvioitu Boolen tosi; Muussa tapauksessa lauseke 1 arvioidaan Boolen arvoksi epätosi ja lauseke 2 arvioidaan ja sen arvo palautetaan lopputuloksena.







Esimerkki 1

Tässä on suoraviivainen esimerkkiohjelma, joka näyttää kuinka käyttää C++:n ternaarista operaattoria.



#include

#sisällytä

käyttäen nimiavaruutta std ;

int pää ( ) {
kaksinkertainen CGPA ;
cout <> CGPA ;

merkkijono opiskelijan_tulos = ( CGPA >= 1.5 ) ? 'läpäissyt' : 'epäonnistui' ;

cout << 'Sinä ' << opiskelijan_tulos << ' lukukausi.' ;

palata 0 ;
}



Ohjelmassa olemme täyttäneet otsikkoosiomme C++-kirjastoilla. Sen jälkeen lisäsimme nimiavaruuden std avainsanalla 'using'. Sitten muuttuja 'CGPA' datatyypillä 'double' on ilmoitettu sen sisällä. Seuraavalla rivillä olemme pyytäneet käyttäjää syöttämään CGPA:n tulostamalla komennon cout. Cin-komennolla käyttäjät lisäävät CGPA:n.





Sitten loimme toisen muuttujan, 'student_result', jolla on kolmiosainen operaattori. Kolmiosainen operaattori tarvitsee tässä kolme lauseketta. Ensimmäinen on ehto, joka tarkistaa, onko käyttäjän syöttämä CGPA suurempi tai yhtä suuri kuin '1,5'. Jos näin on, tulostetaan lause 'hyväksytty' tai muuten tulostetaan kolmas lauseke. Tulos näytetään, kun käytät cout-komentoa.

Oletetaan, että käyttäjä kirjoittaa CGPA:n '3.5'. CGPA >= 1,5 arvioi sitten arvoksi tosi, mikä täyttää kriteerin. Joten tulokselle annetaan ensimmäinen termi 'hyväksytty'.



Oletetaan, että käyttäjä kirjoittaa 1.00. Tämän seurauksena ehto CGPA >= 1,5 on arvioitu väärin. Siksi tulokselle annetaan toinen lauseke, 'epäonnistui'.

Esimerkki 2

Tietynlaiset if else -lauseet C++:ssa voidaan vaihtaa kolmiosaisella operaattorilla. Voimme muuttaa tätä koodia esimerkkinä. Ensimmäinen esimerkkiohjelma käyttää if-else-ehtoa ja toinen esimerkkiohjelma kolmiosaista operaattoria.

#include

käyttäen nimiavaruutta std ;

int pää ( ) {

int yhdellä = - 3 ;
cout << 'yhdellä :' < 0 )
cout << ' \n Positiivinen kokonaisluku' ;
muu
cout << ' \n Negatiivinen kokonaisluku!' ;

palata 0 ;
}

Olemme ilmoittaneet ja alustaneet int-tietotyyppimuuttujan ”num” negatiivisella kokonaislukuarvolla. Tämän jälkeen 'num'-arvo tulostetaan komennolla cout. Sitten meillä on jos-else-ehto. 'Jos'-ehdon sisällä olemme määrittäneet ehdon, että muuttujan 'num' tulee olla suurempi kuin arvo nolla. Jos ehdosta tulee tosi, tulostuu komento cout heti ”jos”-ehdon jälkeen. Jos ehdosta tulee epätosi, else cout -lause tulostetaan.

Koska luku on negatiivinen arvo, if-ehdosta tulee epätosi ja

Seuraavaksi suoritimme yllä olevan ohjelman ternäärisellä operaattorilla. Katsotaanpa, onko if-else-ehdolla ja kolmiosaisella operaattorilla samat vaikutukset.

#include

#sisällytä

käyttäen nimiavaruutta std ;

int pää ( ) {

int OmaNum = - 7 ;
cout << 'Kokonaisluku:' << OmaNum < 0 ) ? 'Positiivinen kokonaisluku!' : 'Negatiivinen kokonaisluku!' ;
cout << Tulokset << endl ;

palata 0 ;
}

Olemme ilmoittaneet muuttujan 'MyNum' ja alustaneet sen negatiivisella arvolla. Olemme tulostaneet negatiivisen arvon kutsumalla 'MyNum'-muuttujaa cout-komennon sisällä. Sitten asetamme toisen muuttujan merkkijonotyypille 'Outcome'. Tulosmuuttuja ottaa kolmiosaisen operaattorin operaation. Ensinnäkin meillä on ehto, että 'MyNum' on suurempi kuin nolla. Sen jälkeen laitamme kolmiosaisen operaattorin '?'. Kaksi muuta lauseketta suoritetaan ehdon tuloksen perusteella.

Koska kokonaislukuarvo on '-7', kolmas lauseke, 'Negatiivinen kokonaisluku!' on painettu kehotteeseen. Tässä molempien sovellusten tulos on sama. Kolmiosainen operaattori kuitenkin parantaa koodimme luettavuutta ja puhtautta.

Esimerkki 3

Lisäksi kolmiosaisia ​​operaattoreita voidaan käyttää toistensa sisällä. Käytä sisäkkäistä kolmiosaista operaattoria tarkistaaksesi, onko arvo positiivinen, negatiivinen vai nolla seuraavassa ohjelmassa.

#include

#sisällytä

käyttäen nimiavaruutta std ;

int pää ( ) {
int kokonaisluku = 0 ;
merkkijono Tulos ;

Tulos = ( kokonaisluku == 0 ) ? 'Nolla' : ( ( kokonaisluku > 0 ) ? 'positiivinen' : 'Negatiivinen' ) ;

cout << 'Kokonaisluku on' << Tulos ;

palata 0 ;
}

Aloita vain ohjelman päämenetelmästä. Kohdassa int main() olemme luoneet muuttujan nimeltä 'integer' ja asettanut sen arvoksi nolla. Sitten määritimme toisen muuttujan, 'Result', tietotyyppimerkkijonolla. Olemme asettaneet muuttujan 'Result' ohittaen sen kolmiosaisen operaattorin. Edellytyksenä on, että muuttujan 'integer' arvo on yhtä suuri kuin nolla 'integer == 0'. Alkuehto (kokonaisluku == 0) määrittää, onko annettu kokonaisluku nolla vai ei. Jos näin on, tulokselle annetaan merkkijonoarvo 'Zero'. jos vastaus on oikea. Muussa tapauksessa, jos ensimmäinen ehto on epätosi, toinen ehto (kokonaisluku > 0) tutkitaan.

Kyllä, annettu kokonaisluku on nolla, kuten skriptissä näkyy. Tulos tuottaa 'Kokonaisluku on nolla'.

Johtopäätös

Tiedämme, että ehdollinen operaattori on kolmiosainen operaattori. Tämän operaattorin avulla voimme tarkistaa tilanteen ja toimia sen mukaisesti. Saatamme suorittaa saman asian käyttämällä if-else-ehtoja kolmiosaisen operaattorin sijaan. Tämä C++-opetusohjelma opetti meitä käyttämään Ternary Operatoria sen syntaksin ja esimerkkiohjelmien kautta. Muista, että kolmiosaista operaattoria saa käyttää vain, jos lopullinen lausunto on ytimekäs.