Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

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

Поиск

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

1. Действия в скобках (), начиная от самых внутренних;

2. Вычисление функций;

3. Унарный минус (-), это значит, что он применяется к одному операнду, например, -3;

4. бинарные *, / и % (деление по модулю, т.е. остаток от целочисленного деления, - только для целых аргументов) Выполняются слева направо в порядке следования. Например, 12%5 дает 2, а 4%2 дает 0;

5. бинарные “-“ и “+”. Выполняются слева направо в порядке следования.

Правила записи арифметических выражений:

1. Все знаки операций проставляются. Перенос на следующую строку производится без дополнительных знаков операций;

2. Если оба операнда в бинарных операциях одного типа, то результат будет того же типа. Деление целых даёт целое, которое получается отбрасыванием дробной части, например, 5/2 дает 2.

3. Если операнды разных типов, то перед выполнением действия "младший" тип приводится к более "старшему". Например, 5./2 дает 2.5, поскольку целое 2 преобразуется сначала в вещественное 2.0.

Пример:

(1.+n)/(1.-1./(2*(1.+n)))

Логические операции и выражения.

Логические выражения обычно имеют вид

арифм.выражение1 операция отношения арифм.выражение2

Операции отношения могут быть следующими:

Смысл Обозначение
Больше >
Больше или равно >=
Меньше <
Меньше или равно <=
Равно ==
Не равно !=

При выполнении операции отношения сравниваются значения двух выражений. Если результат сравнения - истина, то результатом логического выражения будет число 1, иначе - 0. Например, 5>3 дает 1, а 5<3 дает 0.

Поскольку результатом логического выражения в Си является число (0 или 1), то нет разницы с точки зрения результата между арифметическим и логическим выражениями. Будем их называть просто выражениями. Условием будем называть любое выражение. Если его результат равен 0, то условие ложно, если не равен 0, то истинно.

Более сложные выражения получаются соединением двух простых знаками логических операций:

¨ && логическое “и” (AND) - конъюнкция:

Выражение условие1 && условие2 равно 1, если оба условия истинны, если же хоть одно из них ложно, то результат равен 0. Например, 2+3 && 5>3 равно 1, а 2+3 && 5= =3 равно 0.

¨ || - логическое “или” (OR) - дизъюнкция:

Выражение условие1 || условие2 равно 1, если хоть одно из условий истинно, если же оба ложны, то результат равен 0. Например, 2+3 || 5=3 равно 1, а 0 && 5= =3 равно 0.

¨! - логическое “не” (NOT) - отрицание;

Выражение!условие равно 1, если условие ложно, и равно 0 в противном случае. Например,!(5= =3) равно 1, а!(5>3) равно 0.

Некоторые другие операции в языке Си.

Операции в языке Си составляют его фундамент. Их более 40 и они могут применяться не только к одному или двум, но и к 3 операндам. Рассмотрим еще некоторые: сначала основные, а затем специфические, позволяющие более коротко записывать выражения.

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

Операция присваивания имеет вид (синтаксис):

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

Семантика: сначала вычисляется выражение, затем результат заносится в переменную, при этом тип результата преобразуется к типу переменной (конечно, если это возможно, например, тип float нельзя перевести в int, если число > 32767). Результатом операции и его типом являются значение и тип переменной.

Если в выражении несколько операций "=", то они выполняются справа налево. Приоритет этой операции ниже приоритета всех остальных операций, кроме операции "запятая", которая рассмотрена ниже.

Пример 1:

float a=2.5,b; int c; char d;

Результатом выражения

Выражение Значение b Значение с Значение d Знач-е выр-я
c=a+1   3   3
b=c=a+1 3.0 3   3.0
c=b=a+1 3.5 3   3
d=c='A'+4   69 'E' 'E'
(c=a+1)+2>5   3   0

В последнем примере необходимость скобок связана с тем, что приоритет у операции "+" выше, чем у "=".

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

Условная операция имеет 3 операнда (т.е. является тернарной) и выглядит так (синтаксис)

условие? выражение1: выражение2

Семантика: если условие истинно, то результатом операции является значение выражения1, если ложно, то значение выражения2.

Пример 2.

Значением выражения  x>y? x: y будет большее из x и y. Значением выражения x<0? -x: x является модуль x.



Поделиться:


Последнее изменение этой страницы: 2020-12-09; просмотров: 65; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.147.205.114 (0.006 с.)