Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика ответы.docx
Скачиваний:
56
Добавлен:
10.05.2015
Размер:
270.28 Кб
Скачать

6) Операции языка c#. Правила вычисления выражений.

1) Операция присваивания

Операция, обозначаемая знаком =, называется операцией присваивания. Данная операция является бинарной, имеет два операнда. Например, X=Y. Операнд слева от знака может быть только переменной, объектом. Операнд справа может быть выражением, т.е. записью в которой используются знаки других операций. Как правило, операция = является главной операцией, образующей оператор присваивания.

Имеется интересная особенность этой операции. Она допускает цепочку присваиваний. Например, X=Y=Z=10;

2) Арифметические операции

Различают 5 операций, выполняющих арифметические действия над числами.

Выполнение первых трёх операций очевидно и не требует пояснения. А вот операция деления зависит от типа данных. Если тип данных, участвующих в операции, вещественный, то результат получится по правилам деления с целой и дробной частью. Если тип целый, то результатом деления также является целое число.

Деление по модулю возможно только для целых чисел. Оно обеспечивает получение остатка от деления двух целых чисел. Например, в результате операции 15 % 4 получится число 3. Таким образом, пара операций / и % обеспечивает для целых чисел специфическую возможность: можно получить и целую часть, и остаток от деления.

Арифметические операции можно объединять вместе с операцией присваивания, записывая две операции в виде одной. Это так называемая сокращённая форма записи.

Например: обычная запись: a = a + Stoim; сокращённая форма: a+=Stoim;

К арифметическим операциям относятся две специфические операции – инкремент и декремент. Эти операции позволяют изменять значения переменных на 1. Инкремент – увеличивает, обозначается знаком ++. Декремент – уменьшает, обозначается знаком --. По сути дела, эти операции являются сокращённой формой записи для выражений типа i = i +1 и i = i – 1. Например, вместо a = a + 1; можно записать: a++; (постфиксный вариант) или ++a; (префиксный вариант). Аналогично: --Prim; Prim--;

Между двумя последними формами нет никакой разницы, если эти операции являются единственными в записи выражения, т.е. используются самостоятельно. Если же речь идёт об использовании в сложном выражении, то приходится учитывать, когда на самом деле выполняются эти операции. Суть в том, что при постфиксном варианте записи значение переменной сначала используется, а потом изменяется на 1. При префиксном, наоборот, сначала изменяется, а потом используется.

Например: t = 5; // t = 5 n = 4 * t++; // n = 20, t = 6 k = ++n / 3; // n = 21, k = 7 b = --k / t; // k = 6, b = 1

3) Поразрядные операции

В C# имеются операции, пригодные для обработки отдельных разрядов памяти (например, в видеопамяти графического дисплея). Такие операции называются поразрядными (операции с битами). Они позволяют изменять, считывать и сдвигать разряды в переменных. При этом переменная рассматривается не как число, а как комбинация двоичных разрядов, т.е. как логический код. Операция выполняется отдельно над каждым разрядом. Перечень поразрядных операций приведён в следующей таблице.

Существует краткая форма поразрядных операций присваивания. Например:

x &= y вместо x = x & y

Поразрядные операции можно использовать только с целочисленными типами данных, к вещественным числам их применять нельзя!!!

Пример 1: int k = 26; k & 15 // 10 k | 15 // 31 k ^ 15; // 21 k << 2 // 104 k >> 2 // 6

Пример 2: Выделить пятый бит в байте B, а остальные обнулить. В = (B & 4);