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 if
prí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 if
hodnotí testovací výraz v zátvorke ()
.
- Ak je testovací výraz vyhodnotený ako pravdivý,
if
vykonajú sa príkazy v tele tela . - Ak je testovací výraz vyhodnotený ako nepravdivý, príkazy v tele tela
if
sa 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<0
sa 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<0
sa vyhodnotí ako nepravdivý a príkaz v tele if
sa nevykoná
C ak … iné vyhlásenie
if
Vyhlásenie môže mať voliteľný else
blok. Syntax if… else
prí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ý,
if
vykonajú sa príkazy v tele .- príkazy vo vnútri tela
else
sú z vykonania vynechané.
Ak je testovací výraz vyhodnotený ako nepravdivý,
else
vykonajú sa príkazy v tele- príkazy vo vnútri tela
if
sú 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==0
sa vyhodnotí ako nepravdivý. Preto else
sa vykoná príkaz v tele tela .
C keby … ešte rebrík
Príkaz if… else
vykoná 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… else
do tela iného if… else
vý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… else
príklade rebríka. if… else
Na 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… else
vý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");