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__
- jos lausunto
- jos-else lausunto
- Sisäkkäinen if-lausunto
- jos-else-if Tikkaat
- kytkinlausunto
- Ehdollinen operaattori
- 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

if-lauseen vuokaavio
Esimerkki jos C:ssä
C
// C program to illustrate If statement> #include> > int> main()> {> >int> i = 10;> > >if> (i>15) {>> (>'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

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

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

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

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.
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

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>