C Podmienené vyhlásenie: IF, IF iné a vnorené IF iné s príkladom

Obsah:

Anonim

Čo je podmienené vyhlásenie v jazyku C?

Podmienené príkazy v programovaní C sa používajú na rozhodovanie na základe podmienok. Podmienené príkazy sa vykonávajú postupne, keď okolo príkazov nie je žiadna podmienka. Ak dáte podmienku pre blok výpisov, tok vykonávania sa môže zmeniť na základe výsledku vyhodnoteného podmienkou. Tento proces sa nazýva rozhodovanie v „C.“

V programovaní „C“ sú možné podmienené príkazy pomocou nasledujúcich dvoch konštruktov:

1. Ak vyhlásenie

2. Výrok if-else

Nazýva sa tiež vetvením, keď program na základe výsledku hodnotenej podmienky rozhodne, ktorý príkaz má vykonať.

V tomto návode sa naučíte

  • Čo je to Podmienené vyhlásenie?
  • Ak vyhlásenie
  • Relační operátori
  • Vyhlásenie If-Else
  • Podmienené výrazy
  • Vnorené výpisy typu „keby iné“
  • Vnorené vyhlásenia Else-if

Ak vyhlásenie

Je to jedno z účinných podmienených tvrdení. Príkaz if je zodpovedný za úpravu toku vykonávania programu. Ak sa vyhlásenie vždy používa s podmienkou. Podmienka sa vyhodnotí najskôr pred vykonaním ľubovoľného príkazu v tele If. Syntax príkazu if je nasledovná:

 if (condition)instruction; 

Podmienka sa vyhodnotí ako pravdivá alebo nepravdivá. True je vždy nenulová hodnota a false je hodnota, ktorá obsahuje nulu. Pokyny môžu byť jednoduchá alebo blok kódu vložené do zložených zátvoriek {}.

Nasledujúci program ilustruje použitie konštrukcie if v programovaní „C“:

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

Výkon:

num1 is smaller than num2

Vyššie uvedený program ilustruje použitie konštrukcie if na kontrolu rovnosti dvoch čísel.

  1. Vo vyššie uvedenom programe sme inicializovali dve premenné s num1, num2 s hodnotou ako 1, 2.
  2. Potom sme pomocou testovacieho výrazu skontrolovali, ktoré číslo je najmenšie a ktoré najväčšie. Použili sme relačný výraz v if construct. Pretože hodnota num1 je menšia ako num2, podmienka sa vyhodnotí ako pravdivá.
  3. Takto vytlačí vyhlásenie vo vnútri bloku If. Potom riadenie prejde mimo blok a program sa ukončí s úspešným výsledkom.

Relační operátori

C má šesť relačných operátorov, ktoré možno použiť na formulovanie boolovského výrazu pre rozhodovanie a testovacie podmienky, ktoré vracia hodnotu true alebo false:

<= menšie alebo rovné

> väčšie ako

> = väčšie alebo rovné

== rovná sa

! = nerovná sa

Všimnite si, že test rovnosti (==) sa líši od operátora priradenia (=), pretože je to jeden z najbežnejších problémov, ktorým programátor čelí ich zmiešaním.

Napríklad:

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

Výkon :

 You succeed 

Majte na pamäti, že stav, ktorý sa vyhodnotí ako nenulová hodnota, sa považuje za pravdivý.

Napríklad:

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

Výkon :

There is someone present in the classroom 

Vyhlásenie If-Else

Príkaz if-else is je rozšírenou verziou If. Všeobecná forma if-else je nasledovná:

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

Na tomto type konštrukcie, ak je hodnota testovacieho výrazu pravdivá, bude vykonaný skutočný blok príkazov. Ak je hodnota testovacieho výrazu nepravdivá, vykoná sa nepravdivý blok príkazov. V každom prípade sa po vykonaní kontroly automaticky prenesú na príkazy, ktoré sa zobrazia mimo blok If.

Nasledujúce programy ilustrujú použitie konštrukcie if-else:

Inicializujeme premennú s určitou hodnotou a napíšeme program, ktorý určí, či je hodnota menšia ako desať alebo väčšia ako desať.

Začnime.

#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ýkon:

The value is greater than 10

  1. Inicializovali sme premennú s hodnotou 19. Pomocou programu „C“ musíme zistiť, či je číslo väčšie alebo menšie ako 10. Na to sme použili konštrukciu if-else.
  2. Tu sme poskytli podmienku číslo <10, pretože musíme porovnať našu hodnotu s 10.
  3. Ako vidíte, prvý blok je vždy skutočný blok, čo znamená, že ak je hodnota testovacieho výrazu pravdivá, vykoná sa prvý blok, ktorý je If.
  4. Druhý blok je blok else. Tento blok obsahuje príkazy, ktoré sa vykonajú, ak sa hodnota testovacieho výrazu stane nepravdivou. V našom programe je hodnota num väčšia ako desať, preto sa podmienka testu stane nepravdivou a inak sa vykoná blok. Náš výstup bude teda z bloku else, ktorý je „Hodnota je väčšia ako 10“. Po if-else sa program ukončí s úspešným výsledkom.

V programovaní 'C' môžeme použiť viac konštrukcií if-else v sebe, ktoré sa označujú ako vnorenie príkazov if-else.

Podmienené výrazy

Existuje ďalší spôsob, ako vyjadriť príkaz if-else, je zavedenie operátora ?: . V podmieneného výrazu : operátor má iba jeden príkaz spojený s if a else.

Naprí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ýkon :

y =2

Vnorené výpisy typu „keby iné“

Ak je vyžadovaná séria rozhodnutí, použije sa vnorené if-else. Vnorenie znamená použitie jedného konštruktu if-else v inom.

Poďme si napísať program na ilustráciu použitia vnorených 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ýkon:

The value is:1

Vyššie uvedený program skontroluje, či je číslo menšie alebo väčšie ako 10 a výsledok vytlačí pomocou vnorenej konštrukcie if-else.

  1. Najskôr sme deklarovali premennú num s hodnotou ako 1. Potom sme použili konštrukciu if-else.
  2. Vo vonkajšom if-else zadaná podmienka skontroluje, či je číslo menšie ako 10. Ak je podmienka pravdivá, potom a až potom vykoná vnútornú slučku. V tomto prípade je podmienka pravdivá, preto sa vnútorný blok spracuje.
  3. Vo vnútornom bloku máme opäť podmienku, ktorá kontroluje, či naša premenná obsahuje hodnotu 1 alebo nie. Ak je podmienka pravdivá, spracuje blok If, inak spracuje blok else. V tomto prípade je podmienka pravdivá, preto sa vykoná blok If a hodnota sa vytlačí na výstupnú obrazovku.
  4. Vyššie uvedený program vytlačí hodnotu premennej a ukončí sa úspešne.

Skúste zmeniť hodnotu premennej a zistite, ako sa program správa.

POZNÁMKA: Vo vnorených if-else musíme byť opatrní s odsadením, pretože do tohto procesu je zapojených viac konštrukcií if-else, takže je ťažké zistiť jednotlivé konštrukty. Správne odsadenie uľahčuje čítanie programu.

Vnorené vyhlásenia Else-if

Vnorené iné - ak sa používa, keď sa vyžaduje viaccestné rozhodovanie.

Všeobecná syntax toho, ako inak sú rebríky zostavené v programovaní „C“, je nasledovná:

 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 konštrukcie je známy ako rebrík „else-if“. Tento reťazec všeobecne vyzerá ako rebrík, a preto sa nazýva aj ako rebrík „inak“. Testovacie výrazy sa hodnotia zhora nadol. Kedykoľvek sa zistí skutočný testovací výraz, vykoná sa príkaz s ním spojený. Keď je všetkých n testovacích výrazov nepravdivých, vykoná sa príkaz default else.

Pozrime sa na skutočnú prácu pomocou 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ýkon:

First class

Vyššie uvedený program vytlačí známku podľa známok dosiahnutých v teste. Vo vyššie uvedenom programe sme použili konštrukciu rebríka else-if.

  1. Inicializovali sme premennú so značkami. V štruktúre rebríka else-if sme poskytli rôzne podmienky.
  2. Hodnota z premenných značiek sa porovná s prvou podmienkou, pretože je pravda, že výpis s ňou spojený sa vytlačí na výstupnú obrazovku.
  3. Ak sa prvá testovacia podmienka ukáže ako nesprávna, porovná sa s druhou podmienkou.
  4. Tento proces bude pokračovať, kým sa nevyhodnotí celý výraz, inak sa kontrola dostane z rebríčka else-if a vytlačí sa predvolený príkaz.

Skúste upraviť hodnotu a všimnite si zmenu vo výstupe.

Zhrnutie

  • Na výber jednej cesty na základe výsledku hodnoteného výrazu sa používajú rozhodovacie alebo vetviace príkazy.
  • Nazýva sa tiež ako riadiace príkazy, pretože riadi priebeh vykonávania programu.
  • Písmeno „C“ poskytuje výtvory if-if pre rozhodovacie výroky.
  • Môžeme tiež vnoriť if-else do seba, keď treba otestovať viac ciest.
  • Rebrík else-if sa používa, keď musíme na základe výsledku výrazu skontrolovať rôzne spôsoby.