logo

Betinget operatør i C

Den betingede operatør er også kendt som en ternær operatør . De betingede udsagn er de beslutningsgivende udsagn, som afhænger af outputtet af udtrykket. Det er repræsenteret af to symboler, dvs. '?' og ':'.

Da betinget operator fungerer på tre operander, er den også kendt som den ternære operator.

Den betingede operatørs adfærd ligner ' hvis ellers ' erklæring som 'hvis-andet'-erklæring er også en beslutningserklæring.

Syntaks for en betinget operator

 Expression1? expression2: expression3; 

Den billedlige repræsentation af ovenstående syntaks er vist nedenfor:

Betinget operatør i C

Betydningen af ​​ovenstående syntaks.

  • I ovenstående syntaks er udtryk1 en boolsk betingelse, der kan være enten sand eller falsk.
  • Hvis expression1 resulterer i en sand værdi, vil expression2 udføres.
  • Udtrykket2 siges kun at være sandt, når det returnerer en værdi, der ikke er nul.
  • Hvis expression1 returnerer falsk værdi, vil expression3 udføres.
  • Udtrykket3 siges kun at være falsk, når det returnerer nulværdi.

Lad os forstå den ternære eller betingede operator gennem et eksempel.

 #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; } 

I ovenstående kode tager vi input som brugerens 'alder'. Efter at have taget input har vi anvendt betingelsen ved at bruge en betinget operator. I denne tilstand kontrollerer vi brugerens alder. Hvis brugerens alder er større end eller lig med 18 år, vil erklæringen1 blive eksekveret, dvs. (printf('kvalificeret til at stemme')), ellers vil erklæring2 udføres, dvs. (printf('ikke stemmeberettiget') ).

Lad os observere outputtet af ovenstående program.

Hvis vi angiver alderen på en bruger under 18 år, vil outputtet være:

Betinget operatør i C

Hvis vi angiver alderen på en bruger over 18 år, vil outputtet være:

Betinget operatør i C

Som vi kan observere fra ovenstående to output, at hvis betingelsen er sand, så udføres sætningen1; ellers vil statement2 blive eksekveret.

Indtil nu har vi observeret, at hvordan betinget operatør kontrollerer betingelsen, og baseret på betingelsen, udfører den sætningerne. Nu vil vi se, hvordan en betinget operator bruges til at tildele værdien til en variabel.

indsætte i tastaturet

Lad os forstå dette scenarie gennem et eksempel.

 #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; } 

I ovenstående kode har vi erklæret to variable, dvs. 'a' og 'b', og tildeler 5-værdien til 'a'-variablen. Efter erklæringen tildeler vi værdien til 'b'-variablen ved at bruge den betingede operator. Hvis værdien af ​​'a' er lig med 5, tildeles 'b' en 3-værdi ellers 2.

Produktion

Betinget operatør i C

Ovenstående output viser, at værdien af ​​'b' variabel er 3, fordi værdien af ​​'a' variabel er lig med 5.

Som vi ved, at adfærden af ​​betinget operator og 'hvis-else' er ens, men de har nogle forskelle. Lad os se på deres forskelle.

  • En betinget operator er en enkelt programmeringssætning, mens 'if-else'-sætningen er en programmeringsblok, hvor udsagn kommer under parentes.
  • En betinget operator kan også bruges til at tildele en værdi til variablen, hvorimod 'if-else'-sætningen ikke kan bruges til tildelingsformålet.
  • Det er ikke nyttigt til at udføre sætningerne, når sætningerne er multiple, hvorimod 'if-else'-sætningen viser sig mere egnet, når du udfører flere sætninger.
  • Den indlejrede ternære operator er mere kompleks og kan ikke let fejlfindes, mens den indlejrede 'hvis-else'-sætning er nem at læse og vedligeholde.