C++ ternaire operator

C Ternaire Operator



“De voorwaardelijke operator en de if-else-instructie gebruiken beide dezelfde techniek, maar de voorwaardelijke operator maakt de if-else-expressies zo kort mogelijk, terwijl de if-else-expressie meer ruimte in beslag neemt. In sommige programmeertalen is er een operator die bekend staat als de ternaire operator die drie operanden accepteert in tegenstelling tot de gebruikelijke één of twee die de meeste operators nodig hebben. Het biedt een manier om een ​​basis if-else-blok te condenseren. In deze handleiding wordt de ternaire operator in C++ aan de hand van voorbeelden behandeld. In sommige gevallen kan de if else-instructie in C++-toepassingen worden vervangen door de ternaire operator, ook wel bekend als de voorwaardelijke operator.

Syntaxis van de ternaire operator in C++

De drie operanden zijn vereist voor de ternaire operator: de voorwaardelijke, de ware en de valse. Terwijl de ternaire operator de testconditie analyseert en, afhankelijk van de uitkomst, een codeblok uitvoert, is de syntaxis:

# (exp_1) ? exp_2 : exp_3

Hier staat 'exp' voor de uitdrukking. Afhankelijk van de uitkomst van een uitdrukking, retourneert deze operator een van de twee waarden. Uitdrukkingen 2 en 3 worden geëvalueerd en hun waarden worden geretourneerd als eindresultaten als 'exp_1' wordt geëvalueerd als een Boolean true; anders wordt expressie 1 geëvalueerd tot een Boolean false, en expressie 2 wordt geëvalueerd, en de waarde ervan wordt geretourneerd als een eindresultaat.







voorbeeld 1

Hier is een eenvoudig voorbeeldprogramma dat laat zien hoe u de Ternary Operator van C++ gebruikt.



#include

#include

namespace std; gebruiken ;

int hoofd ( ) {
dubbele CGPA ;
cout <> CGPA ;

tekenreeks student_resultaat = ( CGPA >= 1.5 ) ? 'geslaagd' : 'mislukt' ;

cout << 'Jij ' << student_resultaat << ' het semester.' ;

opbrengst 0 ;
}



In het programma hebben we onze koptekstsectie gevuld met de C++-bibliotheken. Daarna hebben we namespace std toegevoegd met het trefwoord 'using'. Vervolgens is de variabele 'CGPA' met het type gegevens 'dubbel' erin gedeclareerd. In de volgende regel hebben we de gebruiker gevraagd de CGPA in te voeren door het cout-commando af te drukken. Met de opdracht cin voegen gebruikers de CGPA toe.





Vervolgens hebben we een andere variabele gemaakt, 'student_result', die een ternaire operator heeft. De ternaire operator heeft hier de drie uitdrukkingen nodig. De eerste is de voorwaarde die controleert of de door de gebruiker ingevoerde CGPA groter is dan of gelijk is aan '1,5'. Als dat het geval is, wordt de verklaring 'geslaagd' afgedrukt, of anders wordt de derde uitdrukking afgedrukt. Het resultaat wordt getoond wanneer u het cout-commando gebruikt.

Laten we zeggen dat de gebruiker de CGPA '3.5' typt. CGPA >= 1.5 evalueert dan naar waar, en voldoet aan het criterium. Het resultaat krijgt dus de eerste term 'geslaagd'.



Laten we zeggen dat de gebruiker 1.00 typt. Als gevolg hiervan wordt de conditie CGPA >= 1,5 foutief beoordeeld. Daarom krijgt de uitkomst de tweede uitdrukking, 'mislukt'.

Voorbeeld 2

Bepaalde soorten if else-statements in C++ kunnen worden uitgewisseld met de ternaire operator. We kunnen deze code als voorbeeld wijzigen. Het eerste voorbeeldprogramma gebruikt de if-else-voorwaarde en het andere voorbeeldprogramma gebruikt de ternaire operator.

#include

namespace std; gebruiken ;

int hoofd ( ) {

int op een = - 3 ;
cout << 'op een :' < 0 )
cout << ' \n Positief integer' ;
anders
cout << ' \n Negatief geheel getal!' ;

opbrengst 0 ;
}

We hebben de int-gegevenstypevariabele 'num' gedeclareerd en geïnitialiseerd met de negatieve integerwaarde. Daarna wordt met het cout-commando de 'num' -waarde afgedrukt. Dan hebben we de if-else voorwaarde. Binnen de 'if' -voorwaarde hebben we de voorwaarde gespecificeerd dat de variabele 'num' groter moet zijn dan de waarde nul. Als de voorwaarde waar wordt, wordt het cout-commando net na de 'if' -voorwaarde afgedrukt. Als de voorwaarde onwaar wordt, wordt de else cout-verklaring afgedrukt.

Aangezien het getal een negatieve waarde is, wordt de if-voorwaarde onwaar en de

Vervolgens hebben we het bovenstaande programma uitgevoerd met de ternaire operator. Laten we eens kijken of de if-else voorwaarde en de ternaire operator dezelfde effecten hebben.

#include

#include

namespace std; gebruiken ;

int hoofd ( ) {

int MijnNum = - 7 ;
cout << 'Geheel getal:' << MijnNum < 0 ) ? 'Positief integer!' : 'Negatief geheel getal!' ;
cout << Resultaat << eindel ;

opbrengst 0 ;
}

We hebben de variabele 'MyNum' gedeclareerd en geïnitialiseerd met een negatieve waarde. We hebben de negatieve waarde afgedrukt door de variabele 'MyNum' in het cout-commando aan te roepen. Vervolgens stellen we een andere variabele in als 'Uitkomst' met het tekenreekstype. De uitkomstvariabele neemt de ternaire operatoroperatie. Ten eerste hebben we de voorwaarde dat 'MyNum' groter moet zijn dan nul. Daarna plaatsen we een ternaire operator '?'. De andere twee expressies worden uitgevoerd op het resultaat van de voorwaarde.

Aangezien de integerwaarde '-7' is, is de derde uitdrukking, 'Negative Integer!' wordt afgedrukt op de prompt. Hier is de uitvoer van beide toepassingen hetzelfde. De ternaire operator verbetert echter de leesbaarheid en netheid van onze code.

Voorbeeld 3

Bovendien kunnen ternaire operators in elkaar worden gebruikt. Gebruik de geneste ternaire operator om te controleren of een waarde positief, negatief of nul is in het volgende programma.

#include

#include

namespace std; gebruiken ;

int hoofd ( ) {
int geheel getal = 0 ;
tekenreeks Resultaat ;

Resultaat = ( geheel getal == 0 ) ? 'Nul' : ( ( geheel getal > 0 ) ? 'Positief' : 'Negatief' ) ;

cout << 'Integer is' << Resultaat ;

opbrengst 0 ;
}

Begin gewoon met de hoofdmethode van het programma. In de int main() hebben we de variabele met de naam 'integer' gemaakt en de waarde op nul gezet. Vervolgens hebben we een andere variabele gedefinieerd, 'Resultaat', met de gegevenstypereeks. We hebben de variabele 'Resultaat' ingesteld, waarbij we de ternaire operator hebben omzeild. De voorwaarde is dat de waarde van de variabele “integer” gelijk moet zijn aan nul “integer == 0”. De beginvoorwaarde, (geheel getal == 0), bepaalt of een bepaald geheel getal nul is. Als dat het geval is, krijgt het resultaat de tekenreekswaarde 'Nul'. als het antwoord goed is. Anders, als de eerste voorwaarde onwaar is, wordt de tweede voorwaarde (geheel getal > 0) onderzocht.

Ja, het opgegeven gehele getal is nul, zoals weergegeven in het script. De uitvoer genereert de 'Integer is Zero'.

Conclusie

We zijn ons ervan bewust dat de voorwaardelijke operator de ternaire operator is. Met behulp van deze operator kunnen we een voorwaarde controleren en ernaar handelen. We kunnen hetzelfde bereiken met if-else-voorwaarden in plaats van de ternaire operator. Deze C++-tutorial heeft ons geleerd hoe we de Ternary-operator moeten gebruiken via de syntaxis en voorbeeldprogramma's. Houd er rekening mee dat de ternaire operator alleen mag worden gebruikt als de eindverklaring beknopt is.