Вы находитесь на странице: 1из 36

Урок 2:

Выражения, операторы, инструкции


• Выражения в языке программирования
• Операторы и операции в C#
• Арифметические операции
• Операции сравнения
• Логические операции
• Битовые операции
• Порядок выполнения операций
• Конкатенация строк
• Перегрузка операторов
• Инструкции языка C#
• Условия
• Циклы
Выражение в языке
программирования
• Это сочетание значений, констант, переменных,
операторов и функций, удовлетворяющее
синтаксическим правилам языка.
• Язык программирования обеспечивает вычисление
выражения и получение некого значения в качестве
результата.
• Выражение выполняется в соответствии с
приоритетом операторов.
• Результат выражения может быть числовым,
логическим, строковым или значением любого
другого типа.
Арность операторов
• Унарный: -x
• Бинарный: x + y
• Тернарный: x ? y : z
Арифметические операции
• Сложение: +
• Вычитание: -
• Умножение: *
• Деление: /
• Остаток от деления: %
• Унарный минус: -
• Унарный плюс: +
Сложение, вычитание, умножение,
деление, остаток от деления

int double
int int double
double double double
Остаток от деления
(i % j) == (i - (i / j) * j)

(5 % 2) == (5 – (5 / 2) * 2)
(5 % 2) == (5 – 2 * 2)
(5 % 2) == 1

(int % double) == 0.0


(double % int) == 0.0
(double % double) == 0.0
Проверка кратности
• x % 2 == 0 => x – четное число
• x % 3 == 0 => x делится на 3 без остатка
• x % k == 0 => x делится на k без остатка
Соответствие множеств
Операции сравнения
• Равно: ==
• Не равно: !=
• Больше: >
• Меньше: <
• Больше или равно: >=
• Меньше или равно: <=
Логические операции
• Отрицание: !
• Или: ||
• И: &&
• Или*: |
• И*: &
• true
• false
&&

x && y

true false
x

x&y x

end
||

x || y

true false
x

x x|y

end
Бит и байт

бит

0 0 1 0 1 1 0 1
= 45
байт
Двоичная система

0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 1
0 0 0 0 0 0 1 0 2
0 0 0 0 0 0 1 1 3
0 0 0 0 1 0 0 0 8
1 1 1 1 1 1 1 1 255
Битовые операции
• Отрицание: ~
• Или: |
• И: &
• Исключающее ИЛИ (XOR): ^
• Сдвиг влево: <<
• Сдвиг вправо: >>
~
• ~0 = 1
• ~1 = 0
|
• 0|0=0
• 0|1=1
• 1|0=1
• 1|1=1
&
• 0&0=0
• 0&1=0
• 1&0=0
• 1&1=1
^
• 0^0=0
x^y=z
• 0^1=1
=>
• 1^0=1
z^y=x
• 1^1=0
<<
• 0000 0100 << 1 = 0000 1000
• 4 << 1 = 8
• 0000 0100 << 2 = 0001 0000
• 4 << 2 = 16
>>
• 0000 0100 >> 1 = 0000 0010
• 4 >> 1 = 2
• 0000 0100 >> 2 = 0000 0001
• 4 >> 2 = 1
Примеры битовых операций
~0000 0110 = ?
0010 1100 | 0111 0001 = ?
0010 1100 & 0111 0001 = ?
0010 1100 ^ 0111 0001 = ?
0010 1100 << 1 = ?
0010 1100 >> 1 = ?
Примеры битовых операций
~0000 0110 = 1111 1001
0010 1100 | 0111 0001 = 0111 1101
0010 1100 & 0111 0001 = 0101 1101
0010 1100 ^ 0111 0001 = 0101 1111
0010 1100 << 1 = 0101 1000
0010 1100 >> 1 = 0001 0110
Присваивание
• =
• +=
• -=
• *=
• /=
• %=
• &=
• |=
• ^=
• >>=
• <<=
Инкремент и декремент
• x++
• ++x
• x--
• --x
Тернарный оператор

Условие ? Результат_1 : Результат_2


Оператор ??

A ?? B
эквивалентно

(A == null) ? B : A
Урок 2:
Выражения, операторы, инструкции
• Выражения в языке программирования
• Операторы и операции в C#
• Арифметические операции
• Операции сравнения
• Логические операции
• Битовые операции
• Порядок выполнения операций
• Конкатенация строк
• Перегрузка операторов
• Инструкции языка C#
• Условия
• Циклы
Условный оператор
if (<условие>) if (<условие>)
{ {
<блок_1> <блок_1>
} }
else
{
<блок_2>
}
Оператор выбора
switch (<выражение>)
{
case <значение_1>:
<блок_1>
break;

case <значение_2>:
<блок_2>
break;

default:
<блок_default>
break;
}
Цикл while
while (<условие>)
{
<тело_цикла>
}
Инструкции перехода
• break
• continue
Цикл for
for (<инициализация>; <условие>; <действие>)
{
<тело_цикла>
}
Бесконечный цикл
• for (;;);
• while (true);
for > while
• for ( ; i < 10; ) … ;
• while (I < 10) …;
Урок 2:
Выражения, операторы, инструкции
• Выражения в языке программирования
• Операторы и операции в C#
• Арифметические операции
• Операции сравнения
• Логические операции
• Битовые операции
• Порядок выполнения операций
• Конкатенация строк
• Перегрузка операторов
• Инструкции языка C#
• Условия
• Циклы