У цьому підручнику ви дізнаєтесь про оператор if (включаючи if … else та вкладений if … else) у програмуванні на C за допомогою прикладів.
C if Заява
Синтаксис if
висловлення в програмуванні на C такий:
if (test expression) ( // statements to be executed if the test expression is true )
Як якщо оператор працює?
Оператор if
обчислює тестовий вираз усередині дужок ()
.
- Якщо тестовий вираз оцінюється як істинний,
if
виконуються оператори всередині тіла . - Якщо тестовий вираз оцінено як хибний, оператори всередині тіла
if
не виконуються.
Щоб дізнатись більше про те, коли тестовий вираз обчислюється як true (ненульове значення) і false (0), перевірте реляційні та логічні оператори.
Приклад 1: оператор 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; )
Вихід 1
Введіть ціле число: -2 Ви ввели -2. Заява if легко.
Коли користувач вводить -2, тестовий вираз number<0
оцінюється як істинний. Отже, ви ввели -2 відображається на екрані.
Вихід 2
Введіть ціле число: 5 Оператор if легко.
Коли користувач вводить 5, тестовий вираз number<0
обчислюється як false і оператор всередині тіла if
не виконується
C if… else Заява
Оператор if
може мати необов’язковий else
блок. Синтаксис if… else
висловлення:
if (test expression) ( // statements to be executed if the test expression is true ) else ( // statements to be executed if the test expression is false )
Як якщо… інше твердження працює?
Якщо тестовий вираз оцінено як істинний,
if
виконуються оператори всередині тіла .- оператори всередині тіла
else
пропускаються з виконання.
Якщо тестовий вираз оцінено як хибний,
else
виконуються оператори всередині тіла- оператори всередині тіла
if
пропускаються з виконання.
Приклад 2: твердження 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; )
Вихідні дані
Введіть ціле число: 7 7 - непарне ціле число.
Коли користувач вводить 7, тестовий вираз number%2==0
оцінюється як false. Отже, оператор всередині тіла else
виконується.
C якщо… ще Сходи
Оператор if… else
виконує два різні коди залежно від того, чи є тестовий вираз істинним чи хибним. Іноді вибір повинен бути зроблений з більш ніж двох можливостей.
Сходи if … else дозволяють перевіряти між кількома тестовими виразами та виконувати різні оператори.
Синтаксис if … else Ladder
if (test expression1) ( // statement(s) ) else if(test expression2) ( // statement(s) ) else if (test expression3) ( // statement(s) )… else ( // statement(s) )
Приклад 3: C, якщо … ще Сходи
// 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; )
Вихідні дані
Введіть два цілих числа: 12 23 Результат: 12 <23
Вкладено, якщо … ще
Можна включити if… else
твердження всередину іншого if… else
твердження.
Приклад 4: Вкладений, якщо … ще
Ця програма, наведена нижче, стосується двох цілих чисел, що використовують будь-яку <
, >
і =
подібно до if… else
прикладу драбини. Однак if… else
для вирішення цієї проблеми ми будемо використовувати вкладений оператор.
#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; )
Якщо тіло if… else
виписки має лише одне висловлення, вам не потрібно використовувати дужки ()
.
Наприклад, цей код
if (a> b) ( print("Hello"); ) print("Hi");
еквівалентно
if (a> b) print("Hello"); print("Hi");