C jei ... dar pareiškimas

Šioje pamokoje sužinosite apie if teiginį (įskaitant jei… dar ir įdėtą, jei … dar) C programavimo srityje, naudodamiesi pavyzdžiais.

C, jei pareiškimas

Teiginio sintaksė ifprogramuojant C yra tokia:

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

Kaip jei teiginys veikia?

ifPareiškimas įvertina testus išraiška skliausteliuose ().

  • Jei testo išraiška vertinama kaip teisinga, ifvykdomi teiginiai kūno viduje .
  • Jei testo išraiška įvertinta kaip klaidinga, teiginiai kūno viduje ifnevykdomi.

Norėdami sužinoti daugiau apie tai, kada testo išraiška vertinama kaip teisinga (ne nulinė reikšmė) ir klaidinga (0), patikrinkite santykinius ir loginius operatorius.

1 pavyzdys: jei teiginys

 // 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 rezultatas

Įveskite sveiką skaičių: -2 Įvedėte -2. Jei teiginys yra lengvas.

Kai vartotojas įveda -2, bandomoji išraiška number<0įvertinama kaip teisinga. Taigi ekrane rodoma „Įvedėte -2“.

2 išėjimas

 Įveskite sveiką skaičių: 5 if sakinys yra lengvas.

Kai vartotojas įveda 5, bandomoji išraiška number<0įvertinama kaip klaidinga ir teiginys kūno viduje ifnėra vykdomas

C jei … dar pareiškimas

ifTeiginys gali turėti papildomą elsebloką. Teiginio sintaksė if… elseyra tokia:

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

Kaip, jei … dar vienas teiginys veikia?

Jei testo išraiška įvertinta kaip teisinga,

  • pareiškimai kūno viduje ifyra vykdomi.
  • teiginiai kūno viduje elsepraleidžiami.

Jei testo išraiška įvertinta kaip klaidinga,

  • pareiškimai kūno viduje elseyra vykdomi
  • teiginiai kūno viduje ifpraleidžiami.

2 pavyzdys: jei … kitas teiginys

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

Rezultatas

 Įveskite sveiką skaičių: 7 7 yra nelyginis sveikasis skaičius.

Kai vartotojas įveda 7, testo išraiška number%2==0įvertinama kaip klaidinga. Taigi sakinys kūno viduje elseyra vykdomas.

C jei … dar Kopėčios

if… elsePareiškimas vykdo du skirtingus kodus, priklausomai nuo to, ar bandymas išraiška yra true arba false. Kartais reikia rinktis iš daugiau nei 2 galimybių.

„If… else“ kopėčios leidžia jums patikrinti kelis testo posakius ir vykdyti skirtingus teiginius.

Sintaksė, jei … dar kopėčios

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

3 pavyzdys: C, jei dar … Kopėčios

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

Rezultatas

 Įveskite du skaičius: 12 23 Rezultatas: 12 <23

Įdėtas, jei … dar kas

Galima if… elseteiginį įtraukti į kito if… elseteiginio tekstą.

4 pavyzdys: įdėta, jei… kita

Ši žemiau pateikta programa susieja du sveikus skaičius, naudojant bet kurį iš jų <, >ir =panašiai kaip if… elsekopėčių pavyzdyje. Tačiau if… elsešiai problemai išspręsti naudosime įdėtą teiginį.

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

Jei if… elseteiginio turinys turi tik vieną teiginį, jums nereikia naudoti skliaustų ().

Pavyzdžiui, šis kodas

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

yra lygiavertis

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

Įdomios straipsniai...