Выражения

Выражения состоят из операндов, знаков операций и скобок и используются для вычисления некоторого значения определенного типа.

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

Арифметические выражения на С++ должны быть записаны в одну строку. Круглые скобки используются в С++ в основном точно так же, как и в алгебраическом выражении.

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

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

2. Следующими выполняются операции умножения, деления и вычисления остатка. Если выражение содержит несколько операций умножения, деления и вычисления остатка. То операции выполняются слева направо. Например, a*b*c означает (a*b)*c.

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

Когда говорят о выполнении операций слева направо (или справа налево. Например, операция присваивания, a=b=c означает a= (b=c) ), то имеют ввиду ассоциативность операций.

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

Результат вычисления выражения характеризуется значением и типом. Например, если a и b — переменные целого типа и описаны так:

int a=2, b=5;

то выражение a+b имеет значение 7 и тип int, а выражение a=b имеет значение, равное помещенному в переменную a (в данном случае 5) и тип, совпадающий с типом этой переменной.

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