C if ... else Izjava

U ovom vodiču naučit ćete o naredbi if (uključujući if … else i ugniježđeno if … else) u programiranju na C uz pomoć primjera.

C if Izjava

Sintaksa ifizraza u programiranju na C je:

 if (test expression) ( // statements to be executed if the test expression is true )

Kako ako izjava djeluje?

ifIzjavu ocjenjuje test izraz unutar zagrada ().

  • Ako se testni izraz ocijeni istinitim, ifizvršavaju se izrazi unutar tijela .
  • Ako se testni izraz procijeni na false, iskazi unutar tijela od ifse ne izvršavaju.

Da biste saznali više o tome kada se testni izraz procjenjuje na true (vrijednost koja nije nula) i false (0), provjerite relacijske i logičke operatore.

Primjer 1: if izjava

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

Izlaz 1

Unesite cijeli broj: -2 Upisali ste -2. Izjava if je jednostavna.

Kada korisnik unese -2, test izraz number<0se procjenjuje na true. Dakle, na zaslonu se prikazuje Uneseni -2.

Izlaz 2

 Unesite cijeli broj: 5 Izraz if jednostavan je.

Kad korisnik unese 5, test izraz number<0se procjenjuje na false i izraz unutar tijela ifne izvršava se

C if … else Izjava

ifIzjava može imati proizvoljnu elseblok. Sintaksa if… elseizjave 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 )

Kako ako… inače izjava djeluje?

Ako se testni izraz ocijeni istinitim,

  • ifizvršavaju se izrazi unutar tijela .
  • iskazi unutar tijela elsepreskaču se iz izvršenja.

Ako se testni izraz ocijeni lažnim,

  • elseizvršavaju se izrazi unutar tijela
  • iskazi unutar tijela ifpreskaču se iz izvršenja.

Primjer 2: if … else izjava

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

Izlaz

 Unesite cijeli broj: 7 7 je neparan cijeli broj.

Kada korisnik unese 7, test izraz number%2==0se procjenjuje na false. Stoga elsese izvršava izjava unutar tijela .

C ako … drugo Ljestve

if… elseNaredba se izvršava dvije različite kodove, ovisno o tome je li test izraz true ili false. Ponekad se mora odabrati između više od 2 mogućnosti.

Ljestve if … else omogućuju vam provjeru između više testnih izraza i izvršavanje različitih izraza.

Sintaksa if … else ljestvice

 if (test expression1) ( // statement(s) ) else if(test expression2) ( // statement(s) ) else if (test expression3) ( // statement(s) )… else ( // statement(s) )

Primjer 3: C ako … drugo Ljestve

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

Izlaz

 Unesite dvije cijele brojke: 12 23 Rezultat: 12 <23

Ugniježđeno ako … drugo

Moguće je uvrstiti if… elseizjavu unutar tijela druge if… elseizjave.

Primjer 4: Ugniježđeno ako … drugo

Ovaj program dan u nastavku odnosi se na dvije cijele brojeve koristeći bilo koji <, >i =slično if… elseprimjeru ljestvice. Međutim, if… elseza rješavanje ovog problema upotrijebit ćemo ugniježđenu izjavu.

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

Ako tijelo if… elseizjave ima samo jednu izjavu, ne morate koristiti zagrade ().

Na primjer, ovaj kod

 if (a> b) ( print("Hello"); ) print("Hi");

je ekvivalentan

 if (a> b) print("Hello"); print("Hi"); 

Zanimljivi članci...