Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Инорм и програм - Метод. указания-3-й семестр.doc
Скачиваний:
10
Добавлен:
21.11.2018
Размер:
1.58 Mб
Скачать

Теоретическая часть Выражения и операции в языке си

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

Унарные операции

&

получение адреса операнда

*

обращение по адресу - результатом операции является значение, на которое "показывает" операнд (указатель)

унарный минус – результатом операции является операнд, взятый с другим знаком

~

побитовая инверсия операнда

!

логическое отрицание (НЕ). Если операнд равен 0, результат операции будет равен 1, если операнд – не ноль, результат операции = 0

++

увеличение операнда на единицу: префиксная операция - увеличивает операнд до его использования, постфиксная операция увеличивает операнд после его использования.

- -

уменьшение операнда на единицу: префиксная операция - уменьшает операнд до его использования, постфиксная операция уменьшает операнд после его использования.

sizeof()

вычисление размера (в байтах) для объекта того типа, который имеет операнд

->

обращение к элементу структуры (по указателю)

.

обращение к элементу структуры

Бинарные операции(операции с двумя операндами).

+

сложение

вычитание

*

умножение

/

деление (если операнды целочисленные, то выполняется целочисленное деление)

%

получение остатка от деления (только для целочисленных операндов)

Поразрядные операции

<<

поразрядный сдвиг влево; x<<y – целочисленный операнд x сдвигается влево на y двоичных разрядов, освободившиеся разряды обнуляются

>>

поразрядный сдвиг вправо; x>>y – целочисленный операнд x сдвигается вправо на y двоичных разрядов, освободившиеся разряды обнуляются, если операнд беззнакового типа и заполняются знаковым разрядом в противном случае

&

поразрядная операция логического И

|

поразрядная операция логического ИЛИ

^

Поразрядная операция сложения по модулю 2 (исключающее ИЛИ)

Операции сравнения – результат операции истина (не 0) или ложь (0)

<

меньше

>

больше

<=

меньше или равно

>=

больше или равно

==

равно

!=

не равно

Логические бинарные операции

&&

логическая операция И, используется для в условных операторах, например, условие1 && условие2

||

логическая операция ИЛИ, используется для в условных операторах, например, условие1 || условие2

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

=

операция простого присваивания

+=, -=, *=, /=, %=, >>=, <<=, &=, |=, ^=

операция составного присваивания; выражение вида a += b эквивалентно a = a+b

Другие операции

выражение1 ? выражение2 : выражение3

условная (тернарная) операция. Порядок выполнения операции: вычисляется выражение1, если оно истинно, то результатом операции является значение выражения2, если ложно – значение выражения3. Например, выражение x = x>0?x:-x позволяет получить модуль х.

,

операция запятая (операция перечисления). В выражении a,b,c,d результатом операции будет значение последнего операнда, т.е. d

(тип)

операция явного преобразования (приведения) типа, например, (int)a – приведение переменной а к типу int