C++ trijų dalių operatorius

C Triju Daliu Operatorius



„Sąlyginis operatorius ir if-else sakinys naudoja tą pačią techniką, tačiau sąlyginis operatorius padaro if-else išraiškas kuo trumpesnes, o if-else išraiška užima daugiau vietos. Kai kuriose programavimo kalbose yra operatorius, žinomas kaip trijų dalių operatorius, kuris priima tris operandus, o ne įprastą vieną ar du, kurių reikalauja dauguma operatorių. Jis siūlo pagrindinio jei-kito bloko kondensavimo priemonę. Šiame vadove trijų dalių operatorius C++ bus aprašytas pavyzdžiais. Kai kuriais atvejais C++ programose esantis if else teiginys gali būti pakeistas trijų dalių operatoriumi, dažnai vadinamu sąlyginiu operatoriumi.

Trinaro operatoriaus sintaksė C++

Trinariam operatoriui reikalingi trys operandai: sąlyginis, teisingas ir klaidingas. Trečiajam operatoriui analizuojant bandymo sąlygą ir, priklausomai nuo rezultato, vykdant kodo bloką, sintaksė yra tokia:

# (exp_1) ? exp_2 : exp_3

Čia „exp“ reiškia išraišką. Atsižvelgiant į išraiškos rezultatą, šis operatorius pateikia vieną iš dviejų reikšmių. 2 ir 3 išraiškos įvertinamos, o jų reikšmės grąžinamos kaip galutiniai rezultatai, jei „exp_1“ įvertinama kaip Būlio tiesa; kitu atveju 1 reiškinys įvertinamas kaip Būlio klaidingas, o 2 išraiška įvertinama ir jos reikšmė grąžinama kaip galutinis rezultatas.







1 pavyzdys

Čia yra paprastas programos pavyzdys, rodantis, kaip naudoti C++ trijų operatorių.



#include

#include

naudojant vardų sritį std ;

tarpt pagrindinis ( ) {
dvigubai CGPA ;
cout <> CGPA ;

eilutė studento_rezultatas = ( CGPA >= 1.5 ) ? 'praėjo' : 'nepavyko' ;

cout << 'Tu ' << studento_rezultatas << ' semestras.' ;

grąžinti 0 ;
}



Programoje savo antraštės skyrių užpildėme C++ bibliotekomis. Po to pridėjome vardų erdvę std su raktiniu žodžiu „using“. Tada jame buvo deklaruotas kintamasis „CGPA“ su duomenų tipu „double“. Kitoje eilutėje mes paprašėme vartotojo įvesti CGPA atspausdindami komandą cout. Naudodami komandą cin vartotojai prideda CGPA.





Tada sukūrėme kitą kintamąjį „student_result“, kuris turi trijų dalių operatorių. Trečiajam operatoriui čia reikia trijų išraiškų. Pirma, yra sąlyga, kuri patikrina, ar vartotojo įvestas CGPA yra didesnis nei „1,5“ arba jam lygus. Jei taip, bus išspausdintas teiginys „išlaikytas“, arba bus išspausdinta trečioji išraiška. Rezultatas bus rodomas, kai naudosite komandą cout.

Tarkime, kad vartotojas įveda CGPA „3.5“. CGPA >= 1,5 tada įvertinama kaip tiesa, atitinkanti kriterijų. Taigi rezultatui suteikiamas pirmasis terminas „išlaikyta“.



Tarkime, kad vartotojas įveda 1.00. Dėl to sąlyga CGPA >= 1,5 yra klaidingai įvertinta. Todėl rezultatui suteikiamas antrasis posakis „nepavyko“.

2 pavyzdys

Tam tikros rūšies if else teiginiai C++ gali būti pakeisti trimeriu operatoriumi. Kaip pavyzdį galime pakeisti šį kodą. Pirmoje pavyzdinėje programoje naudojama sąlyga if-else, o kitoje pavyzdinėje programoje naudojamas trijų dalių operatorius.

#include

naudojant vardų sritį std ;

tarpt pagrindinis ( ) {

tarpt ant vieno = - 3 ;
cout << 'ant vieno :' < 0 )
cout << \n Teigiamas sveikasis skaičius' ;
Kitas
cout << \n Neigiamas sveikasis skaičius!' ;

grąžinti 0 ;
}

Mes paskelbėme ir inicijavome int duomenų tipo kintamąjį „num“ su neigiama sveikojo skaičiaus reikšme. Po to su komanda cout atspausdinama „num“ reikšmė. Tada turime sąlygą „jei kitaip“. Sąlygoje „if“ nurodėme sąlygą, kad kintamasis „num“ turi būti didesnis nei reikšmė nulis. Jei sąlyga tampa teisinga, bus išspausdinta komanda „cout“ iškart po sąlygos „jei“. Jei sąlyga tampa klaidinga, bus išspausdintas teiginys else cout.

Kadangi skaičius yra neigiama reikšmė, sąlyga jei tampa klaidinga ir

Tada mes vykdėme aukščiau pateiktą programą naudodami trijų dalių operatorių. Pažiūrėkime, ar sąlyga if-else ir trijų dalių operatorius turi tą patį poveikį.

#include

#include

naudojant vardų sritį std ;

tarpt pagrindinis ( ) {

tarpt ManoNum = - 7 ;
cout << 'Sveikasis skaičius:' << ManoNum < 0 ) ? 'Teigiamas sveikasis skaičius!' : 'Neigiamas sveikasis skaičius!' ;
cout << Rezultatas << endl ;

grąžinti 0 ;
}

Mes paskelbėme kintamąjį „MyNum“ ir inicijavome jį neigiama reikšme. Neigiamą reikšmę išspausdinome iškviesdami kintamąjį „MyNum“ komandos cout viduje. Tada nustatome kitą kintamąjį kaip „Rezultatas“ su eilutės tipu. Rezultato kintamasis paima trijų operatoriaus operaciją. Pirma, turime sąlygą, kad „MyNum“ turi būti didesnis už nulį. Po to mes įdėjome trijų dalių operatorių '?'. Kitos dvi išraiškos bus vykdomos pagal sąlygos rezultatą.

Kadangi sveikojo skaičiaus reikšmė yra „-7“, trečioji išraiška „Neigiamas sveikasis skaičius! yra atspausdintas raginime. Čia abiejų programų išvestis yra tokia pati. Tačiau trijų dalių operatorius pagerina mūsų kodo skaitomumą ir švarumą.

3 pavyzdys

Be to, trys operatoriai gali būti naudojami vienas kito viduje. Norėdami patikrinti, ar šioje programoje reikšmė yra teigiama, neigiama ar nulis, naudokite įdėtą trijų dalių operatorių.

#include

#include

naudojant vardų sritį std ;

tarpt pagrindinis ( ) {
tarpt sveikasis skaičius = 0 ;
eilutė Rezultatas ;

Rezultatas = ( sveikasis skaičius == 0 ) ? 'nulis' : ( ( sveikasis skaičius > 0 ) ? 'Teigiamas' : 'Neigiamas' ) ;

cout << 'Sveikasis skaičius yra' << Rezultatas ;

grąžinti 0 ;
}

Tiesiog pradėkite nuo pagrindinio programos metodo. Int main () sukūrėme kintamąjį pavadinimu „integer“ ir nustatėme jo reikšmę nuliui. Tada mes apibrėžėme kitą kintamąjį „Result“ su duomenų tipo eilute. Mes nustatėme kintamąjį „Rezultatas“, apeidami į jį trijų dalių operatorių. Sąlyga yra ta, kad kintamojo 'integer' reikšmė turi būti lygi nuliui 'integer == 0'. Pradinė sąlyga (sveikasis skaičius == 0) nustato, ar duotas sveikasis skaičius yra nulis, ar ne. Jei taip, rezultatui suteikiama eilutės reikšmė „Nulis“. jei atsakymas teisingas. Kitu atveju, jei pirmoji sąlyga klaidinga, nagrinėjama antroji sąlyga (sveikasis skaičius > 0).

Taip, pateiktas sveikasis skaičius yra nulis, kaip parodyta scenarijuje. Išvestis generuoja „Sveikasis skaičius yra nulis“.

Išvada

Žinome, kad sąlyginis operatorius yra trijų dalių operatorius. Naudodami šį operatorių galime patikrinti būklę ir veikti pagal ją. Tą patį galime atlikti naudodami if-else sąlygas, o ne trejotį operatorių. Ši C++ pamoka išmokė mus naudoti „Ternary Operator“ naudojant jo sintaksę ir pavyzdines programas. Atminkite, kad trijų dalių operatorius turi būti naudojamas tik tuo atveju, jei galutinis teiginys yra glaustas.