C if ... else Instrukcja

W tym samouczku dowiesz się o instrukcji if (w tym if… else i zagnieżdżonej if… else) w programowaniu w języku C na podstawie przykładów.

Instrukcja C if

Składnia ifinstrukcji w programowaniu w C jest następująca:

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

Jak działa stwierdzenie?

ifOświadczenie oblicza wyrażenie testowy wewnątrz nawiasu ().

  • Jeśli wyrażenie testowe ma wartość true, ifwykonywane są instrukcje wewnątrz treści .
  • Jeśli wartość wyrażenia testowego jest fałszywa, instrukcje wewnątrz treści ifnie są wykonywane.

Aby dowiedzieć się więcej o tym, kiedy wyrażenie testowe jest oceniane jako prawda (wartość niezerowa) i fałsz (0), sprawdź operatory relacyjne i logiczne.

Przykład 1: instrukcja if

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

Wyjście 1

Wpisz liczbę całkowitą: -2 Wprowadziłeś -2. Instrukcja if jest łatwa.

Gdy użytkownik wprowadzi -2, wyrażenie testowe number<0jest oceniane jako prawda. W związku z tym na ekranie jest wyświetlane wpisane -2.

Wyjście 2

 Wpisz liczbę całkowitą: 5 Instrukcja if jest łatwa.

Gdy użytkownik wprowadzi 5, wyrażenie testowe number<0jest oceniane jako false, a instrukcja wewnątrz treści ifnie jest wykonywana

C if… else Statement

ifStwierdzenie może mieć opcjonalny elseblok. Składnia if… elseinstrukcji to:

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

A jeśli… else zdanie działa?

Jeśli wyrażenie testowe ma wartość true,

  • ifwykonywane są instrukcje wewnątrz treści .
  • instrukcje wewnątrz treści elsesą pomijane podczas wykonywania.

Jeśli wyrażenie testowe ma wartość false,

  • elsewykonywane są instrukcje wewnątrz treści
  • instrukcje wewnątrz treści ifsą pomijane podczas wykonywania.

Przykład 2: instrukcja if… else

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

Wynik

 Wpisz liczbę całkowitą: 7 7 to nieparzysta liczba całkowita.

Gdy użytkownik wprowadzi 7, wyrażenie testowe number%2==0jest oceniane jako fałszywe. W związku z tym elsewykonywana jest instrukcja wewnątrz treści .

C jeśli… else Drabina

if… elseOświadczenie wykonuje dwa różne kody zależności od tego czy wyrażenie test jest prawdziwe, czy fałszywe. Czasami trzeba wybrać więcej niż dwie możliwości.

Drabina if… else pozwala na sprawdzanie między wieloma wyrażeniami testowymi i wykonywanie różnych instrukcji.

Składnia if… else Ladder

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

Przykład 3: C if… else Ladder

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

Wynik

 Wprowadź dwie liczby całkowite: 12 23 Wynik: 12 <23

Zagnieżdżone, jeśli… else

Możliwe jest umieszczenie if… elseinstrukcji w treści innej if… elseinstrukcji.

Przykład 4: Zagnieżdżone, jeśli… else

Ten program podany poniżej dotyczy dwóch liczb całkowitych stosując albo <, >i =podobny do if… elseprzykładu na drabinie. Jednak if… elsedo rozwiązania tego problemu użyjemy instrukcji zagnieżdżonej .

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

Jeśli treść if… elseinstrukcji zawiera tylko jedną instrukcję, nie musisz używać nawiasów ().

Na przykład ten kod

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

jest równa

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

Interesujące artykuły...