logo

Lēmumu pieņemšana valodā C (if , if..else, Nested if, if-else-if )

The nosacījuma paziņojumi (pazīstamas arī kā lēmumu kontroles struktūras), piemēram, ja C programmās lēmumu pieņemšanai izmanto slēdzi utt.

java listnode

Tos sauc arī par lēmumu pieņemšanas paziņojumiem, un tos izmanto, lai novērtētu vienu vai vairākus nosacījumus un pieņemtu lēmumu, vai izpildīt paziņojumu kopu vai ne. Šie lēmumu pieņemšanas paziņojumi programmēšanas valodās nosaka programmas izpildes plūsmas virzienu.



Nepieciešamība pēc nosacījuma paziņojumiem

Reālajā dzīvē nāk situācijas, kad mums ir jāpieņem daži lēmumi, un, pamatojoties uz šiem lēmumiem, mēs izlemjam, kas mums jādara tālāk. Līdzīgas situācijas rodas arī programmēšanā, kad mums ir jāpieņem daži lēmumi un, pamatojoties uz šiem lēmumiem, mēs izpildīsim nākamo koda bloku. Piemēram, C, ja notiek x, tad izpildiet y citādi izpildiet z. Var būt arī vairāki nosacījumi, piemēram, C, ja notiek x, tad izpildiet p, pretējā gadījumā, ja notiek nosacījums y, izpildiet q, pretējā gadījumā izpildiet r. Šis nosacījums C else-if ir viens no daudzajiem veidiem, kā importēt vairākus nosacījumus.

Nosacījumu paziņojumu veidi C

Tālāk ir norādīti lēmumu pieņemšanas paziņojumi, kas pieejami C valodā:

  1. ja Paziņojums
  2. ja-cits paziņojums
  3. Ligzdotas, ja paziņojums
  4. ja-citādi-ja Kāpnes
  5. pārslēgšanās paziņojums
  6. Nosacīts operators
  7. Pārlēkšanas paziņojumi:
    • pārtraukums
    • Turpināt
    • iet uz
    • atgriezties

Apspriedīsim katru no tiem pa vienam.



1. ja C

The ja paziņojums ir visvienkāršākais lēmumu pieņemšanas paziņojums. To izmanto, lai izlemtu, vai konkrēts paziņojums vai paziņojumu bloks tiks izpildīts vai nē, t.i., ja noteikts nosacījums ir patiess, tad paziņojumu bloks tiek izpildīts, pretējā gadījumā ne.

If paziņojuma sintakse

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

Lūk, stāvokli pēc novērtējuma būs patiess vai nepatiess. C ja paziņojums pieņem Būla vērtības – ja vērtība ir patiesa, tā izpildīs zem tā esošo paziņojumu bloku, pretējā gadījumā ne. Ja mēs nenodrošinām cirtaini iekavas “{” un “}” aiz if(condition), tad pēc noklusējuma if priekšraksts uzskatīs, ka pirmais tieši zem priekšraksts atrodas savā blokā.

Ja paziņojuma blokshēma

ja blokshēma

Ja paziņojuma plūsmas diagramma



Piemērs, ja 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'>);> }>

>

>

Izvade

I am Not in if>

Tā kā nosacījums, kas atrodas paziņojumā if, ir nepatiess. Tātad bloks zem priekšraksta if netiek izpildīts.

2. if-else valodā C

The ja paziņojums vien norāda, ka, ja nosacījums ir patiess, tas izpildīs paziņojumu bloku, un, ja nosacījums ir nepatiess, tas neizpildīs. Bet ko darīt, ja mēs vēlamies darīt kaut ko citu, ja nosacījums ir nepatiess? Šeit nāk C cits paziņojums, apgalvojums. Mēs varam izmantot cits paziņojums ar ja paziņojums, lai izpildītu koda bloku, ja nosacījums ir nepatiess. The ja-cits paziņojums sastāv no diviem blokiem, viens nepatiesai izteiksmei un otrs patiesai izteiksmei.

Ja cits sintakse valodā C

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

Ja-else paziņojuma blokshēma

ja vēl blokshēma

Plūsmas diagramma, ja cits

Ja-cits piemērs

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

>

>

Izvade

i is greater than 15>

Koda bloks aiz cits paziņojums tiek izpildīts kā nosacījums, kas atrodas ja apgalvojums ir nepatiess.

3. Ievietots if-else C

Ligzdots if C ir if priekšraksts, kas ir cita if priekšraksta mērķis. Ligzdota if paziņojumi nozīmē if priekšrakstu cita if priekšraksta iekšpusē. Jā, C ļauj mums ligzdotos if paziņojumus if priekšrakstos, t.i., mēs varam ievietot if paziņojumu cita if priekšrakstā.

Nested if-else sintakse

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

Blokshēma no Nested if-else

Nested if-else plūsmas diagramma

Nested if-else piemērs

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

>

>

Izvade

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

4. if-else-if kāpnes C

The ja vēl ja paziņojumi tiek izmantoti, ja lietotājam ir jāizvēlas starp vairākām iespējām. C if paziņojumi tiek izpildīti no augšas uz leju. Tiklīdz viens no nosacījumiem, kas kontrolē if, tiek izpildīts paziņojums, kas saistīts ar šo if, un pārējās C ​​else-if kāpnes tiek apietas. Ja neviens no nosacījumiem nav patiess, tiks izpildīts gala cits paziņojums. if-else-if kāpnes ir līdzīgas slēdža paziņojumam.

ūdenszīme vārdā

Ja-else-if kāpņu sintakse

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

Ja-else-if kāpņu blokshēma

if-else-if paziņojuma blokshēma

Ja-else-if plūsmas diagramma

Ja-cits-ja kāpņu piemērs

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

>

>

Izvade

i is 20>

5. pārslēgt paziņojumu C

The maiņas gadījuma paziņojums ir alternatīva if else if kāpnēm, ko var izmantot nosacījuma koda izpildei, pamatojoties uz mainīgā vērtību, kas norādīta slēdža priekšrakstā. Slēdžu bloks sastāv no gadījumiem, kas jāizpilda, pamatojoties uz slēdža mainīgā vērtību.

Slēdža sintakse

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

Piezīme: Slēdža izteiksmei jānovērtē vesels skaitlis vai rakstzīme. Tas nevar novērtēt citu datu tipu.

Slēdža blokshēma

slēdža paziņojuma blokshēma

Slēdža blokshēma C

Slēdža paziņojuma piemērs

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

>

>

Izvade

Case 2 is executed>

6. Nosacījuma operators C

The nosacīts operators tiek izmantots, lai mūsu programmā pievienotu nosacījuma kodu. Tas ir līdzīgs paziņojumam if-else. Tas ir pazīstams arī kā trīskāršais operators, jo tas darbojas ar trim operandiem.

Nosacījuma operatora sintakse

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

Nosacītā operatora blokshēma

nosacījumu operatoru blokshēma

Nosacītā operatora plūsmas diagramma

Nosacītā operatora piemērs

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

>

>

Izvade

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

7. Pārlēkšanas paziņojumi valodā C

Šie priekšraksti tiek izmantoti C, lai beznosacījuma kontroles plūsmai visās programmas funkcijās. Tie atbalsta četru veidu pārlēcienus:

A) pārtraukums

Šis cilpas vadības paziņojums tiek izmantots, lai pārtrauktu cilpu. Tiklīdz pārtraukums paziņojums tiek sastapts no cilpas, cilpas iterācijas tur apstājas, un vadība atgriežas no cilpas uzreiz pirmajā priekšrakstā pēc cilpas.

Pārtraukuma sintakse

break;>

Būtībā pārtraukumu paziņojumi tiek izmantoti situācijās, kad mēs neesam pārliecināti par cilpas faktisko iterāciju skaitu vai mēs vēlamies pārtraukt cilpu, pamatojoties uz kādu nosacījumu.

pārtraukumu blokshēma

Pārtraukuma piemērs

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

>

galvenā metode java
>

Izvade

Element found at position: 3>

B) Turpināt

Šis cilpas vadības paziņojums ir tāpat kā pārtraukuma paziņojums. The Turpināt paziņojums, apgalvojums ir pretējs pārtraukumam paziņojums, apgalvojums , tā vietā, lai pārtrauktu cilpu, tas liek izpildīt nākamo cilpas iterāciju.
Kā norāda nosaukums, turpinājuma priekšraksts liek cilpai turpināt vai izpildīt nākamo iterāciju. Kad cilpā tiek izpildīts priekšraksts turpināt, kods, kas atrodas cilpas iekšpusē, kas seko priekšrakstam turpināt, tiks izlaists un sāksies nākamā cilpas iterācija.

Turpināšanas sintakse

continue;>

Turpināšanas blokshēma

C turpinājuma paziņojuma plūsmas diagramma

Turpināšanas piemērs

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

>

>

Izvade

1 2 3 4 5 7 8 9 10>

Ja veidojat mainīgo if-else valodā C, tas būs lokāls tikai šim if/else blokam. Blokā if/else varat izmantot globālos mainīgos. Ja failā if/else izveidotā mainīgā nosaukums ir tāds pats kā jebkura globālā mainīgā, prioritāte tiks piešķirta vietējam mainīgajam.

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

>

>

Izvade

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

C) iet uz

The goto paziņojums C valodā, ko dēvē arī par beznosacījumu lēciena paziņojumu, var izmantot, lai funkcijas ietvaros pārietu no viena punkta uz citu.

Goto sintakse

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

Iepriekš minētajā sintaksē pirmā rinda liek kompilatoram pāriet uz priekšrakstu, kas atzīmēts kā etiķete, vai pāriet uz to. Šeit etiķete ir lietotāja definēts identifikators, kas norāda mērķa paziņojumu. Paziņojums, kas seko tūlīt aiz “label:”, ir galamērķa paziņojums. Iepriekš minētajā sintaksē apzīmējums “label:” var parādīties arī pirms paziņojuma “goto label;”.

Goto paziņojuma blokshēma

Goto piemēri

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

>

>

Izvade

1 2 3 4 5 6 7 8 9 10>

D) atgriešanās

The atgriezties C atgriež izpildes plūsmu funkcijai, no kuras tā tiek izsaukta. Šim apgalvojumam nav obligāti nepieciešami nosacījumi. Tiklīdz paziņojums tiek izpildīts, programmas plūsma nekavējoties apstājas un atgriež vadīklu no vietas, kur tā tika izsaukta. Atgriešanas priekšraksts var vai nevar atgriezt neko nederīgai funkcijai, bet nederīgai funkcijai ir jāatgriež atgriešanas vērtība.

Atgriešanās blokshēma

atgriešanās blokshēma

Atdeves plūsmas diagramma

Atgriešanās sintakse

  return    [expression]  ;>

Atgriešanas piemērs

C


kādi ir mana datora ekrāna izmēri



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

>

>

Izvade

The sum is 20>