Программирование. Принципы и практика использования C++ Исправленное издание, стр. 45
Иначе говоря,
lengthintlvaluelengthrvalueКомбинируя выражения с помощью операторов, таких как
+*int perimeter = (length+width)*2; // сложить и умножитьБез скобок это выражение пришлось бы записать следующим образом:
int perimeter = length*2+width*2;что слишком громоздко и провоцирует ошибки.
int perimeter = length+width*2; // сложить width*2 с lengthПоследняя ошибка является логической, и компилятор не может ее обнаружить. Компилятор просто видит переменную с именем
perimeterВ программах применяются обычные математические правила, регламентирующие порядок выполнения операторов, поэтому
length+width*2length+(width*2)a*b+c/d(a*b)+(c/d)a*(b+c)/dПервое правило использования скобок гласит: “Если сомневаешься, используй скобки”. И все же программист должен научиться правильно формировать выражения, чтобы не сомневаться в значении формулы
a*b+c/d(a*b)+(c/d)Почему мы заботимся о читабельности? Потому что ваш код будете читать не только вы, но и, возможно, другие программисты, а запутанный код замедляет чтение и препятствует его анализу. Неуклюжий код не просто сложно читать, но и трудно исправлять. Плохо написанный код часто скрывает логические ошибки. Чем больше усилий требуется при его чтении, тем сложнее будет убедить себя и других, что он является правильным. Не пишите слишком сложных выражений вроде
a*b+c/d*(e–f/g)/h+7 // слишком сложнои всегда старайтесь выбирать осмысленные имена.
4.3.1. Константные выражения
В программах, как правило, используется множество констант. Например, в программе для геометрических вычислений может использоваться число “пи”, а в программе для пересчета дюймов в сантиметры — множитель 2.54. Очевидно, что этим константам следует приписывать осмысленные имена (например,
pi3.14159const double pi = 3.14159;pi = 7; // ошибка: присваивание значения константеdouble c = 2*pi/r; // OK: мы просто используем переменную pi, // а не изменяем ееТакие константы полезны для повышения читабельности программ. Увидев фрагмент кода, вы, конечно, сможете догадаться о том, что константа
3.141592997924583.1422/7piconst double pi = 3.14159265359;
01В некоторых местах, например в метках оператора
caseconst int max = 17; // литерал является константным выражениемint val = 19;max+2 // константное выражение (константа плюс литерал)val+2 // неконстантное выражение: используется переменная
2997924584.3.2. Операторы
До сих пор мы использовали лишь простейшие операторы. Однако вскоре для выражения более сложных операций нам потребуются намного более широкие возможности. Большинство операторов являются привычными, поэтому мы отложим их подробный анализ на будущее. Перечислим наиболее распространенные операторы.

В выражениях, в которых оператор изменяет операнд, мы использовали имя
lvalПримеры использования логических операторов
&&||!