V tomto tutoriále sa pomocou príkladov dozviete príkaz if (vrátane if … else a vnorených if … else) v programovaní C.
C ako Vyhlásenie
Syntax ifpríkazu v programovaní C je:
if (test expression) ( // statements to be executed if the test expression is true )
Ako keď vyhlásenie funguje?
Príkaz ifhodnotí testovací výraz v zátvorke ().
- Ak je testovací výraz vyhodnotený ako pravdivý,
ifvykonajú sa príkazy v tele tela . - Ak je testovací výraz vyhodnotený ako nepravdivý, príkazy v tele tela
ifsa nevykonajú.

Ak sa chcete dozvedieť viac o tom, kedy sa testovací výraz vyhodnocuje na hodnotu true (nenulová hodnota) a false (0), skontrolujte relačné a logické operátory.
Príklad 1: vyhlásenie if
// Program to display a number if it is negative #include int main() ( int number; printf("Enter an integer: "); scanf("%d", &number); // true if number is less than 0 if (number < 0) ( printf("You entered %d.", number); ) printf("The if statement is easy."); return 0; )
Výstup 1
Zadajte celé číslo: -2 Zadali ste -2. Príkaz if je jednoduchý.
Keď používateľ zadá hodnotu -2, testovací výraz number<0sa vyhodnotí ako pravdivý. Preto ste sa na obrazovke zobrazili Zadali ste -2.
Výstup 2
Zadajte celé číslo: 5 Príkaz if je jednoduchý.
Keď používateľ zadá 5, testovací výraz number<0sa vyhodnotí ako nepravdivý a príkaz v tele ifsa nevykoná
C ak … iné vyhlásenie
ifVyhlásenie môže mať voliteľný elseblok. Syntax if… elsepríkazu je:
if (test expression) ( // statements to be executed if the test expression is true ) else ( // statements to be executed if the test expression is false )
Ako keď vyhlásenie … else funguje?
Ak je testovací výraz vyhodnotený ako pravdivý,
ifvykonajú sa príkazy v tele .- príkazy vo vnútri tela
elsesú z vykonania vynechané.
Ak je testovací výraz vyhodnotený ako nepravdivý,
elsevykonajú sa príkazy v tele- príkazy vo vnútri tela
ifsú z vykonania vynechané.

Príklad 2: výrok if … else
// Check whether an integer is odd or even #include int main() ( int number; printf("Enter an integer: "); scanf("%d", &number); // True if the remainder is 0 if (number%2 == 0) ( printf("%d is an even integer.",number); ) else ( printf("%d is an odd integer.",number); ) return 0; )
Výkon
Zadajte celé číslo: 7 7 je nepárne celé číslo.
Keď používateľ zadá 7, testovací výraz number%2==0sa vyhodnotí ako nepravdivý. Preto elsesa vykoná príkaz v tele tela .
C keby … ešte rebrík
Príkaz if… elsevykoná dva rôzne kódy v závislosti od toho, či je testovací výraz pravdivý alebo nepravdivý. Niekedy je potrebné zvoliť si z viac ako 2 možností.
Rebrík if … else umožňuje kontrolovať medzi viacerými testovacími výrazmi a vykonávať rôzne príkazy.
Syntax ak … iného rebríka
if (test expression1) ( // statement(s) ) else if(test expression2) ( // statement(s) ) else if (test expression3) ( // statement(s) )… else ( // statement(s) )
Príklad 3: C ak … inak Rebrík
// Program to relate two integers using =,> or < symbol #include int main() ( int number1, number2; printf("Enter two integers: "); scanf("%d %d", &number1, &number2); //checks if the two integers are equal. if(number1 == number2) ( printf("Result: %d = %d",number1,number2); ) //checks if number1 is greater than number2. else if (number1> number2) ( printf("Result: %d> %d", number1, number2); ) //checks if both test expressions are false else ( printf("Result: %d < %d",number1, number2); ) return 0; )
Výkon
Zadajte dve celé čísla: 12 23 Výsledok: 12 <23
Vnorené, ak … inak
Výrok je možné zahrnúť if… elsedo tela iného if… elsevýroku.
Príklad 4: Vnorené, ak … inak
Tento program uvedený nižšie sa týka dvoch celých čísel, ktoré používajú buď jedno <, >a =podobne ako v if… elsepríklade rebríka. if… elseNa vyriešenie tohto problému však použijeme vnorené vyhlásenie.
#include int main() ( int number1, number2; printf("Enter two integers: "); scanf("%d %d", &number1, &number2); if (number1>= number2) ( if (number1 == number2) ( printf("Result: %d = %d",number1,number2); ) else ( printf("Result: %d> %d", number1, number2); ) ) else ( printf("Result: %d < %d",number1, number2); ) return 0; )
Ak má telo if… elsevýroku iba jeden výrok, nemusíte používať zátvorky ().
Napríklad tento kód
if (a> b) ( print("Hello"); ) print("Hi");
je ekvivalentné k
if (a> b) print("Hello"); print("Hi");








