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 if
izraza u programiranju na C je:
if (test expression) ( // statements to be executed if the test expression is true )
Kako ako izjava djeluje?
if
Izjavu ocjenjuje test izraz unutar zagrada ()
.
- Ako se testni izraz ocijeni istinitim,
if
izvršavaju se izrazi unutar tijela . - Ako se testni izraz procijeni na false, iskazi unutar tijela od
if
se 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<0
se 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<0
se procjenjuje na false i izraz unutar tijela if
ne izvršava se
C if … else Izjava
if
Izjava može imati proizvoljnu else
blok. Sintaksa if… else
izjave 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,
if
izvršavaju se izrazi unutar tijela .- iskazi unutar tijela
else
preskaču se iz izvršenja.
Ako se testni izraz ocijeni lažnim,
else
izvršavaju se izrazi unutar tijela- iskazi unutar tijela
if
preskač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==0
se procjenjuje na false. Stoga else
se izvršava izjava unutar tijela .
C ako … drugo Ljestve
if… else
Naredba 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… else
izjavu unutar tijela druge if… else
izjave.
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… else
primjeru ljestvice. Međutim, if… else
za 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… else
izjave 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");