Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архив1 / docx55 / Курсовая работа(5).docx
Скачиваний:
51
Добавлен:
01.08.2013
Размер:
127.96 Кб
Скачать

2.3 Арифметические операции

Арифметическая операция - вычислительная операция над числами. Во многих языках программирования определены двуместные арифметические операции: сложения, вычитания, умножения, деления, деления нацело, вычисление остатка от деления. Допустимые операции в языке Паскаль представлены в таблице 2.3.1 [9].

Таблица 2.3.1 Операции в Паскале

Приоритет операции

Символ

Выражение

Название операции

Тип переменных

Логические операции

1

Not

Not A

«не»

Логический, целый

2

And

A and B

«и»

3

Or

A or B

«или»

3

Xor

A xor B

«искл. или»

Математические операции

2

*

A*B

Умножение

Целый, вещественный

2

/

A/B

Деление

2

Div

A div B

Деление без остатка

Целый

2

Mod

A mod B

Остаток от деления

3

+

A+B

Сложение

Целый, вещественный, строки

3

-

A-B

Вычитание

Целый, вещественный

Окончание таблицы 2.3.1

Приоритет операции

Символ

Выражение

Название операции

Тип переменных

Операции сравнения

4

=

A=B

Равно

Целый, вещественный, логический, строки

4

<>

A<>B

Не равно

4

>

A>B

Больше

4

<

A<B

Меньше

4

>=

A>=B

Больше либо равно

4

<=

A<=B

Меньше либо равно

Специфические операции

1

@

@A

Адрес

Любой

1

^

A^

Разыменование

Указатель

2

Chl

A chl B

Сдвиг влево

Целый

2

Shr

A shr B

Сдвиг вправо

2

*

A*B

Пересечение

Множество

3

+

A+B

Объединение

3

-

A-B

Вычитание

4

In

A in B

Вхождение в множество

Элементы множества

Для строк операция сложения выступает как конкатенация – присоединение второй строки к «хвосту» первой. Как правило, для большинства операций характерно неявное приведение типов, поэтому они являются в некотором роде универсальными.

Операции в языке Си более универсальны из-за отсутствия логических типов и упразднения типов строк и символов, однако и они имеют свои особенности. Список допустимых операций в Си приведен в таблице 2.3.2 [10]. В языке существует жесткая иерархия по приоритету выполнения операций, что позволяет более детально прорабатывать структуру программ. Также введено понятие ассоциативности – приоритет выполнения операций может быть как слева направо, так и справа налево. Большинство операций допустимы для всех типов, исключения составляют побитовые и логические операции, а так же операции деления без остатка и остаток от деления для вещественных типов. Особенностью языка Си является тернарный оператор условия (x?y;z), который представляет простейший условный переход.

Таблица 2.3.2 – Операции языка Си

Оператор

Название

Класс

Приоритет

Ассоциативность

++/--

Инкремент, декремент

Постфиксный

16

Слева направо

++/--

Инкремент, декремент

Префиксный

15

Справа налево

~

Побитовое НЕ

Унарный

15

Справа налево

!

Логическое НЕ

Унарный

15

Справа налево

- +

Изменение знака, плюс

Унарный

15

Справа налево

&

Адрес

Унарный

15

Справа налево

*

Разыменование

Унарный

15

Справа налево

(имя типа)

Приведение типа

Унарный

14

Справа налево

* / %

Мультипликативные операции

Бинарный

13

Слева направо

+ -

Аддитивные операции

Бинарные

12

Слева направо

Соседние файлы в папке docx55