|
|||
Условные конструкции. Конструкция ifУсловные конструкции
Условные конструкции направляют ход программы по одному из возможных путей в зависимости от условия.
Конструкция if
Конструкция ifпроверяет истинность условия, и если оно истинно, выполняет блок инструкций. Этот оператор имеет следующую сокращенную форму:
if (условие) { инструкции; }
В качестве условия использоваться условное выражение, которое возвращает trueили false. Если условие возвращает true, то выполняются последующие инструкции, которые входят в блок if. Если условие возвращает false, то последующие инструкции не выполняются. Блок инструкций заключается в фигурные скобки. Например:
#include <iostream> using namespace std; int main() { int x = 60;
if(x > 50) { cout << "x is greater than 50 \n"; }
if(x < 30) { cout << "x is less than 30 \n"; }
cout << "End of Program" << "\n"; return 0; }
Здесь определены две условных конструкции if. Они проверят больше или меньше значение переменной x, чем определенное значение. В качестве инструкции в обоих случаях выполняется вывод некоторой строки на консоль. В первом случае x > 50 условие истинно, так как значение переменной x действительно больше 50, поэтому это условие возвратит true, и, следовательно, будут выполнятся инструкции, которые входят в блок if. Во втором случае операция отношения x < 30 возвратит false, так как условие ложно, поэтому последующий блок инструкций выполняться не будет. В итоге при запуске программы вывод консоли будет выглядеть следующим образом:
Также можно использовать полную форму конструкции if, которая включает оператор else:
if(выражение_условия) инструкция_1 else инструкция_2
После оператора else мы можем определить набор инструкций, которые выполняются, если условие в операторе if возвращает false. То есть если условие истинно, выполняются инструкции после оператора if, а если это выражение ложно, то выполняются инструкции после оператора else.
int x = 50; if(x > 60) cout << "x is greater than 60 \n"; else cout << "x is less or equal 60 \n";
В данном случае условие x > 60 ложно, то есть возвращает false, поэтому будет выполняться блок else. И в итоге на консоль будет выведена строка "x is less or equal 60 \n". Однако нередко надо обработать не два возможных альтернативных варианта, а гораздо больше. Например, в случае выше можно насчитать три условия: переменная x может быть больше 60, меньше 60 и равна 60. Для проверки альтернативных условий мы можем вводить выражения else if:
int x = 60;
if(x > 60) { cout << "x is greater than 60 \n"; } else if (x < 60) { cout << "x is less than 60 \n"; } else { cout << "x is equal 60 \n"; }
То есть в данном случае мы получаем три ветки развития событий в программе. Если в блоке if или else или else-if необходимо выполнить только одну инструкцию, то фигурные скобки можно опустить: int x = 60;
if(x > 60) cout << "x is greater than 60 \n"; else if (x < 60) cout << "x is less than 60 \n"; else cout << "x is equal 60 \n"; Пример 1.3. Программа выполняет преобразование дюймов в сантиметры или сантиметров в дюймы в зависимости от введённых данных; предполагается, что вы укажете единицы измерения, добавляя i для дюймов и c для сантиметров (допустим, 5i или 4.3с). В программе как раз и проверяется введённая единица измерения. Если единица измерения указана некорректно, программа должна вывести нули.
// Пример 1.3 – использование оператора if #include <iostream> using namespace std; int main() { setlocale(LC_ALL, "Russian"); const float fac = 2.54; // коэффициент пересчёта float x, in, cm; char ch = 0; cout << "введите длину: "; cin >> x >> ch; if (ch == 'i') { // inch - дюймы in = x; cm = x*fac; } else if (ch == 'c') { // cm - сантиметры in = x/fac; cm = x; } else in = cm = 0; // неправильный ввод cout << in << " in = " << cm << " cm\n"; system("pause"); return 0; }
|
|||
|