Книга знаний

Инф. технологии

Условия в C++

Виды условий в C++, описание и примеры кодаАвтор статьи: РЕШЕНИЕ
Последняя редакция №1 от 15.06.23
URL: http://kb.mista.ru/article.php?id=974

Ключевые слова: C++, условия, if, else if, switch


Условия в C++

Оператор if



Условный оператор if записывается так:

if (condition) {

   // код, который исполнится в случае, когда условие condition истинно
}


Дополнительно можно добавить ветку кода для случая, когда условие ложно:

if (condition) {

   // код, который исполнится, если condition истинно
} else {
   // код, который исполнится, если condition ложно
}


Также можно выстроить цепочку условных операторов:

if (condition1) {

   // случай, когда condition1 истинно
} else if (condition2) {
   // случай, когда condition1 ложно, а condition2 истинно
} else if (contition3) {
   // случай, когда condition1 и condition2 ложны, а condition3 истинно
} else {
   // случай, когда condition1, condition2 и condition3 ложны
}


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

На месте condition может стоять любое выражение логического типа. Простейшие примеры таких выражений — это проверка на равенство (==) и неравенство (!=), а также сравнения на меньше / больше (<, <=, > и >=):

int main() {

   int x;
   std::cin >> x;
   if (x <= 0) {
       std::cout << "zero or negative\n";
   } else if (x == 1) {
       std::cout << "one\n";
   } else if (x == 2) {
       std::cout << "two\n";
   } else {
       std::cout << "many\n";
   }
}




Оператор switch



Рассмотрим простейший калькулятор, считывающий число, затем знак арифметической операции, а затем другое число и печатающий результат. Напишем сначала программу с помощью if и else.

#include <cstdint>

#include <iostream>

int main() {
   int64_t a, b;
   char operation;
   std::cin >> a >> operation >> b;

   int64_t result = 0;
   if (operation == '+') {
       result = a + b;
   } else if (operation == '-') {
       result = a - b;
   } else if (operation == '*') {
       result = a * b;
   } else if (operation == '/' || operation == ':') {
       result = a / b;
   } else if (operation == '%') {  // остаток от деления
       result = a % b;
   }

   std::cout << result << "\n";
}

Описание | Рубрикатор | Поиск | ТелепатБот | Захваченные статьи | Установки | Форум
© Станислав Митичкин (Волшебник), 2005-2025 | Mista.ru

Яндекс.Метрика