- •1. Краткие теоретические сведения
- •1.1. Операции сравнения и логические операции
- •1.1.1. Операции сравнения
- •1.1.2. Логические операции
- •1.1.3. Логические выражения
- •1.2. Приоритет операций
- •1.3. Разветвляющийся вычислительный процесс
- •1.5. Оператор перехода
- •1.6. Пустой оператор
- •1.7.1. Короткая форма условного оператора
- •1.7.2. Полная форма условного оператора
- •1.9. Понятие составного оператора (группы операторов)
- •1.10.1. Проверка двух или более условий
- •1.10.5. Обработка нескольких условий
- •1.10.6. Вложенный условный оператор
- •1.11. Рекомендации по заданию исходных значений переменным
- •1.11.1. Операторы присваивания
- •1.11.2. Операторы ввода
- •1.11.3. Инициализация переменных
- •1.11.4. Именованные константы
- •1.12. Оператор множественного выбора switch
- •1.13. Использование отступов для улучшения удобочитаемости вашей программы
- •2. Задание
- •2.4. Задания для выполнения на занятиях
- •2.4.1. Задание 1
- •2.4.1.1. Условие задания
- •2.4.2. Задание 2
- •2.4.3. Задание 3
- •2.4.4. Задание 4
- •2.5. Задания для выполнения дома
- •2.5.1. Задание 1
- •2.5.2. Задание 2
- •3.6. Пример программы
- •3.7. Типичные ошибки при выполнении работы
- •2.5.3. Задание 3
- •3. Выводы
- •4. Требование к отчету
- •4. Краткие теоретические сведения.
- •5. Вопросы для самоконтроля
- •Литература
- •1. Краткие теоретические сведения 2
- •1.1. Операции сравнения и логические операции 2
- •1.1.1. Операции сравнения 2
1.7.1. Короткая форма условного оператора
Условный оператор if в языке C++ позволяет вашим программам осуществлять проверку и затем на основании этой проверки выполнять операторы.
Сокращенная форма записи оператора if имеет вид:
if (выражение) оператор1;
Например, if (a>b) y=2*x;
Здесь выражение – выражение, которое может иметь арифметический тип или тип указателя; оператор1 – простые или составные операторы языка. Простой оператор – это один оператор. Составной оператор (блок операторов) – это последовательность из нескольких любых операторов, в том числе операторов описания, заключенных в фигурные скобки.
Например, if (x<=5.6) { float a=2.1; y=a*sin(x); printf("%.4f\n",y) ;}
Следует учитывать, что переменная, описанная в блоке, не существует вне блока.
При выполнении оператора if сначала вычисляется значение выражения выражение. Если полученное значение не равно нулю (имеет значение true), то выполняется оператор1, иначе управление передаются на оператор, следующий за условным.
Ниже на рис. 6.5. приведен пример программирования ветвлений с короткой формой.
В примере на рис. 6.5 оператор y=a+x; является простым оператором.
Обычно оператор if выполняет проверку, используя операцию сравнения C++. Если результат проверки является истиной, if выполняет оператор, который следует за ним. Следующая программа в примере 6.4 использует оператор if для сравнения значения переменной test_score со значением 90. Если набранные тестовые очки больше или равны 90, программа выведет сообщение пользователю, что он прошел тест А. В противном случае, если значение меньше 90, программа просто завершается:
Пример 6.4
#include <iostream.h>
int main()
{ int test_score = 95;
if (test_score >= 90) cout << "Поздравляем, вы прошли тест! " << endl;
}
|
|
|
|
|
|
||||
|
Да |
|
Нет |
|
|||||
|
|
|
a > 3 |
|
|
||||
|
y = a + x |
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
||||
|
|
|
|
|
|
||||
if (a > 3) y = a + x; |
|||||||||
|
|
|
|
|
|||||
Рис. 6.5. Короткая форма ветвления. Простой оператор |
|||||||||
|
|
|
|
|
Как видите, для выполнения проверки программа использует операцию сравнения C++ "больше или равно" (>=). Если результат сравнения значений является истиной, программа выполняет оператор, который следует за if, в данном случае вывод сообщения с использованием cout. Если результат сравнения не является истинным, программа не выводит сообщение. Экспериментируйте с этой программой, изменяя проверочные очки (в том числе и меньше 90), и обратите внимание на работу оператора if.