Мегаобучалка Главная | О нас | Обратная связь


АРИФМЕТИЧЕСКИЕ И ЛОГИЧЕСКИЕ ВЫРАЖЕНИЯ



2018-07-06 647 Обсуждений (0)
АРИФМЕТИЧЕСКИЕ И ЛОГИЧЕСКИЕ ВЫРАЖЕНИЯ 0.00 из 5.00 0 оценок




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

Операндами арифметического выражения служат:

· численные константы;

· символьные константы;

· глобальные переменные и функции;

· функции;

· последовательности;

· параметры ресурсов;

· параметры релевантных ресурсов;

· параметры образцов;

· параметры функций.

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

В выражениях целого и вещественного типа допустимы следующие арифметические операции: сложение (+), вычитание (-), умножение (*), деление (/). Порядок вычисления значения выражения определяется старшинством арифметических операций и скобками. Сначала выполняется вычисление значений в скобках, затем умножение и деление и, наконец, сложение и вычитание.

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

При вычислении значения арифметического выражения тип результата выполнения арифметической операции будет целым, если оба операнда целые. Если хотя бы один операнд имеет вещественный тип, то результат имеет вещественный тип. Результатом деления целых чисел является целое число - целая часть результата деления. Дробная часть отбрасывается. Например, результатом выражения 2 * (5 / 2) будет целое число 4, а выражения 2 * (5.0 / 2) - вещественное число 5.0.

Примеры

1 + 3 + 5 + 7.0 = 16.02 + 3 * 4 + 7 = 21(2 + 3) * (4 + 7) = 552.0 * (3 * 4 + 7) = 38.0

Примечание

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

Логические выражения состоят из логических стандартных функций, арифметических выражений, объединенных в пары операциями отношения, логических операций и квадратных (круглых) скобок.

Операции отношения включают в себя:

Операция Значение
== Равно
<> Не равно
!= Не равно
< Меньше
> Больше
<= Меньше или равно
>= Больше или равно

Логические операции:

Операция Значение
and операция И
or операция ИЛИ
not (или символ '!') операция ОТРИЦАНИЕ

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

Порядок выполнения логических операций при вычислении выражения определяется старшинством и скобками. Сначала вычисляются значения в скобках, затем выполняются операции И, затем ИЛИ. При вычислении используется короткая схема, т.е. вычисляются значения не всех логических операндов, а только значения, необходимые для получения результата логической операции. Так, если первый операнд в операции ИЛИ имеет значение ИСТИНА, то независимо от значения второго операнда результат операции будет ИСТИНА, поэтому нет необходимости вычислять значение второго операнда. Аналогично, если в операции И первый операнд имеет значение ЛОЖЬ, то независимо от значения второго операнда значением операции будет ЛОЖЬ.

Примеры

1 + 3 * 5<= 20 - ИСТИНА1 + 3 * 5<= 20and1.0>2 - ЛОЖЬ2 * (5 / 2) = 2 * (5.0 / 2) - ЛОЖЬ2>= 1and5<= 3or7<>5 - ИСТИНАnot1>2and10>3 - ИСТИНАnot(1>2or10>3) - ЛОЖЬ

Приведение и преобразование типов (Руководство по программированию на C#)

VisualStudio 2013

Другие версии

Поскольку в C# тип определяется статически тип во время компиляции, после объявления переменной, она не может быть объявлена вновь или использоваться для хранения значений другого типа, если этот тип не преобразуется в тип переменной. Например, невозможно преобразование из целого числа в произвольную строку. Поэтому после объявления переменной i как целочисленной, нельзя ей присвоить строку "Hello", как показано в следующем коде.

C#

int i;i = "Hello"; // Error: "Cannot implicitly convert type 'string' to 'int'"

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

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

· Явные преобразования (приведения). Для явных преобразований необходим оператор приведения. Приведение требуется, когда при преобразовании может быть потеряна информация, или когда преобразование может завершиться неудачей по другим причинам. К типичным примерам относится числовое преобразование в тип, который имеет меньшую точность или меньший диапазон значений, а также преобразование экземпляра базового класса в производный класс.

· Пользовательские преобразования. Пользовательские преобразования выполняются специальными методами, которые можно определить для включения явных и неявных преобразований между пользовательскими типами, не имеющих отношения базовый класс — производный класс. Дополнительные сведения см. в разделе Операторы преобразования (Руководство по программированию в C#).

· Преобразования с помощью вспомогательных классов. Для преобразования между несовместимыми типами, например целые числа и объекты DateTime, или шестнадцатеричные строки и байтовые массивы, можно использовать класс BitConverter, класс Convert и методы Parse встроенных числовых типов, таких как Int32.Parse. Дополнительные сведения см. в разделах Практическое руководство. Преобразование массива байтов в значение типа int (Руководство по программированию на C#), Практическое руководство. Преобразование строки в число (руководство по программированию в C#) и Практическое руководство. Преобразование из шестнадцатеричных строк в числовые типы (Руководство по программированию на C#).



2018-07-06 647 Обсуждений (0)
АРИФМЕТИЧЕСКИЕ И ЛОГИЧЕСКИЕ ВЫРАЖЕНИЯ 0.00 из 5.00 0 оценок









Обсуждение в статье: АРИФМЕТИЧЕСКИЕ И ЛОГИЧЕСКИЕ ВЫРАЖЕНИЯ

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (647)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.008 сек.)