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

24. Основные операции c#. Инкремент и декремент. Операция new. Примеры использования.

Своими словами:

Инкремент – прибавление 1 к переменной.

Декремент – вычитание 1 из переменной.

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

Операция new – выделение памяти.

Из книги:

  1. Операция инкремент вызывает увеличение аргумента на 1, а операция декремент – уменьшение значения аргумента на 1.

Таким образом, выражение к=к+1 аналогично выражению к++, а выражение к=к-1 аналогично выражению к--. В приведенных только что видах выражений для данных операций двойные знаки «++» или «- -» располагаются после имени переменной.

  1. Вообще в C# операции инкремента и декремента имеют две формы:

  • префиксную ++к, - -к;

  • постфиксную к++, к- -.

Каждая из этих форм по-своему влияет на вычисление выражений.

  1. При вычислении выражений в случае, если знак операция стоит перед операндом, вначале выполняется вычисление инкремента или декремента, а только затем новое значение операнда будет использовано в вычислении остальной части выражения.

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

25. Явное преобразование типа. Примеры использования.

Если неявного преобразования из одного типа в другой не существует, програм­мист может задать явное преобразование типа. Явное преобразование типа  это инструкция компилятору преобразовать один тип в другой.

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

Формат операции:

( тип ) выражение

Здесь тип – это имя того типа, в который осуществляется преобразование, а выражение в простейшем случае представляет собой имя переменной, например:

long t = 300;

  1. int z = (int) t; // данные не теряются

  2. byte s = (byte) z; // данные теряются

  3. double z, x; ……int n=(int) (z/x); //теряется дробная часть

При подобных ссужающих преобразованиях типов возможна потеря информации, если преобразуемое значение выходит за границы диапазона целевого типа, так как старшие разряды будут удалены (случай 2, но не случай 1). При приведении типа с плавающей точкой к целому типу будет удалена дробная часть (случай 3).

26. Умножение, деление и остаток от деления. Сложение и вычитание. Примеры использования.

бинарные операции:

  1. Назначение аддитивных операций: сложение и вычитание, мультипликативных: умножение «*» и деление «/» вполне ясен: возвратить результат сложения или вычитания, или умножения, или деления двух величин. Они определены для типов int, uint, long, ulong, float, double и decimal. К величинам других типов их можно применять, если для них существует неяв­ное преобразование к этим типам. Тип результата операции равен «наибольшему» из типов операндов, но не менее int.

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

  3. Для вещественных чисел результат операций умножения или деления двух операндов даст либо конечное значение, либо 0, если результат очень мал, либо «бесконечность», если результат слишком велик.

  4. Если оба операнда целочисленные, результат операции деления округляется вниз до ближайшего целого числа, например: 13/5 даст результат 2. Если делитель равен нулю, в проверяемом контексте генерируется исключение System.DivideByZeroException.

  5. Если хотя бы один из операндов операции деления вещественный, дробная часть результата деления не отбрасывается.

  6. Операция остаток от деления в C# может быть применена как к целым типам, так и к вещественным. При применении к целым числам операции деления «/» остаток будет отброшен. Например: операция 13/5 даст результат 2.

  7. Для получения остатка от деления необходимо применять знак «%». Результат операции с целочисленными операндами вычисляется по формуле х - (х / у) * у. Например: операция 13%5 даст результат 3.

  8. В C# операция «%» применима не только к целым числам, но и к числам с плавающей точкой. В этом случае результат операции вычисляется по формуле x - n * у, где n — наибольшее целое, меньшее или равное результа­ту деления x на y.

Например: операция 13.0%5.0 даст также результат 3

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]