C++ ternär operatör

C Ternar Operator



'Den villkorliga operatorn och if-else-satsen använder båda samma teknik, men den villkorliga operatorn gör if-else-uttrycken så korta som möjligt medan if-else-uttrycket tar upp mer utrymme. I vissa programmeringsspråk finns det en operatör känd som den ternära operatören som accepterar tre operander i motsats till den vanliga en eller två som de flesta operatörer kräver. Det erbjuder ett sätt att kondensera ett grundläggande if-else-block. I den här guiden kommer den ternära operatorn i C++ att täckas via exempel. I vissa fall kan if else-satsen i C++-applikationer ersättas av den ternära operatorn, ofta känd som den villkorliga operatorn.'

Syntax för den ternära operatören i C++

De tre operanderna krävs för den ternära operatorn: den villkorliga, den sanna och den falska. När den ternära operatorn analyserar testvillkoret och, beroende på resultatet, exekverar ett kodblock, är syntaxen:

# (exp_1) ? exp_2 : exp_3

Här representerar 'exp' uttrycket. Beroende på ett uttrycks resultat returnerar denna operator ett av två värden. Uttryck 2 och 3 utvärderas och deras värden returneras som slutresultat om 'exp_1' utvärderas till en boolesk sann; annars utvärderas uttryck 1 till ett booleskt falskt och uttryck 2 utvärderas och dess värde returneras som ett slutresultat.







Exempel 1

Här är ett enkelt exempelprogram som visar hur man använder C++s ternära operatör.



#include

#inkludera

använder namnutrymme std ;

int huvud ( ) {
dubbel CGPA ;
cout <> CGPA ;

sträng student_result = ( CGPA >= 1.5 ) ? 'passerade' : 'misslyckades' ;

cout << 'Du ' << student_result << ' terminen.' ;

lämna tillbaka 0 ;
}



I programmet har vi fyllt vår rubriksektion med C++-biblioteken. Efter det lade vi till namnutrymme std med nyckelordet 'använder'. Sedan har variabeln 'CGPA' med typen av data 'dubbel' deklarerats inuti. På nästa rad har vi bett användaren att ange CGPA genom att skriva ut cout-kommandot. Med kommandot cin lägger användare till CGPA.





Sedan skapade vi en annan variabel, 'student_result', som har en ternär operator. Den ternära operatorn behöver de tre uttrycken här. Först är villkoret som kontrollerar om CGPA som angetts av användaren är större än eller lika med '1,5'. Om så är fallet kommer påståendet 'godkänd' att skrivas ut, eller så skrivs det tredje uttrycket ut. Resultatet kommer att visas när du använder cout-kommandot.

Låt oss säga att användaren skriver CGPA '3.5'. CGPA >= 1,5 utvärderas sedan till sant, vilket uppfyller kriteriet. Så resultatet ges den första termen 'godkänd'.



Låt oss säga att användaren skriver 1.00. Som ett resultat är tillståndet CGPA >= 1,5 felaktigt utvärderat. Därför ges utfallet det andra uttrycket, 'misslyckades'.

Exempel 2

Vissa typer av if else-satser i C++ kan bytas ut med den ternära operatorn. Vi kan ändra denna kod som ett exempel. Det första exempelprogrammet använder villkoret if-else, och det andra exempelprogrammet använder den ternära operatorn.

#include

använder namnutrymme std ;

int huvud ( ) {

int på ett = - 3 ;
cout << 'på ett :' < 0 )
cout << ' \n Positivt heltal' ;
annan
cout << ' \n Negativt heltal!' ;

lämna tillbaka 0 ;
}

Vi har deklarerat och initierat int-datatypvariabeln 'num' med det negativa heltalsvärdet. Efter det, med cout-kommandot, skrivs 'num'-värdet ut. Sedan har vi om-annat-villkoret. Inuti 'om'-villkoret har vi specificerat villkoret att variabeln 'num' ska vara större än värdet noll. Om villkoret blir sant, kommer cout-kommandot strax efter 'om'-villkoret att skrivas ut. Om villkoret blir falskt skrivs elsecout-intyget ut.

Eftersom talet är ett negativt värde blir if-villkoret falskt och

Därefter körde vi ovanstående program med den ternära operatorn. Låt oss kontrollera om if-else-villkoret och den ternära operatorn har samma effekter.

#include

#inkludera

använder namnutrymme std ;

int huvud ( ) {

int MittNum = - 7 ;
cout << 'Heltal:' << MittNum < 0 ) ? 'Positivt heltal!' : 'Negativt heltal!' ;
cout << Resultat << endl ;

lämna tillbaka 0 ;
}

Vi har deklarerat variabeln 'MyNum' och initialiserat den med ett negativt värde. Vi har skrivit ut det negativa värdet genom att anropa variabeln 'MyNum' inuti cout-kommandot. Sedan ställer vi in ​​en annan variabel som 'Outcome' med strängtypen. Utfallsvariabeln tar den ternära operatoroperationen. För det första har vi villkoret att 'MyNum' ska vara större än noll. Efter det sätter vi en ternär operatör '?'. De andra två uttrycken kommer att exekveras på villkorsresultatet.

Eftersom heltalsvärdet är '-7' är det tredje uttrycket 'Negativt heltal!' skrivs ut på prompten. Här är utgången från båda applikationerna densamma. Den ternära operatören förbättrar dock vår kods läsbarhet och renhet.

Exempel 3

Dessutom kan ternära operatörer användas inuti varandra. Använd den kapslade ternära operatorn för att kontrollera om ett värde är positivt, negativt eller noll i följande program.

#include

#inkludera

använder namnutrymme std ;

int huvud ( ) {
int heltal = 0 ;
sträng Resultat ;

Resultat = ( heltal == 0 ) ? 'Noll' : ( ( heltal > 0 ) ? 'Positiv' : 'Negativ' ) ;

cout << 'Heltal är' << Resultat ;

lämna tillbaka 0 ;
}

Börja bara med programmets huvudmetod. I int main() har vi skapat variabeln med namnet 'integer' och satt dess värde som noll. Sedan definierade vi en annan variabel, 'Resultat', med datatypsträngen. Vi har ställt in variabeln 'Result', som går förbi den ternära operatorn till den. Villkoret är att variabelns ”integer” värde ska vara lika med noll ”heltal == 0”. Det initiala villkoret, (heltal == 0), avgör om ett givet heltal är noll eller inte. Om så är fallet får resultatet strängvärdet 'Noll'. om svaret är rätt. Annars, om det första villkoret är falskt, undersöks det andra villkoret (heltal > 0).

Ja, det angivna heltal är noll, som visas i skriptet. Utgången genererar 'heltalet är noll'.

Slutsats

Vi är medvetna om att den villkorliga operatorn är den ternära operatorn. Med hjälp av denna operatör kan vi kontrollera ett tillstånd och agera i linje med det. Vi kan åstadkomma samma sak genom att använda if-else-villkor istället för den ternära operatorn. Denna C++ handledning lärde oss hur man använder den ternära operatören genom dess syntax och exempelprogram. Tänk på att den ternära operatorn endast får användas om det slutliga uttalandet är kortfattat.