logo

Päätöksenteko C:ssä (jos , jos..else, sisäkkäinen jos, jos-else-if )

The ehdolliset lausunnot (tunnetaan myös päätöksentekorakenteina), kuten jos muuta, kytkintä jne. käytetään päätöksentekotarkoituksiin C-ohjelmissa.

Ne tunnetaan myös päätöksentekolausuntoina, ja niitä käytetään arvioimaan yhtä tai useampaa ehtoa ja tekemään päätös siitä, suoritetaanko lausuntojoukko vai ei. Nämä ohjelmointikielien päätöksentekolausekkeet määräävät ohjelman suoritusvirran suunnan.



Ehdollisten lausuntojen tarve

Tosielämässä tulee tilanteita, jolloin joudumme tekemään päätöksiä ja näiden päätösten perusteella päätämme, mitä teemme seuraavaksi. Samanlaisia ​​tilanteita syntyy ohjelmoinnissa myös silloin, kun joudumme tekemään päätöksiä ja näiden päätösten perusteella suoritamme seuraavan koodilohkon. Esimerkiksi C:ssä, jos x esiintyy, suorita y muuten suorita z. Voi myös olla useita ehtoja, kuten C:ssä, jos x tapahtuu, suorita p, muuten jos ehto y toteutuu, suorita q, muuten suorita r. Tämä C else-if -ehto on yksi monista tavoista tuoda useita ehtoja.

Ehdollisten lausekkeiden tyypit C:ssä

Seuraavat ovat C:ssä saatavilla olevat päätöksentekolausunnot:

python __dict__
  1. jos lausunto
  2. jos-else lausunto
  3. Sisäkkäinen if-lausunto
  4. jos-else-if Tikkaat
  5. kytkinlausunto
  6. Ehdollinen operaattori
  7. Hyppylauseet:
    • tauko
    • jatkaa
    • mene
    • palata

Keskustellaan jokaisesta niistä yksitellen.



1. jos C

The jos lausunto on yksinkertaisin päätöksentekolausunto. Sitä käytetään päättämään, suoritetaanko tietty lauseke tai lausekelohko vai ei, eli jos tietty ehto on tosi, lausekelohko suoritetaan muuten ei.

if-lausekkeen syntaksi

  if  (  condition  )  {    // Statements to execute if     // condition is true  }>

Tässä, kunto arvioinnin jälkeen on joko tosi tai epätosi. C jos lauseke hyväksyy loogiset arvot – jos arvo on tosi, se suorittaa sen alapuolella olevan lausekkeen muuten ei. Jos emme anna aaltosulkuja '{' ja '}' if(ehto) jälkeen, oletusarvoisesti if-lause pitää ensimmäistä välittömästi alla olevaa lausetta lohkonsa sisällä.

If-lausunnon vuokaavio

jos vuokaavio

if-lauseen vuokaavio



Esimerkki jos C:ssä

C




// C program to illustrate If statement> #include> > int> main()> {> >int> i = 10;> > >if> (i>15) {>> printf>(>'10 is greater than 15'>);> >}> > >printf>(>'I am Not in if'>);> }>

>

>

Lähtö

I am Not in if>

Koska if-lauseessa oleva ehto on epätosi. Joten if-lauseen alla olevaa lohkoa ei suoriteta.

2. if-else kielessä C

The jos lause yksin kertoo, että jos ehto on tosi, se suorittaa lauselohkon ja jos ehto on epätosi, se ei suorita. Mutta entä jos haluamme tehdä jotain muuta, kun ehto on väärä? Täältä tulee C muu lausunto. Voimme käyttää muu lausunto kanssa jos lauseke koodilohkon suorittamiseksi, kun ehto on epätosi. The jos-muu lausunto koostuu kahdesta lohkosta, joista toinen on väärä lauseke ja toinen tosi lauseke.

Jos muun syntaksi C:ssä

  if   (  condition  ) {     // Executes this block if     // condition is true  }   else  {    // Executes this block if     // condition is false  }>

If-else-lausunnon vuokaavio

jos muuten vuokaavio

Virtauskaavio jos muuta

Esimerkki if-else

C




// C program to illustrate If statement> #include> > int> main()> {> >int> i = 20;> > >if> (i <15) {> > >printf>(>'i is smaller than 15'>);> >}> >else> {> > >printf>(>'i is greater than 15'>);> >}> >return> 0;> }>

>

>

Lähtö

i is greater than 15>

Seuraava koodilohko muu lauseke suoritetaan ehdolla, joka esiintyy lausekkeessa jos väite on väärä.

3. Sisäkkäinen if-else C:hen

Sisäkkäinen if in C on if-lause, joka on toisen if-lauseen kohde. Sisäkkäinen if-lauseet tarkoittavat if-lausetta toisen if-lauseen sisällä. Kyllä, C mahdollistaa sisäkkäisten if-lauseiden sisällyttämisen if-lauseiden sisään, eli voimme sijoittaa if-lauseen toisen if-lauseen sisään.

Sisäkkäisten if-else-syntaksi

  if   (  condition1  )  {    // Executes when condition1 is true     if   (  condition2  )   {     // Executes when condition2 is true   }    else   {    // Executes when condition2 is false  }>

Vuokaavio Sisäkkäisestä jos-else

Sisäkkäisen jos-else -tilan vuokaavio

Esimerkki sisäkkäisestä jos-else

C




// C program to illustrate nested-if statement> #include> > int> main()> {> >int> i = 10;> > >if> (i == 10) {> >// First if statement> >if> (i <15)> >printf>(>'i is smaller than 15 '>);> > >// Nested - if statement> >// Will only be executed if statement above> >// is true> >if> (i <12)> >printf>(>'i is smaller than 12 too '>);> >else> >printf>(>'i is greater than 15'>);> >}> > >return> 0;> }>

>

>

Lähtö

i is smaller than 15 i is smaller than 12 too>

4. if-else-if tikapuut C:ssä

The jos muuten jos lausunnot käytetään, kun käyttäjän on valittava useista vaihtoehdoista. C if -lauseet suoritetaan ylhäältä alas. Heti kun yksi if-ehtoa ohjaavista ehdoista on tosi, siihen if-lauseeseen liittyvä lauseke suoritetaan ja loput C else-if -tikkaat ohitetaan. Jos mikään ehdoista ei täyty, suoritetaan lopullinen else-lause. if-else-if ladder on samanlainen kuin kytkinlause.

harhaa ja varianssia

If-else-if-portaat syntaksi

  if   (  condition  )    statement;    else if   (  condition  )    statement;  . .   else     statement;>

Jos-else-if-portaiden vuokaavio

if-else-if -lauseen vuokaavio

Jos-else-if vuokaavio

Esimerkki if-else-if Ladderista

C




// C program to illustrate nested-if statement> #include> > int> main()> {> >int> i = 20;> > >if> (i == 10)> >printf>(>'i is 10'>);> >else> if> (i == 15)> >printf>(>'i is 15'>);> >else> if> (i == 20)> >printf>(>'i is 20'>);> >else> >printf>(>'i is not present'>);> }>

>

>

Lähtö

i is 20>

5. Vaihda lauseke C:ssä

The Vaihda tapauslausunto on vaihtoehto if else if -ladderille, jota voidaan käyttää ehdollisen koodin suorittamiseen kytkinkäskyssä määritetyn muuttujan arvon perusteella. Kytkinlohko koostuu tapauksista, jotka suoritetaan kytkinmuuttujan arvon perusteella.

Kytkimen syntaksi

  switch   (  expression  ) {    case     value1:     statements;     case    value2:     statements;   ....  ....  ....    default:     statements;  }>

Huomautus: Kytkinlausekkeen tulee muuttua joko kokonaisluvuksi tai merkiksi. Se ei voi arvioida muita tietotyyppejä.

Kytkimen vuokaavio

vaihtaa lauseen vuokaavio

C:n kytkimen vuokaavio

Esimerkki kytkimen lausunnosta

C




// C Program to illustrate the use of switch statement> #include> > int> main()> {> >// variable to be used in switch statement> >int> var = 2;> > >// declaring switch cases> >switch> (var) {> >case> 1:> >printf>(>'Case 1 is executed'>);> >break>;> >case> 2:> >printf>(>'Case 2 is executed'>);> >break>;> >default>:> >printf>(>'Default Case is executed'>);> >break>;> >}> > >return> 0;> }>

>

>

Lähtö

Case 2 is executed>

6. Ehdollinen operaattori C:ssä

The ehdollinen operaattori käytetään ehdollisen koodin lisäämiseen ohjelmaamme. Se on samanlainen kuin if-else-lause. Se tunnetaan myös kolmiosaisena operaattorina, koska se toimii kolmella operandilla.

Ehdollisen operaattorin syntaksi

(  condition  )   ?     [true_statements]     :     [false_statements]  ;>

Ehdollisen operaattorin vuokaavio

ehdollisten operaattoreiden vuokaavio

Ehdollisen operaattorin vuokaavio

Esimerkki ehdollisesta operaattorista

C




// C Program to illustrate the use of conditional operator> #include> > // driver code> int> main()> {> > >int> var;> >int> flag = 0;> > >// using conditional operator to assign the value to var> >// according to the value of flag> >var = flag == 0 ? 25 : -25;> >printf>(>'Value of var when flag is 0: %d '>, var);> > >// changing the value of flag> >flag = 1;> >// again assigning the value to var using same statement> >var = flag == 0 ? 25 : -25;> >printf>(>'Value of var when flag is NOT 0: %d'>, var);> > >return> 0;> }>

>

>

Lähtö

Value of var when flag is 0: 25 Value of var when flag is NOT 0: -25>

7. Hyppylauseet C:ssä

Näitä lauseita käytetään C:ssä ohjelman funktioiden ehdottomaan ohjaukseen. Ne tukevat neljää tyyppiä hyppylausekkeita:

A) tauko

Tätä silmukan ohjauslausetta käytetään silmukan päättämiseen. Heti kun tauko lauseke kohdataan silmukan sisältä, silmukan iteraatiot pysähtyvät siihen ja ohjaus palaa silmukasta välittömästi ensimmäiseen silmukan jälkeiseen lauseeseen.

Tauon syntaksi

break;>

Periaatteessa break-lauseita käytetään tilanteissa, joissa emme ole varmoja silmukan todellisesta iteraatioiden määrästä tai haluamme lopettaa silmukan jonkin ehdon perusteella.

katkaista vuokaavio

Esimerkki tauosta

C




// C program to illustrate> // to show usage of break> // statement> #include> > void> findElement(>int> arr[],>int> size,>int> key)> {> >// loop to traverse array and search for key> >for> (>int> i = 0; i if (arr[i] == key) { printf('Element found at position: %d', (i + 1)); break; } } } int main() { int arr[] = { 1, 2, 3, 4, 5, 6 }; // no of elements int n = 6; // key to be searched int key = 3; // Calling function to find the key findElement(arr, n, key); return 0; }>

>

>

Lähtö

Element found at position: 3>

B) jatkaa

Tämä silmukan ohjauskäsky on aivan kuten break-lause. The jatkaa lausunto on päinvastainen kuin tauko lausunto , sen sijaan, että se lopettaisi silmukan, se pakottaa suorittamaan silmukan seuraavan iteraation.
Kuten nimestä voi päätellä, jatka-lause pakottaa silmukan jatkamaan tai suorittamaan seuraavan iteroinnin. Kun jatka-käsky suoritetaan silmukassa, jatka-käskyä seuraavan silmukan sisällä oleva koodi ohitetaan ja silmukan seuraava iteraatio alkaa.

Jatkan syntaksi

continue;>

Jatkan vuokaavio

C:n jatkolausekkeen vuokaavio

Esimerkki jatkamisesta

C




java lista -menetelmiä
// C program to explain the use> // of continue statement> #include> > int> main()> {> >// loop from 1 to 10> >for> (>int> i = 1; i <= 10; i++) {> > >// If i is equals to 6,> >// continue to next iteration> >// without printing> >if> (i == 6)> >continue>;> > >else> >// otherwise print the value of i> >printf>(>'%d '>, i);> >}> > >return> 0;> }>

>

>

Lähtö

1 2 3 4 5 7 8 9 10>

Jos luot muuttujan if-else-muotoon C:ssä, se on paikallinen vain kyseiselle if/else-lohkolle. Voit käyttää globaaleja muuttujia if/else-lohkon sisällä. Jos if/else-kohdassa luomasi muuttujan nimi on sama kuin minkä tahansa globaalin muuttujan nimi, etusija annetaan paikalliselle muuttujalle.

i d e:n täysi muoto

C




#include> > int> main()> {> > >int> gfg = 0;>// local variable for main> >printf>(>'Before if-else block %d '>, gfg);> >if> (1) {> >int> gfg = 100;>// new local variable of if block> >printf>(>'if block %d '>, gfg);> >}> >printf>(>'After if block %d'>, gfg);> >return> 0;> }>

>

>

Lähtö

Before if-else block 0 if block 100 After if block 0>

C) mene

The sain lausunnon C:ssä, jota kutsutaan myös ehdottomaksi hyppylauseeksi, voidaan käyttää hyppäämään pisteestä toiseen funktion sisällä.

Sanan goto syntaksi

  Syntax1 | Syntax2  ----------------------------   goto     label;   |   label:   . | . . | . . | .   label:   |   goto     label;>

Yllä olevassa syntaksissa ensimmäinen rivi käskee kääntäjää siirtymään tunnisteeksi merkittyyn lauseeseen tai siirtymään siihen. Tässä tunniste on käyttäjän määrittämä tunniste, joka osoittaa kohdelausekkeen. Välittömästi 'label:' jälkeen seuraava lauseke on kohdelauseke. 'Label:' voi myös esiintyä ennen 'goto label;' -lausetta yllä olevassa syntaksissa.

Goto-lausunnon vuokaavio

Esimerkkejä gotosta

C




// C program to print numbers> // from 1 to 10 using goto> // statement> #include> > // function to print numbers from 1 to 10> void> printNumbers()> {> >int> n = 1;> label:> >printf>(>'%d '>, n);> >n++;> >if> (n <= 10)> >goto> label;> }> > // Driver program to test above function> int> main()> {> >printNumbers();> >return> 0;> }>

>

>

Lähtö

1 2 3 4 5 6 7 8 9 10>

D) paluu

The palata C:ssä palauttaa suorituksen kulun funktioon, josta sitä kutsutaan. Tämä lausunto ei vaadi pakollisia ehdollisia lauseita. Heti kun käsky on suoritettu, ohjelman kulku pysähtyy välittömästi ja palauttaa ohjauksen sieltä, mistä sitä kutsuttiin. Return-lause voi palauttaa tai ei välttämättä palauttaa mitään void-funktiolle, mutta ei-void-funktiolle on palautettava palautusarvo.

Palautuksen vuokaavio

paluuvuokaavio

Paluuvirtauskaavio

Palautuksen syntaksi

  return    [expression]  ;>

Esimerkki palautuksesta

C




// C code to illustrate return> // statement> #include> > // non-void return type> // function to calculate sum> int> SUM(>int> a,>int> b)> {> >int> s1 = a + b;> >return> s1;> }> > // returns void> // function to print> void> Print(>int> s2)> {> >printf>(>'The sum is %d'>, s2);> >return>;> }> > int> main()> {> >int> num1 = 10;> >int> num2 = 10;> >int> sum_of = SUM(num1, num2);> >Print(sum_of);> >return> 0;> }>

>

>

Lähtö

The sum is 20>