Sąlyginis operatorius taip pat žinomas kaip a trijų dalių operatorius . Sąlyginiai teiginiai yra sprendimų priėmimo teiginiai, kurie priklauso nuo išraiškos išvesties. Jis pavaizduotas dviem simboliais, ty „? ir „:“.
Kadangi sąlyginis operatorius veikia su trimis operandais, jis taip pat žinomas kaip trijų dalių operatorius.
Sąlyginio operatoriaus elgesys yra panašus į ' jei-kitaip “ teiginys kaip „jei-kitaip“ taip pat yra sprendimo priėmimo teiginys.
Sąlyginio operatoriaus sintaksė
Expression1? expression2: expression3;
Aukščiau pateiktos sintaksės vaizdinis vaizdas parodytas žemiau:
Aukščiau pateiktos sintaksės reikšmė.
- Aukščiau pateiktoje sintaksėje išraiška1 yra Būlio sąlyga, kurios reikšmė gali būti teisinga arba klaidinga.
- Jei išraiškos1 rezultatas yra tikroji reikšmė, tada išraiška2 bus vykdoma.
- Teigiama, kad išraiška2 yra teisinga tik tada, kai ji grąžina nulinę reikšmę.
- Jei išraiška1 grąžina klaidingą reikšmę, išraiška3 bus vykdoma.
- Teigiama, kad išraiška3 yra klaidinga tik tada, kai grąžina nulinę reikšmę.
Supraskime trinarį arba sąlyginį operatorių per pavyzdį.
#include int main() { int age; // variable declaration printf('Enter your age'); scanf('%d',&age); // taking user input for age variable (age>=18)? (printf('eligible for voting')) : (printf('not eligible for voting')); // conditional operator return 0; }
Aukščiau pateiktame kode įvestį laikome kaip vartotojo „amžių“. Paėmę įvestį pritaikėme sąlygą naudodami sąlyginį operatorių. Esant tokiai būsenai, mes tikriname vartotojo amžių. Jei vartotojo amžius yra didesnis arba lygus 18 metų, pareiškimas1 bus vykdomas, t. y. (printf('tinkamas balsuoti')), kitu atveju bus vykdomas pareiškimas2, t. y. (printf('negalima balsuoti') ).
Stebėkime aukščiau pateiktos programos išvestį.
Jei nurodysime jaunesnio nei 18 metų vartotojo amžių, išvestis būtų tokia:
Jei nurodysime vartotojo amžių, vyresni nei 18 metų, tada išvestis būtų tokia:
Kaip matome iš aukščiau pateiktų dviejų išėjimų, jei sąlyga yra teisinga, tada pareiškimas1 vykdomas; kitu atveju bus vykdomas pareiškimas2.
Iki šiol stebėjome, kaip sąlyginis operatorius patikrina sąlygą ir pagal sąlygą vykdo sakinius. Dabar pamatysime, kaip sąlyginis operatorius naudojamas kintamojo reikšmei priskirti.
Atsisiųsti xvideoservicethief ubuntu 14.04
Supraskime šį scenarijų per pavyzdį.
#include int main() { int a=5,b; // variable declaration b=((a==5)?(3):(2)); // conditional operator printf('The value of 'b' variable is : %d',b); return 0; }
Aukščiau pateiktame kode paskelbėme du kintamuosius, ty „a“ ir „b“, ir kintamajam „a“ priskyrėme 5 reikšmę. Po deklaracijos kintamajam „b“ priskiriame reikšmę naudodami sąlyginį operatorių. Jei „a“ reikšmė yra lygi 5, tada „b“ priskiriama 3 reikšmei, kitu atveju 2.
Išvestis
Aukščiau pateikta išvestis rodo, kad „b“ kintamojo reikšmė yra 3, nes „a“ kintamojo reikšmė yra lygi 5.
Kaip žinome, sąlyginio operatoriaus ir „jei-kita“ elgesys yra panašus, tačiau jie turi tam tikrų skirtumų. Pažvelkime į jų skirtumus.
- Sąlyginis operatorius yra vienas programavimo sakinys, o sakinys „if-else“ yra programavimo blokas, kuriame sakiniai pateikiami skliausteliuose.
- Sąlyginis operatorius taip pat gali būti naudojamas kintamojo reikšmei priskirti, o sakinys „if-else“ negali būti naudojamas priskyrimo tikslui.
- Tai nėra naudinga vykdant teiginius, kai teiginiai yra keli, o sakinys „if-else“ yra tinkamesnis vykdant kelis teiginius.
- Įdėtas trijų dalių operatorius yra sudėtingesnis ir jo negalima lengvai derinti, o įdėtą „if-else“ teiginį lengva skaityti ir prižiūrėti.