Оператор условного перехода
В программе передача управления той или иной сети на основании определенного условия осуществляется с помощью оператора условного перехода. Оператор условного сдвига может использоваться в двух формах: полной и краткой. Условие в C++ — это логическое выражение, которое принимает одно из двух значений: true или false. Условный оператор дает возможность проверить заданное условие, и в зависимости от результата выполняется то или иное действие. Таким образом, условный оператор представляет собой ветвящийся процесс вычисления.
Следующее действие используется в условном переходе
Алгебраическое выражение
|
оператор в С++
|
выражение на С++
|
Алгебраическое значение
|
группа равенства
|
==
|
x==y
|
х равно у
|
не равный
|
!=
|
x!=y
|
Х не равно у
|
группа сравнения
|
>
|
x>y
|
Х больше, чем у
|
Большой равный
|
>=
|
x>=y
|
X больше или равно y
|
Пробел между операторами ==, !=, >= и <= является синтаксической ошибкой. То есть компилятор указывает на ошибку в программе и требует ее исправления. Замена символов этих двухсимвольных операторов, таких как <= на =<, часто приводит к синтаксическим ошибкам. Иногда != ни =! При написании есть синтаксическая ошибка, но это также и логическая ошибка. Логические ошибки не обнаруживаются компилятором. Но они меняют логику программы. И найти такие ошибки — очень сложная задача (оператор ! — логическое отрицание). Другая ошибка состоит в том, что оператор равенства (==) и оператор выравнивания (=) используются взаимозаменяемо. Это тоже имеет очень печальные последствия, потому что эта ошибка в большинстве случаев приводит к логическим ошибкам. Давайте рассмотрим программу, использующую приведенные выше операторы сравнения.
// Логические операторы сравнения
# include .h>
int main()
{in
t s1, s2;
cout << " Введите два числа:" << endl;
cin >> s1 >> s2; // Было взято два номера.
if (s1 == s2) cout << s1 << " равно " << s2 << " к " << endl;
if (s1 < s2) cout << s1 << " небольшой " << s2 << " из " << endl;
if (s1 >= s2) cout << s1 << " больше или равно " << s2 << " к " << endl; if (s1 != s2) cout << s1 << " не равный " << s2 << " к " << endl;
return (0);
}
На экране:
Было взято два номера.74 33
74 больше или равно 33
74 не равно 33
Новым для нас здесь является структура if C++. Оператор if позволяет выполнять тот или иной блок программы в зависимости от того, истинно или ложно определенное условие. Если условие истинно, выполняется действие, следующее за if. Если условие не выполняется, то оператор в теле if не выполняется, а операторы, следующие за if, продолжаются. Эта структура выглядит так: если (условие) выражение; Часть условия должна быть заключена в круглые скобки Если после части условия поставить последнюю точку с запятой (;) ( if (условие); выражение; ) произойдет логическая ошибка. Потому что при этом тело if остается пустым. Часть выражения продолжает выполняться, даже если условие ложно. Там, где вы можете поместить одно выражение в C++, вы можете поместить группу выражений. Эта группа должна быть заключена в скобки {}. В случае если это выглядит так: if (условие) { выражение1; выражение2; ...выражениеN; } Если условие возвращает правильный ответ, выполняется группа выражений, в противном случае выполнение программы продолжается с выражений после скобок, закрывающих блок.
Do'stlaringiz bilan baham: |