Страница 54 из 69
else
puts("Продолжаем работу!\n");
Как работает эта конструкция? Если в программе используется
выражение ((ch=getch()) == 'q'), то она, дойдя до него, останав-
- 443,444 -
ливается и переходит в состояние ожидания ввода символа с клавиа-
туры. После того, как вы введете символ, осуществляется присваи-
вание введенного символа переменной ch и выполняется сравнение
введенного символа с символом 'q'. Если введенный символ равен
'q', то на экран будет выведено сообщение "До свидания! Программа
завершена.", в противном случае будет выведено сообщение "Продол-
жаем работу!".
Оператор запятая.
-----------------------------------------------------------------
Вы можете использовать оператор запятая (,) для организации
множественных выражений, расположенных внутри круглых скобок. Вы-
ражение внутри скобок вычисляется слева направо и все выражение
принимает значение, которое было вычислено последним. Например,
если oldch и ch имеют тип char, то выражение
(oldch = ch, ch = getch())
присваивает переменной oldch значение ch, затем считывает символ,
вводимый с клавиатуры, и запоминает его в ch. Результатом всего
выражения, в итоге, будет значение введенного с клавиатуры симво-
ла. Приведем еще один пример:
ch='a';
if((oldch = ch, ch = 'b') == 'a')
puts("Это символ 'a'\n");
else
puts("Это символ 'b'\n");
Как вы считаете, какое сообщение будет выведено на экран вашего
дисплея в результате выполнения приведенной выше программы?
Оператор if.
-----------------------------------------------------------------
Обратимся теперь опять к оператору if, который фигурировал
при рассмотрении первых примеров. Оператор if имеет следующий ос-
новной формат:
- 445,446 -
if (значение)
оператор1;
else
оператор2;
где "значение" является любым выражением, которое приводится или
может быть приведено к целочисленному значению. Если "значение"
отлично от нуля ("истина"), то выполняется "оператор1", в против-
ном случае выполняется "оператор2".
Дадим пояснение относительно двух важных моментов по исполь-
зованию оператора if-else.
Во-первых, часть "else оператор2" является необязательной
частью оператора if; другими словами, правомерно употребление
следующей формы оператора if:
if (значение)
оператор1;
В этой конструкции "оператор1" выполняется тогда и только
тогда, когда "значение" отлично от нуля. Если "значение" равно
нулю, "оператор1" пропускается и программа продолжает выполняться
дальше.
Во-вторых, что делать если вы хотите выполнить более одного
оператора в зависимости от того ложно или истинно выражение, ука-
занное в операторе if? Ответ: используйте составной оператор.
Составной оператор состоит из:
- левой или открывающей фигурной скобки ({)
- последовательности операторов, разделенных между собой точ-
кой с запятой (;)
- правой или закрывающей фигурной скобки (})
В приведенном ниже примере в предложении if используется
один оператор
- 451,452 -