C if ... else Заявление

В этом руководстве вы узнаете об операторе 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не выполняются.

Чтобы узнать больше о том, когда тестовое выражение оценивается как истинное (ненулевое значение) и ложное (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оценивается как ложное, а оператор внутри тела 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оценивается как ложное. Следовательно, выполняется инструкция внутри тела else.

C if… else Лестница

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

Вывод

 Введите два целых числа: 12 23 Результат: 12 <23

Вложенный if… else

Можно включить if… elseоператор в тело другого if… elseоператора.

Пример 4: Вложенный if… else

Эта программа, приведенная ниже, связывает два целых числа, используя любое из них <, >и =аналогично 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"); 

Интересные статьи...