Программирование

Автор работы: Пользователь скрыл имя, 28 Марта 2012 в 11:49, курс лекций

Описание

Лекции по дисциплине "Программирование"

Содержание

Лекция 1. Состав языка Типы данных Переменные и операции

Лекция 2. Линейные программы

Лекция 3. Простейшие операторы. Операторы ветвления

Лекция 4. Операторы цикла и передачи управления

Лекция 5. Обработка исключительных ситуаций

Лекция 6. Классы: основные понятия Описание класса

Лекция 7. Параметры методов

Лекция 8. Конструкторы и свойства

Лекция 9. . Массивы

Лекция 10. Символы и строки

Лекция 11 Дополнительные возможности методов. Индексаторы

Лекция 12. Операции класса. Деструкторы

Лекция 13. Наследование классов

Лекция 14. Интерфейсы

Лекция 15. Стандартные интерфейсы .NET

Лекция 16. Структуры и перечисления

Лекция 17. Делегаты

Лекция 18. События

Работа состоит из  1 файл

Лекции C#.doc

— 847.00 Кб (Скачать документ)

 

Для финансовых величин (тип decimal) при делении на 0 и переполнении генерируются соответствующие исключения, при исчезновении порядка результат равен 0.

Операция остатка от деления (%) также интерпретируется по-разному для целых, вещественных и финансовых величин. Если оба операнда целочисленные, результат операции вычисляется по формуле x - (x / y) * y. Если делитель равен нулю, генерируется исключение System.DivideByZeroException..

Если хотя бы один из операндов вещественный, результат операции вычисляется по формуле x – n * y, где n — наибольшее целое, меньшее или равное результату деления х на y. Все возможные комбинации значений операндов приведены в таблице 3.4.

Таблица 3.4. Результаты вещественного остатка от деления %

+y

-y

+0

-0

+∞

-∞

NaN

+x

+z

z

NaN 

NaN 

x

x

NaN 

-x

-z

-z

NaN 

NaN 

-x

-x

NaN 

+0

+0

+0

NaN 

NaN 

+0

+0

NaN 

-0

-0

-0

NaN 

NaN 

-0

-0

NaN 

+∞

NaN 

NaN 

NaN 

NaN 

NaN 

NaN 

NaN 

-∞

NaN 

NaN 

NaN 

NaN 

NaN 

NaN 

NaN 

NaN

NaN 

NaN 

NaN 

NaN 

NaN 

NaN

NaN

 

Для финансовых величин (тип decimal) при получении остатка от деления на 0 и при переполнении генерируются соответствующие исключения, при исчезновении порядка результат равен 0. Знак результата равен знаку первого операнда.

Сложение и вычитание

Операция сложения (+) возвращает сумму двух операндов. Стандартная операция сложения определена для типов int, uint, long, ulong, float, double и decimal. К величинам других типов ее можно применять, если для них существует неявное преобразование к этим типам. Тип результата операции равен «наибольшему» из типов операндов, но не менее int.

Если оба операнда целочисленные или типа decimal и результат операции слишком велик для представления с помощью заданного типа, генерируется исключение System.OverflowException.

Все возможные значения для вещественных операндов приведены в таблице 3.5.

Таблица 3.5. Результаты вещественного сложения +

y

+0

-0

+∞

-∞

NaN

x

z

x

x

+∞

-∞

NaN 

+0

y

+0

+0

+∞

-∞

NaN 

-0

y

+0

-0

+∞

-∞

NaN 

+∞

+∞

+∞

+∞

+∞

NaN

NaN 

-∞

-∞

-∞

-∞

NaN

-∞

NaN 

NaN

NaN 

NaN 

NaN 

NaN 

NaN 

NaN

 

Операция вычитания (-) возвращает разность двух операндов. Стандартная операция вычитания определена для типов int, uint, long, ulong, float, double и decimal. К величинам других типов ее можно применять, если для них существует неявное преобразование к этим типам. Тип результата операции равен «наибольшему» из типов операндов, но не менее int.

Если оба операнда целочисленные или типа decimal и результат операции слишком велик для представления с помощью заданного типа, генерируется исключение System.OverflowException.

Все возможные значения результата вычитания для вещественных операндов приведены в таблице 3.6. Символами х и y обозначены конечные положительные значения, символом z — результат операции вещественного вычитания. Если х и y равны, результат равен положительному нулю. Если результат слишком велик для представления с помощью заданного типа, он принимается равным значению «бесконечность» с тем же знаком, что х - y, если слишком мал, он принимается за 0 с тем же знаком, что х - y.

Таблица 3.6. Результаты вещественного вычитания -

y

+0

-0

+∞

-∞

NaN

x

z

x

x

-∞

+∞

NaN 

+0

-y

+0

+0

-∞

+∞

NaN 

-0

-y

-0

+0

-∞

+∞

NaN 

+∞

+∞

+∞

+∞

NaN

+∞

NaN 

-∞

-∞

-∞

-∞

-∞

NaN

NaN 

NaN

NaN 

NaN 

NaN 

NaN 

NaN 

NaN

 

Операции сдвига

Операции сдвига (<< и >>) применяются к целочисленным операндам. Они сдвигают двоичное представление первого операнда влево или вправо на количество двоичных разрядов, заданное вторым операндом.

При сдвиге влево (<<) освободившиеся разряды обнуляются. При сдвиге вправо (>>) освободившиеся биты заполняются нулями, если первый операнд беззнакового типа, и знаковым разрядом в противном случае. Стандартные операции сдвига определены для типов int, uint, long и ulong.

Операции отношения и проверки на равенство

Операции отношения (<, <=, >, >=, ==, !=) сравнивают первый операнд со вторым. Операнды должны быть арифметического типа. Результат операции — логического типа, равен true или false. Правила вычисления результатов приведены в таблице 3.7.

Таблица 3.7. Результаты операций отношения Операция

Результат

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

 

Поразрядные логические операции

Поразрядные логические операции (&, |, ^) применяются к целочисленным операндам и работают с их двоичными представлениями. При выполнении операций операнды сопоставляются побитно (первый бит первого операнда с первым битом второго, второй бит первого операнда со вторым битом второго, и т д.). Стандартные операции определены для типов int, uint, long и ulong.

При поразрядной конъюнкции (&), бит результата равен 1 только тогда, когда соответствующие биты обоих операндов равны 1.

При поразрядной дизъюнкции (|), бит результата равен 1 тогда, когда соответствующий бит хотя бы одного из операндов равен 1.

При поразрядном исключающем ИЛИ (^) бит результата равен 1 только тогда, когда соответствующий бит только одного из операндов равен 1.

Условные логические операции

Условные логические операции И (&&) и ИЛИ (||) чаще всего используются с операндами логического типа. Результатом логической операции является true или false. Операции вычисляются по сокращенной схеме.

Результат операции логическое И имеет значение true, только если оба операнда имеют значение true. Результат операции логическое ИЛИ имеет значение true, если хотя бы один из операндов имеет значение true. Если значения первого операнда достаточно, чтобы определить результат операции, второй операнд не вычисляется.

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

Условная операция (? :) имеет три операнда. Ее формат:

операнд_1 ? операнд_2 : операнд_3

 

Первый операнд — выражение, для которого существует неявное преобразование к логическому типу. Если результат вычисления первого операнда равен true, то результатом условной операции будет значение второго операнда, иначе — третьего операнда. Вычисляется всегда либо второй операнд, либо третий. Их тип может различаться.

Тип результата операции зависит от типа второго и третьего операндов. Если операнды одного типа, он и становится типом результата операции.

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

Операции присваивания (=, +=, -=, *= и т. д.) задают новое значение переменной. Эти операции могут использоваться в программе как законченные операторы.

Формат операции простого присваивания (=):

переменная = выражение

 

Механизм выполнения операции присваивания такой: вычисляется выражение и его результат заносится в память по адресу, который определяется именем переменной, находящейся слева от знака операции. То, что ранее хранилось в этой области памяти, теряется. Примеры операторов присваивания:

a = b + c / 2;

x = 1;

x = x + 0.5;

 

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

Информация о работе Программирование