Условием в инструкции if является сравнение значений: значение переменной или константы сравнивается с литералом, или со значением другой переменной или константы. Сравнение выполняется с помощью одного из следующих операторов отношения:
Оператор | Значение | Пример |
== | равно | if (tax == 0.06) |
> | больше | if (hours > 40) |
< | меньше | if (hours< 40) |
>= | больше или равно | if (salary>= 10000) |
<= | меньше или равно | if (cost<= limit) |
!= | не равно | if (count!= 1) |
Обратите внимание: когда вы хотите узнать, равны ли два значения друг другу, то должны использовать оператор отношения, состоящий из двух знаков равенства (==) подряд. Если поставить только один знак равенства, компилятор сгенерирует предупреждение, или, реже, ошибку. Единичный знак равенства (=) используется для обозначения присваивания значения переменной.
Простейшая инструкция с использованием if выглядит примерно так:
if (time> 11) puts("Уже поздно, ступайте домой.");Здесь говорится: «Если значение переменной time больше 11, тогда следующее сообщение должно быть выведено на дисплей». Если значение переменной time окажется меньше 11, сообщение не появится.
|
|
С помощью условия if можно проверять значения числовых или символьных переменных, но не строк. Например, при компиляции следующего фрагмента программы компилятор не сообщит об ошибке, но и нужный результат тоже не будет получен:
gets(name);if (name == "Адам") puts("Позвоните домой");Строковые переменные подробно обсуждаются в работе 8.
В программе, приведенной в Листинге 1, используется инструкция if. Эта программа является вариантом программы, которую мы уже видели в предыдущей главе. В ней рассчитывалась общая стоимость наименования товара с учетом налога на продажи. Здесь добавлен расчет специального налога на предметы роскоши для товаров, цена которых превышает 40000 долларов. Расчет этого налога выполняется в инструкции:
if (cost> 40000.00) luxury = cost * 0.005;