Лекции по проге / 02_Операции и выражения (1)
.pdf
Лекция №2. Операции и выражения в языке Си
Выражения Операнды Операции
Приведение типов в выражениях
1
Выражения
Вычисления в программе выполняются с помощью выражений Простейший способ организации вычислений в
программе — использование оператора выражения:
|
<выражение>; |
Пример: |
a = b + 3; |
Выражения строятся из операндов, объединенных знаками операций Тип выражения фиксирован, а значение определяет-
2 ся во время выполнения программы
Операнды
Данные, над которыми выполняется операция, называются операндами
Операндами могут быть: Константы: 0.5 < 'f' Переменные: tmp = a
Выражения : cos(a) > pi или y = 2 * (x + 5)
3
Операции
Арифметические операции |
+ |
- |
* / |
% |
|
++x |
x++ |
--x |
|
x-- |
|
|
|
|
|
|
|
|
|
|
|
||
Операции отношения |
== |
|
!= |
< |
<= |
> |
>= |
Логические операции |
! |
|
&& |
|| |
|
|
|
Побитовые операции |
~ |
& |
| |
^ |
<< |
|
>> |
Операция присваивания |
= |
*= |
/= |
%= |
|
+= |
-= |
<<= |
|
>>= |
&= |
|
^= |
|= |
|
|
|
|
|||||
Условная операция |
? : |
|
|
|
|
|
|
Адресные операции |
& |
* |
|
|
|
|
|
Операции над массивами |
[] |
|
|
|
|
|
|
Операции над структурами |
. |
|
-> |
|
|
|
|
Операция преобразования типа |
(<тип>)x |
|
|
|
|
||
Операция определения размера |
sizeof(x) |
|
|
|
|
||
4 выделяемой памяти
Результат операции
Результат операции
Возвращаемое значение |
Изменение операндов |
Константа Переменная
5
Возвращаемое значение - константа
Большинство операций возвращает константное значение, которое нельзя изменить
Например, выражение a + b = 3 не допустимо, т.к. результатом подвыражения a + b является константа, которой нельзя присвоить другое значение, так же как 7 = 3 - не допустимо (7 нельзя присвоить 3)
6
Возвращаемое значение - переменная
Некоторые операции возвращают ссылку на участок памяти, т.е. переменную которую впоследствии можно изменить
Например, выражение mass[1] = 3 допустимо, т. к. результатом подвыражения mass[1] является ссылка на второй элемент массива, который можно изменить, что и делает операция присваивания
Выражения, возвращающие как результат ссылку на участок памяти, называются L-value (left value)-
7 выражениями. Примеры: a, mass[2]
Тип возвращаемого значения
Операция всегда возвращает значение (или ссылку на участок памяти) определенного типа
Например, операция % возвращает целочисленное значение, а операция + возвращает значение в зависимости от используемой версии: int + int => int, float + float => float и т.д.
8
Побочный эффект операции
Побочный эффект операции — это изменение значения одного из операндов. Операнд должен быть L- value-выражением
Пример операции с побочным эффектом: a = 4 — изменяется левый операнд a операции =
Внимание! Не всякая операция имеет побочный эффект, но возвращаемое значение имеется всегда
Наличие в операции = возвращаемого значения, поз- 9 воляет записать следующее выражение: (a = 4) + 3
Операции с побочным эффектом
Арифметические операции |
++x |
x++ |
--x |
x-- |
|
|
Операция присваивания |
= *= |
/= |
%= |
+= |
-= |
|
<<= |
>>= |
&= |
^= |
|= |
||
|
10
