<<
>>

Базовые операторы

Удивительно, но основными «рабочими лошадками» в императивных программах являются выражения и операторы присваивания: выражения определяют порядок вычисления значений, а операторы присваивания обеспечивают занесение значений в некоторые переменные.

Суть операции присваивания обсуждалась в предыдущей главе. Основным назначением присваивания считается присвоение /-значению объекта данных (то есть области памяти, выделенной для объекта) г-значения (то есть значения объекта данных) определенного выражения. Синтаксис представления явного присваивания от языка к языку существенно меняется (табл. 5.1).

В семействе языков, сходных по синтаксису с языком ^ присваивание считается просто операцией, поэтому можно написать: у = х = 5. Поскольку присваивание

110

Глава 5.
Действия и операторы в программах

является правоассоциативной операцией, данная запись означает у = (х = 5), и ей соответствует следующий порядок вычислений:

1. Переменной х присваивается значение 5.

2. Выражение (х = 5) возвращает значение 5.

3. Переменной у присваивается значение 5.

Таблица 5.1. Обозначения оператора присваивания в разных языках программирования

И все же чаще всего присваивание используется только в качестве отдельного оператора.
Примером может служить оператор присваивания в языке Pascal:

У := 2 + Z;

А := 4 + 3 * В;

Другие возможности здесь исключены, так как операция присваивания языка Pascal не возвращает никакого явного результата

В большинстве языков присваивания применяются лишь отдельно. Однако, как показано в табл. 5.2, в языке C их комбинируют с другими арифметическими операциями.

Таблица 5.2. Комбинированные операции присваивания в языке С

Такие комбинированные операции присваивания позволяют сократить запись присваиваемых выражений.

Очень интересные возможности дает применение в операторах присваивания для языка С операций изменения значения переменных на единицу. Речь идет об операции увеличения значения (++) и операции уменьшения значения (—). Первая называется операцией инкремента, вторая — операцией декремента.

Возможна префиксная и постфиксная формы инкремента и декремента:

Базовые операторы

111

? Если операции инкремента и декремента записаны в префиксной форме, то переменная сначала изменяется, а затем ее новое значение используется в выражении.

? Если операции инкремента и декремента записаны в постфиксной форме, то в выражении используется текущее значение переменной, и только после этого ее значение изменяется.

Использование этих форм иллюстрирует табл.

5.3.

Таблица 5.3. Префиксная и постфиксная формы инкремента и декремента

ПРИМЕЧАНИЕ ---------------------------------------------------------------------------------------------------

Если операции инкремента и декремента осуществляются в виде отдельного оператора, то обе формы приводят к одинаковому результату.

Большинство языков программирования содержат операторы для чтения вводимых пользователем данных с клавиатуры, из каналов связи или из файлов. Эти операторы также изменяют значение переменных через операции присваивания. Обычно синтаксис таких операторов выглядит как: read(file, data). В языке C вызов оператора scanf приводит к присваиванию переменной некоторого значения из стандартного файла ввода. В языке Perl операцию чтения вызывает упоминание стандартного входного файла. Например, $А = вызывает присваивание переменной $А очередной строки ввода.

Конечно, можно задать линейные вычисления, записав один за другим последовательность операторов присваивания. И все же количество полезных программ, состоящих исключительно из операторов присваивания, крайне ограничено. Чтобы сделать программы более гибкими и разнообразными, необходимы средства для организации разветвлений и повторного выполнения некоторых операторов. Операторы, предоставляющие такие возможности, обычно называют операторами управления.

Каким должен быть простой и универсальный набор операторов управления? Простой в том смысле, чтобы любой оператор можно было без труда освоить и легко применить при создании программы. Универсальность же набора должна покрывать все мыслимые и немыслимые программные приложения. Ответ на этот вопрос широко дискутировался на протяжении последних двадцати пяти лет XX века [9-12, 17, 19]. По сути, речь шла о разумном расширении состава операторов языка программирования, эффективно увеличивающего легкость программирования за счет баланса простоты, универсальности и читабельности.

112

Глава 5. Действия и операторы в программах

Как правило, оператор управления является структурой, в состав которой входит одна или несколько последовательностей операторов присваивания. Исследования 60-х годов XX века доказали, что структуры управления должны иметь один вход и один выход. Наличие нескольких входов в таких структурах делает программы менее читабельными и понятными.

<< | >>

Еще по теме Базовые операторы:

  1. ОШИБКА ОПЕРАТОРА
  2. ДЕЯТЕЛЬНОСТЬ ОПЕРАТОРА
  3. ОПЕРАТОР
  4. ОПЕРАТОР: ПРИЕМ ИНФОРМАЦИИ
  5. ОПЕРАТОР: НАДЕЖНОСТЬ
  6. ОПЕРАТОР: ПОМЕХОУСТОЙЧИВОСТЬ
  7. Профессия оператора: между техникой и искусством
  8. Базовые принципы соединения ума и тела
  9. Под ред. С. В. Симоновича. Информатика. Базовый курс. 2-е издание, 2004
  10. 1.1. Базовая информация