Операции языка Cи (47829)

Посмотреть архив целиком

Кафедра: Автоматика и информационные технологии










ОПЕРАЦИИ ЯЗЫКА СИ



Содержание


ХАРАКТЕРИСТИКИ ОПЕРАЦИЙ

Таблица приоритетов операций

Комментарии к операциям

Правила преобразований типов

В выражениях

В присваиваниях

ЛАБОРАТОРНЫЕ ЗАДАНИЯ

Основные арифметические операции

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

Логические операции и операции инкремента.

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

Отношения и условия

Выполнение операций и их приоритеты

Основные типы данных

Приведение целых и вещественных типов

Приведение целых и вещественных выражений

ОТВЕТЫ К ЗАДАНИЯМ

ДОПОЛНИТЕЛЬНЫЕ ЗАДАНИЯ

БИБЛИОГРАФИЧЕСКИЙ СПИСОК



Характеристики операций


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

По количеству аргументов операции бывают унарные, бинарные и имеется одна тернарная операция «Условие».

Если одна и та же операция встречается в выражении несколько раз, то говорят о лево-ассоциативных и право-ассоциативных операциях. В первом случае данная операция выполняется слева направо, во втором – справа налево.


Таблица приоритетов операций

Операции, расположенные в таблице выше, имеют больший приоритет.


Таблица 1

операции

Группа операций

Обозначение операции

Название операции

Название на сленге

Ассоциативность

первичные

()

круглые скобки

1. () [] -> :: .




[]

индексация

Квадратные скобки




->

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

стрелка




::

Разрешение видимости

Четвероточие




.

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

Точка



унарные

!

Логическое отрицание

Восклицательный знак


~

Побитовое инвертирование

Тильда


++

Автоматический инкремент ++х;

Отложенный инкремент х++

Плюс-плюс


--

Автоматический декремент --х;

Отложенный декремент х--

Минус-минус


-

Обращение знака

Минус


+

Подтверждение знака

плюс


(тип)

Явное приведение типа



*

Разыменование указателя

Звездочка


&

Взятие адреса

Амперсанд


sizeof

Размер в байтах аргумента

sizeof


new

Операция выделения динамической памяти

new


delete

Операция освобождения динамической памяти

delete

мультипликативные

*

умножение

умножение




/

деление

деление




%

Деление по модулю

процент



аддитивные

+

-

Сумма

разность

Сложение

Разность



сдвиги

<<

Побитовый сдвиг влево

Меньше-меньше




>>

Побитовый сдвиг вправо

больше-больше



отношения

<

<=

>

>=

Меньше

Меньше равно

Больше

Больше равно




Сравнение

==

Сравнение на равенство





!=

Сравнение на неравенство

3. .* ->*



поразрядные

&

Побитовое «И»

амперсанд




^

Побитовое взаимоисключающее «ИЛИ»

крышка




|

Побитовое «ИЛИ»

Побитовое «ИЛИ»


логические

&&

Логическое «И»

«И»



||

логическое «ИЛИ»

«ИЛИ»


Условие

?:

Условное выражение

Вопросительный знак

присваивания

=

Присваивание

Равно


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

Комбинированные присваивания

Умножить равно и т.д.

запятая

,

запятая

запятая




Ассоциативность «слева направо» означает группировку операций таким образом: запись A1 @ A2 @ A3 означает ((A1 @ A2) @ A3).

Ассоциативность «справа налево» обрабатывает запись A1 @ A2 @ A3 как (A1 @ (A2 @ A3)).


Комментарии к операциям

1. () – самая сильная операция. Выражение (2*(4+5)) равно 18.

2. [] индексирует элементы массивов. А[3][6] – в третьей строке шестой элемент. Индексация начинается с нуля, то есть А[0][0] – начальный элемент массива.

3. Операция -> используется с указателями на структурные переменные и на объекты классов. Например,

struct Pixel

{

int x, y;

char col;

};


Pixel A, *ptr;

ptr = &A;

ptr->x = 100;

4. Операция :: применятся для обращения к глобальным переменным, скрытым локальными переменными.

int x = 2;

void main()

{

int x=5;

printf(“%d”, x + ::x); // 7

}

5. Операция “точка” используется с структурными переменными и над объектами классов. Например,

Pixel A;

А.x = 100;

6. В языке Си нет логических констант true и false. Вместо этого все, что не ноль считается истинным, а ноль любого типа считается ложью. При этом представителем истины является 1.


Таблица 2.

Таблица истинности операции логического отрицания

x

ноль

не ноль

!x

1

0


7. Побитовое инвертирование применяется только к целым аргументам. Для получения результата аргумент необходимо преобразовать в двоичную систему счисления. Количество разрядов должно соответствовать типу аргумента.


Таблица 3.

Таблица истинности

x

0

1

~x

1

0


Пример.

char x = 20, y;

y= ~x;


Случайные файлы

Файл
16952-1.rtf
30435.rtf
96394.rtf
130235.rtf
50271.rtf




Чтобы не видеть здесь видео-рекламу достаточно стать зарегистрированным пользователем.
Чтобы не видеть никакую рекламу на сайте, нужно стать VIP-пользователем.
Это можно сделать совершенно бесплатно. Читайте подробности тут.