Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР6-С++-27 марта-2012.doc
Скачиваний:
17
Добавлен:
28.08.2019
Размер:
6.55 Mб
Скачать

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.