C++ троичен оператор

C Troicen Operator



„И условният оператор, и операторът if-else използват една и съща техника, но условният оператор прави изразите if-else възможно най-кратки, докато изразът if-else заема повече място. В някои езици за програмиране има оператор, известен като троичен оператор, който приема три операнда за разлика от обичайните един или два, които повечето оператори изискват. Той предлага средство за кондензиране на основен if-else блок. В това ръководство троичният оператор в C++ ще бъде разгледан чрез примери. В някои случаи операторът if else в C++ приложения може да бъде заменен от троичния оператор, често известен като условен оператор.

Синтаксис на троичния оператор в C++

Трите операнда са необходими за троичния оператор: условен, верен и неверен. Тъй като троичният оператор анализира тестовото условие и в зависимост от резултата изпълнява блок от код, синтаксисът е:

# (exp_1)? опит_2: опит_3

Тук „exp“ представлява израза. В зависимост от резултата от израза, този оператор връща една от двете стойности. Изрази 2 и 3 се оценяват и техните стойности се връщат като крайни резултати, ако „exp_1“ се изчисли като булево вярно; в противен случай израз 1 се оценява на булево невярно, а израз 2 се оценява и стойността му се връща като краен резултат.







Пример 1

Ето ясна примерна програма, показваща как да използвате тернарния оператор на C++.



#include

#include <низ>

използване на пространство от имена std ;

вътр основен ( ) {
двойно CGPA ;
cout <> CGPA ;

низ student_result = ( CGPA >= 1.5 ) ? 'преминал' : 'се провали' ;

cout << 'Ти ' << ученически_резултат << ' семестърът.' ;

връщане 0 ;
}



В програмата сме попълнили нашата заглавна секция с C++ библиотеките. След това добавихме пространство от имена std с ключовата дума „using“. След това в нея е декларирана променливата “CGPA” с типа данни “double”. В следващия ред сме помолили потребителя да въведе CGPA, като отпечата командата cout. С командата cin потребителите добавят CGPA.





След това създадохме друга променлива, „student_result“, която има троичен оператор. Троичният оператор се нуждае от трите израза тук. Първото е условието, което проверява дали CGPA, въведен от потребителя, е по-голям или равен на „1,5“. Ако е така, ще бъде отпечатан изразът „успешно“ или в противен случай ще бъде отпечатан третият израз. Резултатът ще бъде показан, когато използвате командата cout.

Да приемем, че потребителят въвежда CGPA „3.5“. CGPA >= 1,5 след това се оценява като true, изпълнявайки критерия. И така, на резултата се дава първият термин „издържан“.



Да приемем, че потребителят въвежда 1.00. В резултат на това условието CGPA >= 1,5 се оценява неправилно. Следователно на резултата се дава вторият израз, „неуспешен“.

Пример 2

Определени видове оператори if else в C++ могат да бъдат заменени с троичния оператор. Можем да променим този код като пример. Първата примерна програма използва условието if-else, а другата примерна програма използва троичния оператор.

#include

използване на пространство от имена std ;

вътр основен ( ) {

вътр никой = - 3 ;
cout << 'никой :' < 0 )
cout << ' Положително цяло число' ;
друго
cout << ' Отрицателно цяло число!' ;

връщане 0 ;
}

Декларирахме и инициализирахме променливата тип int данни „num“ с отрицателна цяло число. След това с командата cout се отпечатва стойността 'num'. Тогава имаме условието if-else. Вътре в условието „if“ сме посочили условието, че променливата „num“ трябва да бъде по-голяма от стойността нула. Ако условието стане вярно, тогава командата cout точно след условието „if“ ще бъде отпечатана. Ако условието стане невярно, операторът else cout ще бъде отпечатан.

Тъй като числото е отрицателна стойност, условието ако става невярно и

След това изпълнихме горната програма с троичния оператор. Нека проверим дали условието if-else и троичният оператор имат еднакви ефекти.

#include

#include <низ>

използване на пространство от имена std ;

вътр основен ( ) {

вътр MyNum = - 7 ;
cout << 'Цяло число:' << MyNum < 0 ) ? „Цяло положително число!“ : „Отрицателно цяло число!“ ;
cout << Резултат << endl ;

връщане 0 ;
}

Декларирахме променливата “MyNum” и я инициализирахме с отрицателна стойност. Отпечатахме отрицателната стойност чрез извикване на променливата „MyNum“ в командата cout. След това задаваме друга променлива като „Резултат“ с типа низ. Резултатната променлива приема операцията на троичния оператор. Първо, имаме условието „MyNum“ да е по-голямо от нула. След това поставяме троичен оператор '?'. Другите два израза ще бъдат изпълнени при резултата от условието.

Тъй като целочислената стойност е '-7', третият израз, 'Отрицателно цяло число!' се отпечатва на подканата. Тук резултатът от двете приложения е един и същ. Троичният оператор обаче подобрява четливостта и чистотата на нашия код.

Пример 3

Освен това троичните оператори могат да се използват един в друг. Използвайте вложения троичен оператор, за да проверите дали дадена стойност е положителна, отрицателна или нула в следната програма.

#include

#include <низ>

използване на пространство от имена std ;

вътр основен ( ) {
вътр цяло число = 0 ;
низ Резултат ;

Резултат = ( цяло число == 0 ) ? 'нула' : ( ( цяло число > 0 ) ? 'Положителен' : 'отрицателен' ) ;

cout << 'Цяло число е' << Резултат ;

връщане 0 ;
}

Просто започнете с основния метод на програмата. В int main() сме създали променливата с името „integer“ и сме задали нейната стойност като нула. След това дефинирахме друга променлива, „Резултат“, с низ от типа данни. Задали сме променливата „Резултат“, заобикаляйки троичния оператор към нея. Условието е стойността на променливата “integer” да е равна на нула “integer == 0”. Първоначалното условие (цяло число == 0) определя дали дадено цяло число е нула или не. Ако е така, на резултата се дава стойността на низа „нула“. ако отговорът е правилен. В противен случай, ако първото условие е невярно, се проверява второто условие (цяло число > 0).

Да, предоставеното цяло число е нула, както е показано в скрипта. Резултатът генерира „Цялото число е нула“.

Заключение

Наясно сме, че условният оператор е троичен оператор. С помощта на този оператор можем да проверим условие и да действаме в съответствие с него. Можем да постигнем същото, като използваме условия if-else вместо троичния оператор. Този C++ урок ни научи как да използваме тернарния оператор чрез неговия синтаксис и примерни програми. Имайте предвид, че троичният оператор трябва да се използва само ако крайният израз е кратък.