Syntaks for den ternære operatør i C++
De tre operander er nødvendige for den ternære operator: den betingede, den sande og den falske. Da den ternære operatør analyserer testtilstanden og, afhængigt af resultatet, udfører en kodeblok, er syntaksen:
# (exp_1) ? exp_2 : exp_3Her repræsenterer 'exp' udtrykket. Afhængigt af et udtryks resultat returnerer denne operator en af to værdier. Udtryk 2 og 3 evalueres, og deres værdier returneres som endelige resultater, hvis 'exp_1' evalueres til en boolesk sand; ellers evalueres udtryk 1 til en boolesk falsk, og udtryk 2 evalueres, og dets værdi returneres som et endeligt resultat.
Eksempel 1
Her er et enkelt eksempelprogram, der viser, hvordan man bruger C++'s ternære operatør.
#include
#inkluder
bruger navneområde std ;
int vigtigste ( ) {
dobbelt CGPA ;
cout <> CGPA ;
streng elev_resultat = ( CGPA >= 1.5 ) ? 'bestået' : 'mislykkedes' ;
cout << 'dig' << elev_resultat << 'semesteret.' ;
Vend tilbage 0 ;
}
I programmet har vi fyldt vores header-sektion med C++-bibliotekerne. Derefter tilføjede vi navneområde std med søgeordet 'bruger'. Derefter er variablen 'CGPA' med typen af data 'dobbelt' blevet erklæret inde i den. I den næste linje har vi bedt brugeren om at indtaste CGPA ved at udskrive cout-kommandoen. Med cin-kommandoen tilføjer brugere CGPA.
Derefter oprettede vi en anden variabel, 'student_result', som har en ternær operator. Den ternære operator har brug for de tre udtryk her. Først er betingelsen, der kontrollerer, om den CGPA, som brugeren har indtastet, er større end eller lig med '1,5'. Hvis det er tilfældet, vil erklæringen 'bestået' blive udskrevet, eller også vil det tredje udtryk blive udskrevet. Resultatet vil blive vist, når du bruger cout-kommandoen.
Lad os sige, at brugeren skriver CGPA '3.5'. CGPA >= 1,5 evalueres derefter til sand og opfylder kriteriet. Så resultatet får det første udtryk 'bestået'.
Lad os sige, at brugeren skriver 1.00. Som et resultat heraf vurderes tilstanden CGPA >= 1,5 forkert. Derfor får resultatet det andet udtryk, 'mislykkedes'.
Eksempel 2
Visse slags if else-sætninger i C++ kan byttes ud med den ternære operator. Vi kan ændre denne kode som et eksempel. Det første eksempelprogram bruger betingelsen if-else, og det andet eksempelprogram bruger den ternære operator.
#includebruger navneområde std ;
int vigtigste ( ) {
int på en = - 3 ;
cout << 'på en :' < 0 )
cout << ' \n Positivt heltal' ;
andet
cout << ' \n Negativt heltal!' ;
Vend tilbage 0 ;
}
Vi har erklæret og initialiseret int-datatypevariablen 'num' med den negative heltalsværdi. Derefter udskrives 'num'-værdien med cout-kommandoen. Så har vi hvis-else-betingelsen. Inde i 'hvis'-betingelsen har vi specificeret betingelsen om, at variablen 'num' skal være større end værdien nul. Hvis betingelsen bliver sand, udskrives cout-kommandoen lige efter 'hvis'-betingelsen. Hvis betingelsen bliver falsk, vil else cout-erklæringen blive udskrevet.
Da tallet er en negativ værdi, bliver if-betingelsen falsk og
Dernæst udførte vi ovenstående program med den ternære operatør. Lad os tjekke om if-else-tilstanden og den ternære operator har de samme virkninger.
#include#inkluder
bruger navneområde std ;
int vigtigste ( ) {
int MitNum = - 7 ;
cout << 'Heltal:' << MitNum < 0 ) ? 'Positivt heltal!' : 'Negativt heltal!' ;
cout << Resultat << endl ;
Vend tilbage 0 ;
}
Vi har erklæret variablen 'MyNum' og initialiseret den med en negativ værdi. Vi har udskrevet den negative værdi ved at kalde 'MyNum'-variablen inde i cout-kommandoen. Derefter indstiller vi en anden variabel som 'Outcome' med strengtypen. Udfaldsvariablen tager den ternære operatoroperation. For det første har vi betingelsen om, at 'MitNum' skal være større end nul. Derefter sætter vi en ternær operatør '?'. De to andre udtryk vil blive udført på betingelsesresultatet.
Da heltalsværdien er '-7', det tredje udtryk, 'Negativt heltal!' er udskrevet på prompten. Her er output fra begge applikationer det samme. Den ternære operatør forbedrer dog læsbarheden og renheden af vores kode.
Eksempel 3
Derudover kan ternære operatører anvendes inde i hinanden. Brug den indlejrede ternære operator til at kontrollere, om en værdi er positiv, negativ eller nul i det følgende program.
#include#inkluder
bruger navneområde std ;
int vigtigste ( ) {
int heltal = 0 ;
streng Resultat ;
Resultat = ( heltal == 0 ) ? 'Nul' : ( ( heltal > 0 ) ? 'Positiv' : 'Negativ' ) ;
cout << 'Heltal er' << Resultat ;
Vend tilbage 0 ;
}
Bare start med programmets hovedmetode. I int main() har vi oprettet variablen med navnet 'heltal' og sat dens værdi til nul. Derefter definerede vi en anden variabel, 'Resultat', med datatypestrengen. Vi har indstillet variablen 'Resultat', uden om den ternære operator til den. Betingelsen er, at variablen 'heltal' skal være lig med nul 'heltal == 0'. Startbetingelsen, (heltal == 0), bestemmer, om et givet heltal er nul eller ej. Hvis det er tilfældet, får resultatet strengværdien 'Nul'. hvis svaret er rigtigt. Ellers, hvis den første betingelse er falsk, undersøges den anden betingelse (heltal > 0).
Ja, det angivne heltal er nul, som vist i scriptet. Outputtet genererer 'Heltal er nul'.
Konklusion
Vi er klar over, at den betingede operatør er den ternære operatør. Ved hjælp af denne operatør kan vi kontrollere en tilstand og handle i overensstemmelse med den. Vi kan opnå det samme ved at bruge if-else-betingelser i stedet for den ternære operator. Denne C++ tutorial lærte os, hvordan man bruger den ternære operatør gennem dens syntaks og eksempelprogrammer. Husk, at den ternære operator kun må bruges, hvis den endelige erklæring er kortfattet.