Порядок вычисления выражений
Вычисление значений выражений выполняется в определенном порядке. Начинается вычисление с определения переменных и констант, входящих в выражение. Они являются основой для дальнейших вычислений. Дальнейшие действия выполняются в соответствии с их приоритетами. Так, в первую очередь вычисляются выражения, заключенные в круглые скобки. Для любых двух вложенных друг в друга пар круглых скобок вычисляется сначала внутреннее выражение, а затем внешнее. Далее вычисляются значения входящих в выражение функций и т.д. Приоритеты всех действий, выполняемых при вычислении выражений, приведены в таблице 17.9.
Таблица 17.9 Приоритеты действий при вычислении выражений
Приоритет | Лексемы | Операция |
, | последовательное вычисление | |
=, +=, -=, *=, /=, %=, <<=, >>=, &=, ^=, |= | присваивание | |
? : | условие | |
|| | логическое ИЛИ | |
&& | логическое И | |
| | побитовое ИЛИ | |
^ | побитовое исключающее ИЛИ | |
& | побитовое И | |
==, != | равенство/неравенство | |
<, >, <=, >= | отношения | |
<<, >> | сдвиг влево и вправо | |
+, - | аддитивные операции | |
*, /, % | мультипликативные операции | |
++, --, sizeof, ~, !, -, +, &, *, (имя типа) | положительное и отрицательное приращение, размер, побитовое НЕ, логическое НЕ, изменение знака, плюс, адрес, опосредование (разыменование), приведение типа | |
имена, литералы, a[k], f(…), a.b, -> | простые лексемы, индексы, вызов функции, прямой выбор, опосредованный выбор |
Лекция 18 Операторы языка Turbo Pascal и C
18.1. Простые операторы Turbo Pascal
18.2. Простые операторы C
18.3. Структурированные операторы Turbo Pascal
18.4. Структурированные операторы C
Операторы языка описывают некоторые алгоритмические действия, которые необходимо выполнить для решения задачи. Тело программы можно представить как последовательность операторов, образующих выражения. Следующие друг за другом операторы разделяются точкой с запятой.
Все операторы языка Паскаль и Си можно разделить на две группы: простые и структурированные.
18.1 Простые операторы Turbo Pascal
Простыми являются те операторы, которые не содержат в себе других операторов. К ним относятся:
- оператор присваивания;
- обращение к процедуре;
- оператор безусловного перехода GOTO;
- пустой оператор.
18.1.1 Оператор присваивания (“:=”)
Назначение
С помощью этого оператора переменной присваивается значение выражения.
Формат записи
<переменная> : = <выражение>).
<Переменная> и <выражение> должны иметь одинаковый тип (кроме "вещественному типу можно присвоить целочисленный");
Не следует путать оператор присваивания (“:=”)с операцией сравнения (“=”);
Пример:
А := 5*х-6.
18.1.2 Оператор безусловного перехода (“Goto”)
Назначение
Оператор безусловного перехода позволяет изменить последовательный порядок выполнения операторов и перейти к выполнению оператору (операторов), перед которым установлена метка.
Формат записи
Goto <метка> .
Перед использованием метка должна быть объявлена в разделе описания меток;
Допускается переход к <метке> внутри одного блока.
Пример:
If x<>0 then y:=a/x else goto 1;
Дата добавления: 2021-03-18; просмотров: 346;