на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Операции языка Cи

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

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

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

Содержание

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

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

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

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

В выражениях

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Таблица 1

№ операции

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

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

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

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

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

1

первичные

()

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

1. () [] -> :: .

2

[]

индексация

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

3

->

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

стрелка

4

::

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

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

5

.

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

Точка

6

унарные

!

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

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

<

7

~

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

Тильда

<

8

++

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

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

Плюс-плюс

<

9

--

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

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

Минус-минус

<

10

-

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

Минус

<

11

+

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

плюс

<

12

(тип)

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

<

13

*

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

Звездочка

<

14

&

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

Амперсанд

<

15

sizeof

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

sizeof

<

16

new

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

new

<

17

delete

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

delete

<

18

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

*

умножение

умножение

19

/

деление

деление

20

%

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

процент

21

аддитивные

+

-

Сумма

разность

Сложение

Разность

22

сдвиги

<<

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

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

23

>>

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

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

24

отношения

<

<=

>

>=

Меньше

Меньше равно

Больше

Больше равно

25

Сравнение

==

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

26

!=

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

3. .* ->*

27

поразрядные

&

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

амперсанд

28

^

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

крышка

29

|

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

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

30

логические

&&

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

«И»

31

||

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

«ИЛИ»

32

Условие

?:

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

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

<

33

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

=

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

Равно

<

34

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

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

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

<

35

запятая

,

запятая

запятая

Ассоциативность «слева направо» означает группировку операций таким образом: запись 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;

Так как х = 20 = 000101002, то y = 11101011. Переменная y является знаковой, поэтому ее содержимое компилятор будет интерпретировать как число со знаком, то есть отрицательное. Найдем это число из схемы

y = 1110 1011

+

-y = 0001 0101

= 0000 0000

Так как -y = 21, то y = -21.

8. Автоматический инкремент увеличивает аргумент на единицу. Применяется к любым типам. Операция ++x эквивалентна оператору x = x + 1, но занимает меньше места и удобнее в сложных выражениях. Отложенный инкремент x++ увеличивает аргумент на единицу при следующей встрече этой переменной. Не учитывается ее использование в строках и комментариях. Заметим, что название языка Си++ происходит от этой операции Автор Си++ Б.Страустрап видимо, предполагал, что этот язык на порядок лучше своего предшественника, языка Си.

Страницы: 1, 2



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.