Арифметические операции
Можно выполнять действия над переменными, переменными и константами, константами.
1) Самый высокий приоритет у скобок ().
2) Изменение знака r = -12; -r (2)
3) Умножения * x*y; x*2; 3*9 (3)
4) Деления / x / y; x/5; 7/5 (3)
У целых чисел при делении дробная часть отбрасывается (происходит усечение)
x = 7/5 (х примет значение 1)
5) % - деление по модулю (3) (используется только для целых чисел)
х = 7%5 (в результате получается остаток от деления х примет значение 2)
6) Сложение + x+y; 20 + x; 12+56; (5)
7) Вычитание – x-y; 20 - x; 56-12; (5)
8) Операции автоуменьшения -- и автоувеличения ++ на 1 (2)
Различают 2 формы записи операции ++i - префиксная форма (увеличение переменной i происходит до следующей операции) и i++ - постфиксная форма (после).
Нельзя применять ++ к переменным, используемым в выражении более одного раза.
Примеры:
++size < 18,5 сначала произойдет увеличение переменной, а затем сравнение с числом 18,5
size++ <18,5 сначала сравнение, а затем увеличение на 1.
Пусть переменным присвоены следующие значения:
y=2; n=3;
В результате операции y=n++ сначала переменной y присвоится значение переменной n, а затем n увеличится на 1 и y станет равным 3, а n станеьт равным 4
next=(y+n++)*6; в этом случае сначала произойдет сложение, а затем n увеличится на 1 ( на результате это не отразится) (2+3)*6=30; n=4;
next=(y+(++n))*6; в этом случае сначала n увеличится на 1. А затем уже числа будут складываться (2+4)*6=36; n=4;
9) Операция определения размера sizeof (2)
В скобках пишут название стандартного типа int, float, double, char либо переменной, либо массива, либо своего типа данных. То есть можно определять размерность (количество байт) типа, например: sizeof (int); а также размер переменных , например: sizeof (x). Она возвращает количество байт, выделяемых под объект в скобках. В одной машине тип может занимать 2 байта, в другой – 4 байта.
10) Операция присваивания = (15)
Знак = не означает в этом случае равенство. Это присваивание некоторого значения.
Например: val = 3,75; PI = 3,14;
Можно присвоить одной переменной имя другой переменной. Например: var=sum (две ячейки памяти будут иметь одно и то же значение, но разные имена).
i = i+1; математически это неверно, но поскольку = это не знак равенства, то эта запись в СИ верна. Она означает – к значению ячейки i прибавить 1 и новое значение поместить в ячейку с именем i.
Можно одно значение присваивать нескольким переменным (присваивается справа налево)
y = x = z = 1;
Нельзя присваивать значения константам. Поэтому при присваивании слева от знака = не может быть константы:
3,75 = val не верно
11) Операция следования , (запятая)
х=5, у=24; (16)
Выражения, разделенные запятой, будут выполняться слева направо. Символ запятая может также использоваться как разделитель (в операторах).
Операции отношения
Меньше <, (7) Больше или равно > =, (7)
Меньше или равно <=, (7) Не равно != (8)
Больше > (7) Равно = = . (8)
Используются для сравнения в условных выражениях. При этом значения операндов не изменяется, только вырабатывается значение «истина», «ложь».
Например: y>x+2, если истина, то переменная принимает любое значение, если ложь, то это нуль.
Не следует путать знаки = и = =. С помощью операции присваивания (=) некоторой переменной слева от этого знака присваивается значение. А с помощью операции отношений (= =) проверяется равенство выражений, стоящих слева и справа от этого знака.
Приоритет у <, <=, =>, > выше, чем у = = и !=.
Все операции отношений возвращают результат «истина» или «ложь» (0 или 1). Значение переменных при этом не изменяется.
При сравнении float лучше пользоваться только операциями < и >, т.к. ошибки округления могут привести к тому, что числа окажутся неравными, хотя по логике они должны быть равны. (например 3*1/3 равно 1,0, но 1/3 в вещественном формате будет представлена как 0,999999…, и произведение не будет равно 1)
Приоритет больше чем у операции присваивания, но меньше чем у +, -.
y > x+2; - сначала сложение, затем сравнение.
Дата добавления: 2016-02-02; просмотров: 1236;