Теоретическая часть
Выражения, операции
Выражение представляет собой комбинацию знаков операций и операндов (операнд – это то, над чем выполняется операция). При выполнении операций производится автоматическое преобразование типов, чтобы привести операнды выражений к общему типу. Если операция выполняется над данными двух различных типов, обе величины приводятся к «высшему» из двух типов. Последовательность имен типов от «высшего» к «низшему» выглядит так: double, float, long, int, short и char. Применение ключевого слова unsigned повышает ранг соответствующего типа данных со знаком. В операторе присваивания конечный результат вычисления выражения в правой части приводится к типу переменной, которой должно быть присвоено это значение. Когда выражение содержит более, чем одну операцию, порядок их выполнения определяется приоритетом операции. Выражения с наивысшим приоритетом вычисляются первыми. Последовательность основных операций, расположенных в порядке убывания их приоритетов, выглядит так: умножение, деление и деление по модулю имеют более высокий приоритет, чем сложение и вычитание, затем идут логическое И и логическое ИЛИ.
|
|
Пример приведения значения выражения в правой части к типу присваиваемой переменной.
int a;
double b=5.7;
a=b; // В результате переменная a получит значение 5
Лучше всего избегать преобразования типов, особенно в сторону понижения ранга. Но существует способ явного преобразования типов с помощью операции приведения. Скобки и имя типа вместе образуют операцию приведения, например, (int) a (приведение переменной ‘а’ к целому типу).
Пример преобразования типа переменной с помощью операции приведения.
int a;
a=1.6+1.8; // a получает значение 3
a=int(1.6)+int(1.8); // a получает значение 2
Пример использования операции sizeof(), определяющей размер памяти, соответствующей идентификатору или типу.
int i,j;
float a;
i=sizeof(double); // Переменной i присваивается целое число, равное размеру памяти в бай- // тах, выделяемой для переменных типа double
j= sizeof(a); // Переменной j присваивается целое число, равное размеру памяти, вы- // деляемой для переменной a