Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР2. Раздатка.docx
Скачиваний:
6
Добавлен:
17.08.2019
Размер:
331.51 Кб
Скачать

Лабораторная работа №2. Верификация входных данных. Операции сравнения, логический тип данных, условные и логические выражения.

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

Все операции отношения используются для сравнения значений переменных или выражений. Эти операции вырабатывают значение булевского типа: ИСТИНА (true) или ЛОЖЬ (false). Численных эквивалентов для этих значений в языке C# не существует. Перечень операций приведён в таблице:

При выполнении операций сравнения следует помнить одну специфическую особенность. Точное сравнение вещественных чисел возможно только с нулём!

Сравнение ненулевых вещественных чисел, полученных путём вычислений, возможно только с определённой точностью. Это связано с формой представления вещественных чисел (формат с плавающей запятой). А вот числа формата Decimal можно сравнивать между собой на равно.

Приоритет операций сравнения

В C# оператор — это элемент программы, который применяется к одному или нескольким операндам в выражении или операторе. Операторы, получающие на вход один операнд, например оператор инкремента (++) или new, называются унарными операторами. Операторы, получающие на вход два операнда, например, арифметические операторы (+, -, *, /) называются бинарными. Один оператор — условный оператор (?:) получает на вход три операнда и является единственным троичным оператором в C#.

Следующая строка кода C# содержит один унарный оператор и один операнд. Оператор инкремента ++ изменяет значение операнда y.

y++;

Следующая строка кода C# содержит два бинарных оператора, каждый с двумя операндами. Оператор присвоения = в качестве операндов принимает целочисленную переменную y и выражение 2 + 3. Выражение 2 + 3 само состоит из оператора сложения и два операнда, 2 и 3.

y = 2 + 3;

Операторы, вычисление значения и приоритет операторов

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

Каждый оператор имеет определенный приоритет. В выражении, которое содержит несколько операторов с разными уровнями приоритета, порядок применения операторов определяет порядок, в котором вычисляются операторы. Например, следующий оператор присваивает 3 полю n1.

n1 = 11 - 2 * 4;

Умножение выполняется в первую очередь, так как умножение имеет приоритет над вычитанием.

В следующей таблице операторы разделены на категории на основе типа выполняемых операций. Категории указаны в порядке приоритета.

Основные операторы

Выражение

Описание

x.y

Доступ к членам

f(x)

Вызов метода и делегата

a[x]

Доступ к массиву и индексатору

x++

Постфиксное приращение

x--

Постфиксное уменьшение

new T(...)

Создание объекта и делегата

new T(...){...}

Создание объекта с инициализатором. См. раздел Инициализаторы объектов и коллекций (Руководство по программированию в C#).

new {...}

Анонимный инициализатор объекта. См. раздел Анонимные типы (Руководство по программированию в C#).

new T[...]

Создание массива. См. раздел Массивы (Руководство по программированию на C#).

typeof(T)

Получение объекта System.Type для T

checked(x)

Вычисление выражения в проверенном контексте

unchecked(x)

Вычисление выражения в непроверенном контексте

default (T)

Получение значения по умолчания для типа T

delegate {}

Анонимная функция (анонимный метод)