Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Язык C

C++ если, если... еще и вложенный, если... еще

C++ if, if...else и вложенный if...else

В этом руководстве мы узнаем об операторе if...else для создания программ принятия решений с помощью примеров.

В компьютерном программировании мы используем if...else оператор для запуска одного блока кода при определенных условиях и другого блока кода при других условиях.

Например, выставление оценок (A, B, C) на основе оценок, полученных учащимся.

<час>

Существует три формы if...else операторы на C++.

  1. if заявление
  2. if...else заявление
  3. if...else if...else заявление
<час>

С++ оператор if

Синтаксис if утверждение:

if (condition) {
  // body of if statement
}

if оператор оценивает condition внутри круглых скобок ( ) .

Примечание. Код внутри { } это тело if заявление.

<рисунок> <час>

Пример 1. Оператор C++ if

// Program to print positive number entered by the user
// If the user enters a negative number, it is skipped

#include <iostream>
using namespace std;

int main() {

  int number;

  cout << "Enter an integer: ";
  cin >> number;

  // checks if the number is positive
  if (number > 0) {
    cout << "You entered a positive integer: " << number << endl;
  }

  cout << "This statement is always executed.";

  return 0;
}

Выход 1

Enter an integer: 5
You entered a positive number: 5
This statement is always executed.

Когда пользователь вводит 5 , условие number > 0 оценивается как true и оператор внутри тела if выполняется.

Вывод 2

Enter a number: -5
This statement is always executed.

Когда пользователь вводит -5 , условие number > 0 оценивается как false и оператор внутри тела if не выполняется.

<час>

С++, если... еще

if оператор может иметь необязательный else пункт. Его синтаксис:

if (condition) {
  // block of code if condition is true
}
else {
  // block of code if condition is false
}

if..else оператор оценивает condition внутри скобок.

<рисунок>

Если condition оценивает true ,

Если condition оценивает false ,

<час>

Пример 2. Оператор C++ if...else

// Program to check whether an integer is positive or negative
// This program considers 0 as a positive number

#include <iostream>
using namespace std;

int main() {

  int number;

  cout << "Enter an integer: ";
  cin >> number;

  if (number >= 0) {
    cout << "You entered a positive integer: " << number << endl;
  }
  else {
    cout << "You entered a negative integer: " << number << endl;
  }

  cout << "This line is always printed.";

  return 0;
}

Выход 1

Enter an integer: 4
You entered a positive integer: 4.
This line is always printed.

В приведенной выше программе у нас есть условие number >= 0 . Если мы введем число больше или равное 0 , тогда условие оценивает true .

Здесь мы вводим 4 . Итак, условие true . Следовательно, оператор внутри тела if выполняется.

Вывод 2

Enter an integer: -4
You entered a negative integer: -4.
This line is always printed.

Здесь мы вводим -4 . Итак, условие false . Следовательно, оператор внутри тела else выполняется.

<час>

С++ оператор if...else...else if

if...else оператор используется для выполнения блока кода среди двух альтернатив. Однако, если нам нужно сделать выбор между более чем двумя альтернативами, мы используем if...else if...else заявление.

Синтаксис if...else if...else утверждение:

if (condition1) {
  // code block 1
}
else if (condition2){
  // code block 2
}
else {
  // code block 3
}

Здесь

<рисунок>

Примечание. Может быть более одного else if оператор, но только один if и else заявления.

<час>

Пример 3:C++ if...else...else if

// Program to check whether an integer is positive, negative or zero

#include <iostream>
using namespace std;

int main() {

  int number;

  cout << "Enter an integer: ";
  cin >> number;

  if (number > 0) {
    cout << "You entered a positive integer: " << number << endl;
  } 
  else if (number < 0) {
    cout << "You entered a negative integer: " << number << endl;
  } 
  else {
    cout << "You entered 0." << endl;
  }

  cout << "This line is always printed.";

  return 0;
}

Выход 1

Enter an integer: 1
You entered a positive integer: 1.
This line is always printed.

Вывод 2

Enter an integer: -2
You entered a negative integer: -2.
This line is always printed.

Выход 3

Enter an integer: 0
You entered 0.
This line is always printed.

В этой программе мы берем число от пользователя. Затем мы используем if...else if...else лестнице, чтобы проверить, является ли число положительным, отрицательным или нулевым.

Если число больше 0 , код внутри if блок выполняется. Если число меньше 0 , код внутри else if блок выполняется. В противном случае код внутри else блок выполняется.

<час>

Вложенный C++ if...else

Иногда нам нужно использовать if оператор внутри другого if утверждение. Это известно как вложенный if. заявление.

Думайте об этом как о нескольких слоях if. заявления. Есть первый внешний if оператор, а внутри него другой, внутренний if утверждение. Его синтаксис:

// outer if statement
if (condition1) {

  // statements

  // inner if statement
  if (condition2) {
    // statements
  }
}

Примечания:

<час>

Пример 4. Вложенные операторы C++ if

// C++ program to find if an integer is positive, negative or zero
// using nested if statements

#include <iostream>
using namespace std;

int main() {

  int num;
    
  cout << "Enter an integer: ";  
   cin >> num;    

  // outer if condition
  if (num != 0) {
        
    // inner if condition
    if (num > 0) {
      cout << "The number is positive." << endl;
    }
    // inner else condition
    else {
      cout << "The number is negative." << endl;
    }  
  }
  // outer else condition
  else {
    cout << "The number is 0 and it is neither positive nor negative." << endl;
  }

  cout << "This line is always printed." << endl;

  return 0;
}

Выход 1

Enter an integer: 35
The number is positive.
This line is always printed.

Вывод 2

Enter an integer: -35
The number is negative.
This line is always printed.

Выход 3

Enter an integer: 0
The number is 0 and it is neither positive nor negative.
This line is always printed.

В приведенном выше примере

Примечание. Как видите, вложенный if...else усложняет вашу логику. Если возможно, вы всегда должны избегать вложенных if...else. .

<час>

Основная часть if...else только с одним оператором

Если тело if...else имеет только один оператор, вы можете опустить { } в программе. Например, вы можете заменить

int number = 5;

if (number > 0) {
  cout << "The number is positive." << endl;
}
else {
  cout << "The number is negative." << endl;
}

с

int number = 5;

if (number > 0)
  cout << "The number is positive." << endl;
else
  cout << "The number is negative." << endl;

Вывод обеих программ будет одинаковым.

Примечание. Хотя нет необходимости использовать { } если тело if...else имеет только один оператор, используя { } делает ваш код более читабельным.

<час>

Подробнее о принятии решений

В определенных ситуациях тройной оператор может заменить if...else утверждение. Чтобы узнать больше, посетите тернарный оператор C++.

Если нам нужно сделать выбор между несколькими альтернативами на основе заданного условия теста, switch заявление можно использовать. Чтобы узнать больше, посетите переключатель C++.

<час>

Посмотрите эти примеры, чтобы узнать больше:

Программа C++ для проверки четности или нечетности числа

Программа C++ для проверки того, является ли символ гласным или согласным.

Программа C++ для поиска наибольшего числа среди трех чисел


Язык C

  1. C# if, if...else, if...else if и вложенный оператор if
  2. Классы и объекты С++
  3. Управление памятью C++:создание и удаление
  4. Публичное, защищенное и частное наследование C++
  5. Дружественные функции C++ и дружественные классы
  6. Оператор Python, отступы и комментарии
  7. Вложенный и внутренний класс Java
  8. Дата и время С++
  9. Перегрузка C++ (оператор и функция)
  10. Файлы и потоки C++