Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лекции по проге / 02_Операции и выражения (1)

.pdf
Скачиваний:
30
Добавлен:
14.03.2016
Размер:
225.53 Кб
Скачать

Лекция №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