- •Операторы
- •Унарные операторы
- •Мультипликативные операторы
- •Аддитивные операторы
- •Операторы отношений
- •Результат выполнения операторов отношений и логических операторов имеет тип bool.
- •Операторы присваивания
- •Инструкции
- •Безусловный переход вызовом функций
- •Оператор перехода goto
- •Условные операторы. Сложные условия
Мультипликативные операторы
Оператор |
Действие |
X * Y |
Умножение. Вычисляет произведение двух операндов. |
X / Y |
Деление. Делит X на Y. При делении целых чисел результат всегда является целочисленным. Остаток отбрасывается. |
X % Y |
Остаток. Вычисляет остаток после деления X на Y. |
X & Y |
Логическое умножение (И - AND). Вычисляет X и Y независимо от X. |
X && Y |
Условное логическое умножение (И - AND). Вычисляет Y в зависимости от X. Если X предопределяет результат, то Y не вычисляется. |
Пример6:
int ires, ioct;
double dres, doct;
ires = 10 / 3;
ioct = 10 % 3;
dres = 10.0 / 3.0;
doct = 10.0 % 3.0;
Console.WriteLine("Результат и остаток от деления 10/3=" + ires + " " + ioct);
Console.WriteLine("Результат и остаток от деления 10.0/3.0=" + dres + " " + doct);
Аддитивные операторы
Оператор |
Действие |
X + Y |
Сложение. Для числовых типов он вычисляет сумму X + Y. Для строкового типа он объединяет X и Y. |
X Y |
Вычитание. Для числовых типов вычисляет разность X - Y. |
X | Y |
Логическое сложение (ИЛИ - OR). Вычисляет X и Y независимо от значения X. |
X || Y |
Условное логическое сложение (ИЛИ - OR). Вычисляет Y в зависимости от X. Если X предопределяет результат, то Y не вычисляется. |
X ^ Y |
Сложение по модулю 2 (Исключающее ИЛИ - XOR). Вычисляет X и Y независимо от значения X. |
Пример7:
int a, b, z, t;
a = 2; b=3;
z=a+b;
Console.WriteLine("Сумма a+b="+z);
t=b-a;
Console.WriteLine("Разность b-a="+t);
Операторы отношений
Оператор |
Действие |
X == Y |
Равно. Возвращает значение true, если X == Y, в противном случае возвращается значениеfalse. |
X != Y |
Не равно. Возвращает значение true, если X != Y, в противном случае возвращается значениеfalse. |
X < Y |
Меньше. Возвращает значение true, если X < Y, в противном случае возвращается значениеfalse. |
X > Y |
Больше. Возвращает значение true, если X > Y, в противном случае возвращается значениеfalse. |
X <= Y |
Меньше или равно. Возвращает значение true, если X <= Y, в противном случае возвращается значениеfalse. |
X >= Y |
Больше или равно. Возвращает значение true, если X >= Y , в противном случае возвращается значениеfalse. |
Результат выполнения операторов отношений и логических операторов имеет тип bool.
В C# на равенство (==) и не равенство (!=) можно сравнивать все объекты.
Но операторы сравнения (<, >, <=, >=) можно применять только к типам, которые поддерживают только отношение упорядочения, т.е к числовым типам.
Например, x>2, z==0, Math.Sin(x)<=5.
Пример 8:
int a, b;
a = 3; b=3;
if (a==b) Console.WriteLine("Переменные равны");
Console.ReadKey();
int a, b;
a = 3; b=0;
if (a==b) Console.WriteLine("Переменные равны");
else if (a>=0) Console.WriteLine("Значение а неотрицательно");
Console.ReadKey();
int a, b;
a = -3; b=0;
if (a==b) Console.WriteLine("Переменные равны");
else if (a>=0) Console.WriteLine("Значение а неотрицательно");
else if (a<0) Console.WriteLine("Значение a отрицательно");
Console.ReadKey();
Операнды логических операций (&, |, !, ^) должны иметь тип bool.
Вычисление с использованием логических операций происходит по разрядно.
Логические операторы выполняют логические операции в соответствии с таблицей:
операнды лог. И лог. ИЛИ не Х1 исключающее ИЛИ
X1 |
X2 |
X1 &X2 |
X1 |X2 |
! X1 |
X1 ^X2 |
0 0 1 1 |
0 1 0 1 |
0 0 0 1 |
0 1 1 1 |
1 1 0 0 |
0 1 1 0 |
Сокращенные операторы && (И), || (ИЛИ). Различия между обычной и сокращенной версиями заключается в том, что при обычной версии вычисляются оба операнда, а при сокращенной версии второй операнд вычисляется только при необходимости.