Арифметические операции. Примеры. Операции отношения


Бинарные арифметические операции:

+ (сложение), -(вычитание), * (умножение), / (деление), %(взятие модуля).

% нельзя использовать к типам float, double, только к любым целым. Она дает при x%y остаток от деления x на y.

Для ассоциативных и коммутативных операций вроде * и + порядок вычислений не фиксируется, и транслятор может переупорядочить даже при наличии скобок. Например, (a+b)+(c+d) может вычисляться как (a+b), затем (c+d) и затем сумма, или вначале (c+d).

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

Пример
a=c+ ( f( )+b );

Порядок вычисления неизвестен.

Но –a =f ( )+b; a=c+a; порядок определен.

Другая возможность – это использовать введенный специально для этих целей в Турбо Си унарный плюс!

Пример

Для предыдущего примера:

a = c+(+(f( )+b));

ун-й плюс

бин-й плюс

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

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

Операции отношения

Это следующие операции:

>(больше), <=(меньше либо равно), >=(больше либо равно ), <(меньше)

У операций равенства: == (равно), !=(не равно) приоритет ниже.

Тип результата этих операций: int .

Значение : 0, если отношение ложно и

1, если отношение истинно.

Т.о. в Си нет булевских констант.

true и false

ненулевое целое нулевое целое

Пример.
sint(x)+k>x+y

Вначале вычисляются (sint(x)+k) и (x+y), а затем операция >.

 



Дата добавления: 2016-05-26; просмотров: 1650;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.008 сек.