Š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 if
C programmēšanā ir:
if (test expression) ( // statements to be executed if the test expression is true )
Kā tad, ja paziņojums darbojas?
if
Paziņojumā izvērtē testa izteiksmi iekšpusē iekavās ()
.
- Ja testa izteiksme tiek vērtēta kā patiesa,
if
tiek izpildīti apgalvojumi ķermeņa iekšpusē . - Ja testa izteiksme tiek vērtēta kā nepatiesa, paziņojumi pamattekstā
if
netiek 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<0
tiek 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<0
tiek novērtēta kā nepatiesa, un paziņojums pamattekstā if
netiek izpildīts
C ja … cits paziņojums
if
Paziņojums var būt papildu else
bloku. if… else
Izraksta 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,
if
tiek izpildīti paziņojumi ķermeņa iekšienē .- paziņojumi ķermeņa iekšienē
else
tiek izlaisti no izpildes.
Ja testa izteiksme tiek vērtēta kā nepatiesa,
else
tiek izpildīti paziņojumi ķermeņa iekšienē- paziņojumi ķermeņa iekšienē
if
tiek 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==0
tiek novērtēta kā nepatiesa. Tādējādi paziņojums ķermeņa iekšienē else
tiek izpildīts.
C ja … vēl kāpnes
if… else
Paziņ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… else
paziņojumu cita if… else
paziņ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… else
kā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… else
ir 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");