C Podmíněné prohlášení: IF, IF Else a Nested IF Else with Example

Obsah:

Anonim

Co je podmíněné prohlášení v jazyce C?

Podmíněné příkazy v programování C se používají k rozhodování na základě podmínek. Podmíněné příkazy se spouštějí postupně, když kolem příkazů není podmínka. Pokud zadáte nějakou podmínku pro blok příkazů, může se tok provádění změnit na základě výsledku vyhodnoceného podmínkou. Tento proces se nazývá rozhodování v „C.“

V programování 'C' jsou podmíněné příkazy možné pomocí následujících dvou konstrukcí:

1. Pokud prohlášení

2. Příkaz If-else

Nazývá se také jako větvení, protože program na základě výsledku vyhodnocené podmínky rozhodne, který příkaz má provést.

V tomto výukovém programu se naučíte

  • Co je podmíněné prohlášení?
  • Pokud prohlášení
  • Relační operátoři
  • Příkaz If-Else
  • Podmíněné výrazy
  • Vnořené příkazy typu „if-else“
  • Vnořené příkazy Else-if

Pokud prohlášení

Je to jedno z mocných podmíněných tvrzení. Příkaz if je zodpovědný za úpravu toku provádění programu. Pokud se příkaz vždy používá s podmínkou. Podmínka je vyhodnocena nejprve před provedením jakéhokoli příkazu uvnitř těla If. Syntaxe příkazu if je následující:

 if (condition)instruction; 

Podmínka se vyhodnotí na true nebo false. True je vždy nenulová hodnota a false je hodnota, která obsahuje nulu. Pokyny mohou být jedna instrukce nebo blok kódu uzavřený složenými závorkami {}.

Následující program ilustruje použití if konstrukce v programování 'C':

#includeint main(){int num1=1;int num2=2;if(num1

Výstup:

num1 is smaller than num2

Výše uvedený program ilustruje použití if konstrukce ke kontrole rovnosti dvou čísel.

  1. Ve výše uvedeném programu jsme inicializovali dvě proměnné s num1, num2 s hodnotou 1, 2.
  2. Potom jsme použili if s testovacím výrazem ke kontrole, které číslo je nejmenší a které číslo je největší. Použili jsme relační výraz v konstrukci if. Protože hodnota num1 je menší než num2, podmínka bude vyhodnocena jako true.
  3. Vytiskne tedy příkaz uvnitř bloku If. Poté přejde řízení mimo blok a program bude ukončen s úspěšným výsledkem.

Relační operátoři

C má šest relačních operátorů, které lze použít k formulování booleovského výrazu pro rozhodování a podmínky testování, které vrací true nebo false:

<= menší nebo rovno

> větší než

> = větší nebo rovno

== rovná se

! = nerovná se

Všimněte si, že test rovnosti (==) se liší od operátoru přiřazení (=), protože je to jeden z nejčastějších problémů, kterým programátor čelí jejich smícháním.

Například:

int x = 41;x =x+ 1;if (x == 42) {printf("You succeed!");}

Výstup :

 You succeed 

Pamatujte, že podmínka, která se vyhodnotí na nenulovou hodnotu, se považuje za pravdivou.

Například:

int present = 1;if (present)printf("There is someone present in the classroom \n");

Výstup :

There is someone present in the classroom 

Příkaz If-Else

Příkaz if-else is je rozšířená verze If. Obecná forma if-else je následující:

if (test-expression){True block of statements}Else{False block of statements}Statements;

Na tomto typu konstrukce, pokud je hodnota testovacího výrazu pravdivá, bude proveden skutečný blok příkazů. Pokud je hodnota test-výrazu false, pak bude proveden falešný blok příkazů. V každém případě se po provedení ovládací prvek automaticky přenese na příkazy, které se objeví mimo blok If.

Následující programy ilustrují použití konstrukce if-else:

Inicializujeme proměnnou s nějakou hodnotou a napíšeme program, který určí, zda je hodnota menší než deset nebo větší než deset.

Začněme.

#includeint main(){int num=19;if(num<10){printf("The value is less than 10");}else{printf("The value is greater than 10");}return 0;}

Výstup:

The value is greater than 10

  1. Inicializovali jsme proměnnou s hodnotou 19. Musíme pomocí programu „C“ zjistit, zda je číslo větší nebo menší než 10. K tomu jsme použili konstrukci if-else.
  2. Zde jsme poskytli podmínku num <10, protože musíme porovnat naši hodnotu s 10.
  3. Jak vidíte, první blok je vždy skutečný blok, což znamená, že pokud je hodnota testovacího výrazu pravdivá, bude proveden první blok, který je If.
  4. Druhý blok je blok else. Tento blok obsahuje příkazy, které budou provedeny, pokud se hodnota testovacího výrazu stane nepravdivou. V našem programu je hodnota num větší než deset, proto se testovací podmínka stane nepravdivou a jinak se provede blok. Náš výstup tedy bude z bloku else, který je „Hodnota je větší než 10“. Po if-else bude program ukončen s úspěšným výsledkem.

V programování 'C' můžeme použít několik konstrukcí if-else v sobě, které se označují jako vnoření příkazů if-else.

Podmíněné výrazy

Existuje další způsob, jak vyjádřit příkaz if-else zavedením operátoru ?: . V podmíněném výrazu má operátor ?: Pouze jeden příkaz přidružený k if a else.

Například:

#include int main() {int y;int x = 2;y = (x >= 6) ? 6 : x;/* This is equivalent to: if (x >= 5) y = 5; else y = x; */printf("y =%d ",y);return 0;}

Výstup :

y =2

Vnořené příkazy typu „if-else“

Je-li vyžadována řada rozhodnutí, použije se vnořené if-else. Vnoření znamená použití jednoho konstruktu if-else v jiném.

Pojďme napsat program, který ilustruje použití vnořeného if-else.

#includeint main(){int num=1;if(num<10){if(num==1){printf("The value is:%d\n",num);}else{printf("The value is greater than 1");}}else{printf("The value is greater than 10");}return 0;}

Výstup:

The value is:1

Výše uvedený program zkontroluje, zda je číslo menší nebo větší než 10 a vytiskne výsledek pomocí vnořené konstrukce if-else.

  1. Nejprve jsme deklarovali proměnnou num s hodnotou 1. Pak jsme použili konstrukci if-else.
  2. Ve vnějším if-else zadaná podmínka zkontroluje, zda je číslo menší než 10. Pokud je podmínka pravdivá, pak a teprve poté provede vnitřní smyčku. V tomto případě je podmínka pravdivá, proto je zpracován vnitřní blok.
  3. Ve vnitřním bloku máme opět podmínku, která kontroluje, zda naše proměnná obsahuje hodnotu 1 nebo ne. Když je podmínka pravdivá, pak zpracuje blok If, jinak zpracuje blok else. V tomto případě je podmínka pravdivá, proto je-li proveden blok a hodnota je vytištěna na výstupní obrazovce.
  4. Výše uvedený program vytiskne hodnotu proměnné a ukončí se úspěšně.

Zkuste změnit hodnotu proměnné a podívejte se, jak se program chová.

POZNÁMKA: Ve vnořených if-else musíme být opatrní s odsazením, protože do tohoto procesu je zapojeno více konstrukcí if-else, takže je obtížné zjistit jednotlivé konstrukty. Správné odsazení usnadňuje čtení programu.

Vnořené příkazy Else-if

Vnořené else-if se používá, když se vyžaduje vícecestné rozhodování.

Obecná syntaxe toho, jak jinak jsou žebříky konstruovány v programování „C“, je následující:

 if (test - expression 1) {statement1;} else if (test - expression 2) {Statement2;} else if (test - expression 3) {Statement3;} else if (test - expression n) {Statement n;} else {default;}Statement x;

Tento typ konstrukce je znám jako žebřík else-if. Tento řetěz obecně vypadá jako žebřík, a proto se také nazývá jako žebřík else-if. Testovací výrazy se vyhodnocují shora dolů. Kdykoli je nalezen skutečný testovací výraz, je proveden příkaz s ním spojený. Když se všech n testovacích výrazů stane nepravdivými, provede se výchozí příkaz else.

Podívejme se na skutečnou práci pomocí programu.

#includeint main(){int marks=83;if(marks>75){printf("First class");}else if(marks>65){printf("Second class");}else if(marks>55){printf("Third class");}else{printf("Fourth class");}return 0;}

Výstup:

First class

Výše uvedený program vytiskne známku podle známek získaných v testu. Ve výše uvedeném programu jsme použili konstrukci žebříku else-if.

  1. Inicializovali jsme proměnnou se značkami. Ve struktuře žebříčku else-if jsme poskytli různé podmínky.
  2. Hodnota z proměnných značek bude porovnána s první podmínkou, protože je pravda, že prohlášení s ní spojené bude vytištěno na výstupní obrazovce.
  3. Pokud se první testovací podmínka ukáže jako nepravdivá, porovná se s druhou podmínkou.
  4. Tento proces bude pokračovat, dokud nebude vyhodnocen celý výraz, jinak ovládací prvek vyjde z žebříčku else-if a bude vytištěn výchozí příkaz.

Zkuste upravit hodnotu a všimněte si změny ve výstupu.

souhrn

  • Příkazy pro rozhodování nebo větvení se používají k výběru jedné cesty na základě výsledku vyhodnoceného výrazu.
  • Nazývá se také jako kontrolní příkazy, protože řídí tok provádění programu.
  • Písmeno „C“ poskytuje konstrukty if-if-else pro výroky rozhodování.
  • Můžeme také vnořit if-else do sebe, když je třeba otestovat více cest.
  • Žebřík else-if se používá, když musíme kontrolovat různé způsoby na základě výsledku výrazu.