logo

Sprendimų priėmimas C (jei , jei..else, įdėtas jei, jei-else-if )

The sąlyginiai teiginiai (taip pat žinomos kaip sprendimų valdymo struktūros), pvz., jei, jei kitaip, jungiklis ir pan., naudojami sprendimų priėmimo tikslais C programose.

Jie taip pat žinomi kaip sprendimų priėmimo pareiškimai ir naudojami įvertinti vieną ar daugiau sąlygų ir priimti sprendimą, ar vykdyti pareiškimų rinkinį, ar ne. Šie sprendimų priėmimo teiginiai programavimo kalbomis apsprendžia programos vykdymo srauto kryptį.



Sąlyginių pareiškimų poreikis

Realiame gyvenime pasitaiko situacijų, kai reikia priimti tam tikrus sprendimus ir remdamiesi šiais sprendimais nusprendžiame, ką daryti toliau. Panašių situacijų pasitaiko ir programuojant, kai turime priimti tam tikrus sprendimus ir remdamiesi šiais sprendimais vykdysime kitą kodo bloką. Pavyzdžiui, C, jei įvyksta x, tada vykdykite y, kitaip vykdykite z. Taip pat gali būti kelios sąlygos, pvz., C, jei įvyksta x, tada vykdykite p, kitu atveju, jei įvyksta sąlyga y, vykdykite q, kitu atveju vykdykite r. Ši C else-if sąlyga yra vienas iš daugelio kelių sąlygų importavimo būdų.

Sąlyginių teiginių tipai C

Toliau pateikiami sprendimų priėmimo pareiškimai, kuriuos galima rasti C:

  1. jei Pareiškimas
  2. jei kitaip pareiškimas
  3. Įdėta, jei pareiškimas
  4. if-else-if Kopėčios
  5. jungiklio pareiškimas
  6. Sąlyginis operatorius
  7. Peršokimo pareiškimai:
    • pertrauka
    • Tęsti
    • eiti į
    • grąžinti

Aptarkime kiekvieną iš jų po vieną.



1. jei C

The jei teiginys yra paprasčiausias sprendimo priėmimo teiginys. Jis naudojamas nuspręsti, ar tam tikras sakinys ar teiginių blokas bus vykdomas, ar ne, t. y. jei tam tikra sąlyga yra teisinga, tada teiginių blokas vykdomas, o kitu atveju ne.

If pareiškimo sintaksė

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

Čia, sąlyga po įvertinimo bus teisinga arba klaidinga. C, jei sakinys priima logines reikšmes – jei reikšmė teisinga, jis vykdys žemiau esantį teiginių bloką, kitaip ne. Jei nepateiksime riestinių skliaustų „{“ ir „}“ po if (sąlyga), pagal numatytuosius nustatymus if sakinys laikys pirmąjį iškart po teiginį esantį jo bloke.

Jei pareiškimo schema

jei schemą

Jei pareiškimo srauto diagrama



Pavyzdys, jei C

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'>);> }>

>

>

Išvestis

I am Not in if>

Jei teiginyje esanti sąlyga yra klaidinga. Taigi, blokas po if sakiniu nevykdomas.

2. if-else C

The jeigu Vien teiginys mums sako, kad jei sąlyga yra teisinga, ji vykdys teiginių bloką, o jei sąlyga klaidinga, ji nevykdys. Bet ką daryti, jei norime padaryti ką nors kita, kai sąlyga klaidinga? Čia ateina C Kitas pareiškimas. Mes galime naudoti Kitas pareiškimas su jeigu teiginį, kad įvykdytų kodo bloką, kai sąlyga klaidinga. The jei-kitaip teiginys susideda iš dviejų blokų, vienas skirtas klaidingai išraiškai, o kitas - tikrajai išraiškai.

Jei kita sintaksė C

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

Jei-else pareiškimo schema

jei dar schemą

Srauto schema, jei kitaip

Jei-kitaip pavyzdys

C




linux make komandą

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

>

>

Išvestis

i is greater than 15>

Kodo blokas po Kitas pareiškimas vykdomas kaip sąlyga, esanti jeigu teiginys yra klaidingas.

3. Įdėta jei-else į C

Įdėtas if teiginys C yra if sakinys, kuris yra kito if teiginio tikslas. Įdėta if teiginiai reiškia if teiginį kitame if teiginyje. Taip, C leidžia įterpti if teiginius if teiginiuose, t. y. galime įdėti if teiginį kito if teiginio viduje.

Įdėtos if-else sintaksė

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

Struktūrinė schema iš įdėtos jei-kita

Įdėtos if-else srauto diagrama

Įdėtos jei-else pavyzdys

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

>

>

Išvestis

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

4. if-else-if kopėčios C

The jei kitaip jei pareiškimai naudojami, kai vartotojas turi pasirinkti vieną iš kelių variantų. C, jei sakiniai vykdomi iš viršaus į apačią. Kai tik viena iš sąlygų, valdančių if, įvykdoma, o likusios C else-if kopėčios yra apeinamos. Jei nė viena iš sąlygų nėra teisinga, bus įvykdytas galutinis teiginys „elone“. if-else-if kopėčios yra panašios į jungiklio teiginį.

Jei-else-if kopėčių sintaksė

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

Jei-else-if kopėčių struktūrinė schema

if-else-if teiginio struktūrinė schema

Jei-else-if srauto diagrama

Jei-else-if kopėčių pavyzdys

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'>);> }>

>

>

Išvestis

i is 20>

5. perjungti pareiškimą C

The keitimo atvejo pareiškimas yra „if else if“ kopėčių alternatyva, kurią galima naudoti sąlyginiam kodui vykdyti pagal jungiklio sakinyje nurodytą kintamojo reikšmę. Perjungimo bloką sudaro atvejai, kurie turi būti vykdomi pagal jungiklio kintamojo reikšmę.

Jungiklio sintaksė

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

Pastaba: Perjungimo išraiška turi būti įvertinta kaip sveikasis skaičius arba simbolis. Jis negali įvertinti jokio kito duomenų tipo.

Jungiklio schema

jungiklio sakinio struktūrinė schema

Jungiklio schema C

Jungiklio pareiškimo pavyzdys

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

>

>

Išvestis

Case 2 is executed>

6. Sąlyginis operatorius C

The sąlyginis operatorius naudojamas sąlyginiam kodui įtraukti į mūsų programą. Tai panašu į if-else teiginį. Jis taip pat žinomas kaip trijų dalių operatorius, nes veikia trimis operandais.

Sąlyginio operatoriaus sintaksė

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

Sąlyginio operatoriaus schema

Sąlyginių operatorių schemą

Sąlyginio operatoriaus srauto diagrama

Sąlyginio operatoriaus pavyzdys

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

>

>

kmp algoritmas
Išvestis

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

7. Peršokimo teiginiai C

Šie teiginiai naudojami C kalboje besąlyginiam valdymo srautui visose programos funkcijose. Jie palaiko keturių tipų šuolio teiginius:

A) pertrauka

Šis kilpos valdymo sakinys naudojamas kilpai užbaigti. Kai tik pertrauka pareiškimas aptinkamas ciklo viduje, ciklo iteracijos čia sustoja, o valdymas grįžta iš ciklo iš karto į pirmąjį sakinį po ciklo.

Pertraukos sintaksė

break;>

Iš esmės pertraukos teiginiai naudojami tais atvejais, kai nesame tikri dėl tikrojo ciklo iteracijų skaičiaus arba norime nutraukti ciklą dėl tam tikrų sąlygų.

pertraukos schemą

Pertraukos pavyzdys

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

>

>

Išvestis

Element found at position: 3>

B) Tęsti

Šis kilpos valdymo sakinys yra kaip ir pertraukos sakinys. The Tęsti pareiškimas yra priešinga pertraukai pareiškimas , užuot nutraukęs kilpą, jis verčia vykdyti kitą ciklo iteraciją.
Kaip rodo pavadinimas, teiginys tęsti verčia kilpą tęsti arba vykdyti kitą iteraciją. Kai cikle vykdomas teiginys tęsti, ciklas, esantis po teiginio tęsti, bus praleistas ir prasidės kita ciklo iteracija.

Tęsimo sintaksė

continue;>

Tęsimo schema

C tęsinio teiginio srauto diagrama

mvc spyruokliniame karkase

Tęsimo pavyzdys

C




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

>

>

Išvestis

1 2 3 4 5 7 8 9 10>

Jei sukursite kintamąjį if-else C, jis bus vietinis tik tam if/else blokui. Jei/else bloke galite naudoti visuotinius kintamuosius. Jei kintamojo, kurį sukūrėte if/else, pavadinimas yra toks pat kaip ir bet kurio visuotinio kintamojo, pirmenybė bus suteikta „vietiniam kintamajam“.

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

>

>

Išvestis

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

C) eiti į

The goto pareiškimas C taip pat vadinamas besąlyginio šuolio sakiniu, gali būti naudojamas peršokti iš vieno taško į kitą funkcijos viduje.

Goto sintaksė

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

Pirmiau pateiktoje sintaksėje pirmoji eilutė nurodo kompiliatoriui pereiti prie teiginio, pažymėto kaip etiketė, arba pereiti prie jo. Čia etiketė yra vartotojo nustatytas identifikatorius, nurodantis tikslinį teiginį. Teiginys, esantis iškart po „etiketės:“, yra paskirties teiginys. „Label:“ taip pat gali būti rodomas prieš teiginį „goto label;“ aukščiau pateiktoje sintaksėje.

Goto pareiškimo schema

Goto pavyzdžiai

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

>

>

Išvestis

1 2 3 4 5 6 7 8 9 10>

D) grąžinti

The grąžinti C grąžina vykdymo srautą į funkciją, iš kurios ji iškviečiama. Šiam teiginiui privalomai nereikia jokių sąlyginių teiginių. Kai tik pareiškimas įvykdomas, programos eiga iš karto sustoja ir grąžina valdiklį iš ten, kur buvo iškviesta. Grąžinimo sakinys gali arba negali grąžinti nieko, jei funkcija negalioja, tačiau netuščiosios funkcijos atveju turi būti grąžinta grąžinimo reikšmė.

Grąžinimo schema

grąžinimo schema

Grąžinimo srauto diagrama

Grąžinimo sintaksė

  return    [expression]  ;>

Grąžinimo pavyzdys

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

>

>

Išvestis

The sum is 20>