Конструкция логического выбора if else
Оператор if позволяет проверить какое-то утверждение (выражение) на истинность и в зависимости от полученного результата произвести то или иное действие. Для начала рассмотрим общий синтаксис данного оператора:
if (утверждение или выражение) { действие 1; } else { действие 2; }
- if(A>B&&A<C) – комбинированное утверждение, состоящее из двух частей, будет истинно, если обе части будут верными
int A=10,B=5,C=12; if(A>B&&A<C){ // истина cout<<"A between B and C";// на экране Test }
- if(A-B) – арифметическое выражение, будет истинным, если А не равно B, т. к. в противном случае (если они равны) их разность даст нуль, а нуль это ложь
int A=10,B=15; if(A-B){ // -5 это истина cout<<"A != В";// на экране A != В }
- if(++A) - арифметическое выражение, будет истинным, если А не равно -1, т. к. если А равно -1 увеличение на 1 даст нуль, а нуль это ложь
int A=0; if(++A){ // 1 это истина cout<<"Best test!!";// на экране Best test!! }
- if(A++) - арифметическое выражение, будет истинным, если А не равно 0, т. к. в данном случае используется постфиксная форма инкремента, сначала произойдет проверка условия и будет обнаружен нуль, а потом увеличение на единицу.
int A=0; if(A++){ // 0 это ложь cout<<"Best test!!";// эту фразу мы не увидим, т. к. if не выполнится }
if(A==Z) - обычное утверждение, будет истинным, если A равно Z if(A=Z) – операция присваивания, выражение будет истинным, если Z не равно нулю
Конструкция else является необязательной. Это означает, что если нет необходимости делать что-либо при ложности утверждения, данную конструкцию можно не указывать. Если к блоку if или else относится только одна команда, то фигурные скобки можно не указывать.
Лесенка if else if
Внимательно проанализировав данный пример, вы заметите, что каждый следующий if, может выполниться только, в том случае, если не выполнился его "предшественник", так как находится внутри конструкции else последнего. Оптимизация кода. Если к блоку if или else относится только одна команда, то фигурные скобки можно не указывать. Дело в том, конструкция if else считается одной цельной командной структурой. Следовательно, если внутри некоторых else нет ничего кроме вложенной конструкции, фигурные скобки таких else можно опустить.
# include <iostream> using namespace std; void main(){ // обявляется переменная,для хранения первоначальной суммы int summa; // запрос на ввод суммы с клавиатуры cout<<"Enter item of summa:\n"; cin>>summa; if(summa>1000){ // если сумма больше 1000 грн., скидка 25% cout<<"You have 25% discount!!!\n"; cout<<"You must pay - "<<summa-summa/100*25<<"\n"; } // если сумма не больше 1000 грн. продолжаем анализ else if(summa>500){ // если сумма больше 500 грн., скидка 10% cout<<"You have 10% discount!!!\n"; cout<<"You must pay - "<<summa-summa/100*10<<"\n"; } // если сумма не больше 500 грн. продолжаем анализ else if(summa>100){ // если сумма больше 100 грн., скидка 5% cout<<"You have 5% discount!!!\n"; cout<<"You must pay - "<<summa-summa/100*5<<"\n"; } else{ // если сумма не больше 100 грн. скидки нет cout<<"You have not discount!!!\n"; cout<<"You must pay - "<<summa<<"\n"; } }
📌 Для тестирования скриптов, установщиков VPN, Python ботов рекомендуем использовать надежные VPS на короткий срок. Если вам нужна помощь с более сложными задачами, вы можете найти фрилансера, который поможет с настройкой. Узнайте больше о быстрой аренде VPS для экспериментов и о фриланс-бирже для настройки VPS, WordPress. 📌
💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!
7 Самых Популярных Статей
- Как запустить скрипты и веб-приложения на Python
- Что такое страны TIER 1,2,3
- 7 способов сравнения файлов по содержимому в Windows или Linux
- Установка и тестирование веб-панели HestiaCP
- Китайский VPN Shadowsocks простая установка и настройка
- top, htop, atop определение загрузки ОС (Load average, LA)
- Использование rsync в примерах