C ak ... iné vyhlásenie

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"); 

Zaujímavé články...