Унарная – операция для обработки одного операнда. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Унарная – операция для обработки одного операнда.



Например, унарные операции используют для формирования знаковых констант (разд. 3.5.2.2).

Бинарная– операция с использованием двух операндов.

В арифметических выражениях используются унарные и бинарные операции.

К бинарным операциям относятся арифметические действия:

+ сложение;

- вычитание;

* умножение;

/ деление;

% взятие остатка (деление по модулю).

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

Результат вычисления любого арифметического выражения – константа. Поэтому, в языке Си/Си++ арифметическое выражение называется константным.

Правила записи и вычисления арифметических выражений

1. Арифметические выражения записываются одноэтажно. Например, 0.35+а*2-cos(b)/(PI+2).

2. Все знаки арифметических операций указываются явно. Например, А+В+С не равно АВ+С, так как во втором случае подразумевается переменная с именем АВ, а не две переменные.

3. Запись подряд двух знаков операций, как правило, запрещается (исключение см. разд. 6.2.1). Обойти это правило можно с помощью круглых скобок. Например, a*(-b).

4. Арифметическое выражение может быть любой сложности. Минимально может состоять из одного операнда. Реально определяется математической моделью задачи. Если зависимости математической модели относительно громоздки, рекомендуется представлять одну сложную зависимость несколькими простыми, – содержащими не более 5–7 операций в каждой.

5. Последовательность выполнения операций в арифметическом выражении соответствует принятой в математике:

· выражения в скобках;

· вычисления функций;

· умножения, деления;

· сложения, вычитания.

Например, выражение 0.2-cos(0.5)*pow(v,3) выполняется в следующем порядке: вычисление косинуса, возведение v в куб, умножение первого результата на второй и, наконец, вычитание из константы 0.2 константы, полученной после умножения.

6. Одноранговые операции выполняются слева направо. Например, выражение А*В/С*3 будет выполняться в порядке записи.

7. При необходимости нарушить последовательность выполнения действий используют скобки. Например, А+В/(С+D) или (0.2-v)*cos(0.5).

8. При делении целого операнда на целый от частного используется только целая часть. Так, результатом вычисления 5/2 будет целая константа 2, а выражения 2/5 – ноль. Для получения истинного результата необходимо сделать вещественными оба операнда или один из них. Например, 5./2. или 5./2 (5/2.).

9. Возведение в степень (pow(a,x)), если показатель (х) целочисленный, выполняется методом последовательного умножения. Если показатель степени вещественный, возведение осуществляется по формуле ax = еxlna. Использование функций (экспоненты и логарифма) приводит к получению приближенного значения результата.

10.В арифметическом выражении желательно использовать операнды одного типа. Например, i+23*k, если переменные i, k – целые или x*2.-0.36/cos(y), если переменные x, y – вещественные. В первом случае результатом будет целая константа, во втором – вещественная константа двойной точности (перед использованием автоматически все вещественные операнды приводятся к типу double).

11.Допускается применение смешанных арифметических выражений. При этом наличие хотя бы одного вещественного операнда приводит к получению результата (константы) с двойной точностью. Например, при вычислении выражения 4/z+i*k-0.07*sin(3./b) результатом будет вещественная константа двойной точности, если переменные i, k – целые, а z, b – вещественные. Аналогично, возможно получение дробного результата деления целых переменных использованием дополнительного операнда в виде вещественной константы (1.). Так, если переменные i и k описаны как целые, то результат выражения i/k есть целая константа (целая часть частного), а результат выражения i*1./k есть вещественная константа двойной точности. Следует помнить, что наличие операции деления двух целых операндов в смешанном выражении может привести к неверному результату. Например, вычисление выражения 0.02 + 3/5 - 0.01 дает неверный результат (0.01), так как второе слагаемое (частное от деления целой константы 3 на целую константу 5) равно нулю.

12.Деление по модулю % используют в целочисленной арифметике. Результат операции– остаток от деления целого операнда, записанного слева от знака операции, на операнд справа от него. Например, выражение 13%5 дает результат 3, поскольку 13=5*2+3, где 3 – остаток от деления.

13.Вычисление корня n-ой степени при n>2 требует предварительного преобразования его к виду , а затем использование функции возведения в степень. Например, зависимость  должна быть преобразована к виду , а затем сформирована как вызов функции pow(x,1./3.) Попытка вычисления функции вида pow(x,1/3) приведет к получению неверного результата – единицы, так как показатель степени (1/3) после деления станет равен нулю.

ü Внимание! Сообщения об ошибках, возможных при выполнении арифметических выражений (например, переполнение разрядной сетки), как правило, не выдаются.

Изучение выражений завершает рассмотрение простейших и промежуточных конструкций языка.

3.5.4. Основные конструкции Си/Си++

Оператор– основная конструкция большинства языков высокого уровня.

Оператор соответствует предложению в разговорном языке.

Каждый блок схемы алгоритма реализуется одним или несколькими операторами. Следовательно, совокупность операторов образует программу.

Программа на языке высокого уровня – последовательность операторов, выполняемых в порядке их записи.

В языке Си/Си++ базовой конструкцией является функция (разд. 3.5.2.4), что позволяет представлять любые участки вычислений структурировано (блочно). Поэтому некоторые операторы языка Си/Си++ есть функции, оформленные специальным образом.

ü Внимание! Отличительный признак оператора – завершающий его символ «точка с запятой».

По критерию значимость все операторы можно классифицировать схемой рис. 3.7.

 

Рис. 3.7. Классификация операторов



Поделиться:


Последнее изменение этой страницы: 2021-01-08; просмотров: 150; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.224.246.203 (0.005 с.)