Высокоуровневые методы информатики и программирования. Тузовский А.Ф. - 51 стр.

UptoLike

Составители: 

51
3.3.5. Вычисление выражений
В языках программирования под выражением понимается комби-
нация констант, переменных, вызовов методов (возвращающих значе-
ния), объединенных знаками операций и скобками, которая в результате
вычисления, возвращает некоторый результат. При вычислении выра-
жения определяется его значение и тип. Тип результата выражения за-
висит от типов переменных и констант участвующих в выражении. Ти-
пом результата выражения является наиболее сложный тип переменных
и констант в соответствии с рис. 3.4. Наиболее простым типом является
byte, а наиболее сложным – decimal. Например:
int a = 5; float f;
f = a/4; // значение f = 1.0, так как результат а/4 int
f = a/4f;// значение а = 1.25, так как результат float
3.3.6. Операции отношения
Операции отношения используются для сравнения значений пе-
ременных и констант. Всего имеется 6 операций отношения:
==, !=, <, >, <=, >= (равно, не равно, меньше, больше, меньше или
равно и больше или равно, соответственно).
Следует обратить внимание на запись операции "равно" "=="
(два знака присвоить =) и "не равно" – "!=".
Следует отметить, что при сравнении ссылочных переменных
сравниваются не сами объекты, а ссылки на объекты (если операция
сравнения не переопределена для данного типа).
3.3.7. Логические операции
В языке C# логические операции делятся на две категории: одни
выполняются над логическими значениями операндов, другие осущест-
вляют выполнение логической операции над битами операндов. По этой
причине в C# существуют две унарные операции отрицания логиче-
ское отрицание, заданное операцией "!", и побитовое отрицание, задан-
ное операцией "~". Первая из них определена над операндом типа bool,
вторая над операндом целочисленного типа, начиная с типа int и
выше (int, uint, long, ulong). Результатом операции, во втором слу-
чае, является операнд, в котором каждый бит заменен его дополнением
(0 на 1 и 1 на 0). Рассмотрим пример:
//операции отрицания ~,!
bool b1,b2;
b1 = 2*2==4; // b1 = true;
b2 =!b1; // b2 = false;
//b2= ~b1; // ошибка !
uint j1 =7, j2;
j2= ~j1; // j2 = 4294967288