Šajā apmācībā jūs uzzināsit par if apgalvojumu (ieskaitot, ja … cits un ligzdots, ja … cits) C programmēšanā, izmantojot piemērus.
C, ja paziņojums
Paziņojuma sintakse ifC programmēšanā ir:
if (test expression) ( // statements to be executed if the test expression is true )
Kā tad, ja paziņojums darbojas?
ifPaziņojumā izvērtē testa izteiksmi iekšpusē iekavās ().
- Ja testa izteiksme tiek vērtēta kā patiesa,
iftiek izpildīti apgalvojumi ķermeņa iekšpusē . - Ja testa izteiksme tiek vērtēta kā nepatiesa, paziņojumi pamattekstā
ifnetiek izpildīti.

Lai uzzinātu vairāk par to, kad testa izteiksme tiek vērtēta kā patiesa (vērtība nav nulle) un nepatiesa (0), pārbaudiet relāciju un loģiskos operatorus.
1. piemērs: ja paziņojums
// 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; )
1. izeja
Ievadiet veselu skaitli: -2 Jūs ievadījāt -2. Ja paziņojums ir vienkāršs.
Kad lietotājs ievada -2, testa izteiksme number<0tiek novērtēta kā patiesa. Tādējādi ekrānā tiek parādīts ievadītais kods -2.
2. izeja
Ievadiet veselu skaitli: 5 Ja paziņojums ir vienkāršs.
Kad lietotājs ievada 5, testa izteiksme number<0tiek novērtēta kā nepatiesa, un paziņojums pamattekstā ifnetiek izpildīts
C ja … cits paziņojums
ifPaziņojums var būt papildu elsebloku. if… elseIzraksta sintakse ir šāda:
if (test expression) ( // statements to be executed if the test expression is true ) else ( // statements to be executed if the test expression is false )
Kā būtu, ja … cits paziņojums strādā?
Ja testa izteiksme tiek vērtēta kā patiesa,
iftiek izpildīti paziņojumi ķermeņa iekšienē .- paziņojumi ķermeņa iekšienē
elsetiek izlaisti no izpildes.
Ja testa izteiksme tiek vērtēta kā nepatiesa,
elsetiek izpildīti paziņojumi ķermeņa iekšienē- paziņojumi ķermeņa iekšienē
iftiek izlaisti no izpildes.

2. piemērs: ja … cits paziņojums
// 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; )
Rezultāts
Ievadiet veselu skaitli: 7 7 ir nepāra skaitlis.
Kad lietotājs ievada 7, testa izteiksme number%2==0tiek novērtēta kā nepatiesa. Tādējādi paziņojums ķermeņa iekšienē elsetiek izpildīts.
C ja … vēl kāpnes
if… elsePaziņojums izpilda divus dažādus kodus atkarībā no tā, vai tests izteiksme ir patiess vai nepatiess. Dažreiz jāizdara izvēle no vairāk nekā divām iespējām.
Ja… cits kāpnes ļauj pārbaudīt vairākas testa izteiksmes un izpildīt dažādus paziņojumus.
Ja… citādu kāpņu sintakse
if (test expression1) ( // statement(s) ) else if(test expression2) ( // statement(s) ) else if (test expression3) ( // statement(s) )… else ( // statement(s) )
3. piemērs: C, ja… vēl kāpnes
// 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; )
Rezultāts
Ievadiet divus skaitļus: 12 23 Rezultāts: 12 <23
Ligzdots, ja … citādi
Ir iespējams iekļaut if… elsepaziņojumu cita if… elsepaziņojuma pamattekstā .
4. piemērs: ligzdots, ja … citādi
Šī zemāk sniegtā programma attiecas uz diviem veseliem skaitļiem, izmantojot jebkuru no šiem elementiem <, >un =līdzīgi if… elsekāpņu piemēram. Tomēr if… elsešīs problēmas risināšanai mēs izmantosim ligzdotu paziņojumu.
#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; )
Ja paziņojuma pamattekstā if… elseir tikai viens paziņojums, jums nav jāizmanto iekavas ().
Piemēram, šis kods
if (a> b) ( print("Hello"); ) print("Hi");
ir ekvivalents
if (a> b) print("Hello"); print("Hi");








