Помощь в написании студенческих работ
Антистрессовый сервис

Операции и целочисленные выражения

РефератПомощь в написанииУзнать стоимостьмоей работы

Операции группы, размещенной выше, имеют более высокий ранг, нежели операции групп, размещенных ниже. Например, 2 + 6/2 равно 5, так как операция / имеет более высокий ранг, нежели бинарная операция +. Начинающие программисты, забывая о приоритетах операций, иногда ошибаются, приводя для математического соотношения —— такое выражение: а/b * с. Его следует записать, используя Ь* с. В предыдущей… Читать ещё >

Операции и целочисленные выражения (реферат, курсовая, диплом, контрольная)

Операции языка C#

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

Набор операций языка C# весьма велик, и рассматривать возможности каждой из них мы будем постепенно по мере необходимости. Однако предварительно приведем список операций, разместив их в порядке уменьшения их приоритетов, называемых еще рангами и категориями (табл. 3.1 и 3.2).

Таблица 3.1

Операции, ассоциативные слева — направо

Операция.

Значение.

Базовые (первичные) операции.

выбор члена (класса, структуры или объекта).

обращение к методу или к экземпляру делегата.

[].

доступ по индексу (индексирование).

+ +.

постфиксный инкремент.

;

постфиксный декремент.

new.

создание объекта (создание экземпляра).

typeof.

идентификация типа.

sizeof.

определение размера операнда (в байтах).

stacklloc.

выделение памяти в стеке (только в опасном коде).

nameof.

строковое представление имени (переменной, типа и т. д.).

checked.

контроль за целочисленными переполнениями.

unchecked.

отмена контроля за целочисленными переполнениями.

->

доступ к члену (объекта) по указателю (только в опасном коде).

Операция.

Значение.

null-условная или элвис-операция обращения к члену (класса, структуры) без генерации исключения, если член равен null.

default.

получение стандартного (умалчиваемого) значения типа.

Унарные операции.

унарный плюс (задание знака).

;

унарный минус (задание знака).

+ +.

префиксный инкремент.

-;

префиксный декремент.

~.

поразрядное отрицание.

!

логическое отрицание.

(тип).

приведение к заданному типу.

&.

получение адреса (только в опасном коде).

*.

разыменование указателя (только в опасном коде).

await.

ожидание.

Арифметические бинарные операции.

*.

умножение.

деление.

%.

получение остатка при делении.

сложение.

;

вычитание.

Операции поразрядных сдвигов.

>>

поразрядный сдвиг вправо.

<<

поразрядный сдвиг влево.

Операции отношений (сравнений).

<

меньше.

>

больше.

< =.

меньше или равно.

> =.

больше или равно.

is.

сравнение типов операндов (возвращает логическое значение).

as.

проверка типов (возвращает значение первого операнда или null).

= =.

сравнение на равенство.

! =.

сравнение на неравенство.

??

Сравнение с null («поглощение null» — если null, то возвратить стандартное значение).

Операция.

Значение.

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

&.

побитовое (поразрядное) И.

побитовое (поразрядное) исключающее ИЛИ.

побитовое (поразрядное) ИЛИ.

Логические бинарные операции.

&.

конъюнкция (логическое И).

дизъюнкция (логическое ИЛИ).

;

исключающая дизъюнкция.

&&.

условная конъюнкция.

II.

условная дизъюнкция.

Тернарная операция.

условная операция.

Таблица 3.2

Операции присваивания (ассоциативные справа — налево) и лямбда-операция.

Операция.

Значение.

=.

присваивание.

+ =.

сложение с присваиванием.

— =.

вычитание с присваиванием.

*=.

умножение с присваиванием.

/=.

деление с присваиванием.

%=.

получение остатка от деления с присваиванием.

& =.

поразрядное И с присваиванием.

А _.

поразрядное исключающее ИЛИ с присваиванием.

1 =.

поразрядное ИЛИ с присваиванием.

>> =.

поразрядный сдвиг вправо с присваиванием.

< < =.

поразрядный сдвиг влево с присваиванием.

= >

лямбда-операция.

В табл. 3.1. операции объединены в группы. В каждую группу помещены операции одного ранга. Операции одного ранга из табл. 3.1 выполняются слева направо. Например, x*y/z будет вычисляться в соответствии с выражением (x*y)/z.

Операции группы, размещенной выше, имеют более высокий ранг, нежели операции групп, размещенных ниже. Например, 2 + 6/2 равно 5, так как операция / имеет более высокий ранг, нежели бинарная операция +. Начинающие программисты, забывая о приоритетах операций, иногда ошибаются, приводя для математического соотношения —— такое выражение: а/b * с. Его следует записать, используя Ь* с

скобки: а/(Ь * с), или без скобок так а/Ь/с.

Показать весь текст
Заполнить форму текущей работой