Скачать презентацию Информационные технологии Тема 6 Операторы Шевченко А В Скачать презентацию Информационные технологии Тема 6 Операторы Шевченко А В

Лекции. Тема 06. Операторы.ppt

  • Количество слайдов: 19

Информационные технологии Тема 6. Операторы Шевченко А. В. Тема 6. Операторы 1 Информационные технологии Тема 6. Операторы Шевченко А. В. Тема 6. Операторы 1

Информационные технологии Операторы языка С Знаковые Операторы Логические Арифметические Доступа к данным Присваивания Побитовые Информационные технологии Операторы языка С Знаковые Операторы Логические Арифметические Доступа к данным Присваивания Побитовые Отношения Прочие Все операторы можно систематизировать по группам в зависимости от того, со сколькими операндами они работают: * унарные; * бинарные; * тернарные. Шевченко А. В. Тема 6. Операторы 2

Информационные технологии Числовые константы Целочисленные константы могут записываться в десятичном, восьмеричном и шестнадцатеричном видах. Информационные технологии Числовые константы Целочисленные константы могут записываться в десятичном, восьмеричном и шестнадцатеричном видах. Восьмеричные константы начинаются с 0, шестнадцатеричные - с 0 х или 0 Х. Вещественные константы включают децимальную точку и могут использовать экспоненциальный формат (е или Е). Пример программы int a = 15; int b = 015; int c = 0 x 15; int d = 0 X 15; float e = 5. 67; float f =. 25; float g = 5. 67 e 4; float h = 2 E-2; Шевченко А. В. Тема 6. Операторы 3

Информационные технологии Знаковые операторы (унарный Информационные технологии Знаковые операторы (унарный "плюс" и унарный "минус") Оператор Назначение + Значение операнда без изменения знака - Значение операнда с противоположным знаком Унарными операторами "+" и "-" можно присваивать знаки величинам арифметических типов. Если перед величиной не указан знак, то значение по умолчанию считается положительным. Пример программы int a = -5; float b = +45. 67; double c = -b; Шевченко А. В. Тема 6. Операторы 4

Информационные технологии Арифметические операторы Оператор Назначение + Суммирует два операнда - Вычитает из первого Информационные технологии Арифметические операторы Оператор Назначение + Суммирует два операнда - Вычитает из первого операнда второй * Умножает два операнда / Делит первый операнд на второй % Остаток от целочисленного деления первого операнда на второй Все арифметические операторы являются бинарными. Операции умножения, деления и остатка имеют более высокий приоритет, чем операции сложения и вычитания. При равном приоритете операторы обрабатываются в последовательности слева направо. Можно изменить порядок выполнения операторов с помощью скобок. Шевченко А. В. Тема 6. Операторы 5

Информационные технологии Арифметические операторы Пример программы int a = 5+3; int b = a-2; Информационные технологии Арифметические операторы Пример программы int a = 5+3; int b = a-2; int c = a*b; int d = c/10; int e = c%10; int f = 2+3*4 -5; int g = (2+3)*(4 -5); double h 1 = 48/10; double h 2 = 48. /10. ; Шевченко А. В. Тема 6. Операторы 6

Информационные технологии Простой оператор присваивания (=) Слева от любого оператора присваивания должно находиться L-значение Информационные технологии Простой оператор присваивания (=) Слева от любого оператора присваивания должно находиться L-значение (выражение, ссылающееся на некоторую именованную область памяти). Примером L-значения может быть имя переменной или разадресованный указатель. При выполнении операции присваивания левому операнду присваивается значение правого операнда. Пример программы int a, *p = &a; a = 25; *p = 332; int b = a+*p; Шевченко А. В. Тема 6. Операторы 7

Информационные технологии Составные операторы присваивания Оператор Назначение += Суммирует два операнда и приваивает результат Информационные технологии Составные операторы присваивания Оператор Назначение += Суммирует два операнда и приваивает результат первому -= Вычитает из первого операнда второй и приваивает результат. . . *= Умножает два операнда и приваивает результат первому /= Делит первый операнд на второй и приваивает. . . %= другие Остаток от целочисленного деления первого операнда на второй. . . <<=, >>=, &=, ^=, |= В языке С существуют составные операторы присваивания, с помощью которых осуществляется как преобразование данных, так и присваивание результата. Шевченко А. В. Тема 6. Операторы 8

Информационные технологии Составные операторы присваивания Пример программы int a = 5+3; a += 2; Информационные технологии Составные операторы присваивания Пример программы int a = 5+3; a += 2; a *= 3; a /= 20; a %= 2; a -= 5; Шевченко А. В. Тема 6. Операторы 9

Информационные технологии Операторы отношения Оператор Назначение == Сравнение на равенство != Сравнение на неравенство Информационные технологии Операторы отношения Оператор Назначение == Сравнение на равенство != Сравнение на неравенство < Сравнение на "меньше" > Сравнение на "больше" <= Сравнение на "меньше или равно" >= Сравнение на "больше или равно" Операторы отношения сравнивают два операнда, которые также могут быть представлены выражениями. Результатом этих операций всегда является значение true или false. Шевченко А. В. Тема 6. Операторы 10

Информационные технологии Операторы отношения Пример программы int a = 2, b = 3, c Информационные технологии Операторы отношения Пример программы int a = 2, b = 3, c = 4, d = 5; bool e = (b+d == a*c); bool f = (2*a != c); bool g = (d > b); bool h = (d < b); bool i = (b-a >= -2); bool j = (-2 <= a-c); Шевченко А. В. Тема 6. Операторы 11

Информационные технологии Логические операторы Оператор && (and) Назначение Логическое И (бинарный) || (or) Логическое Информационные технологии Логические операторы Оператор && (and) Назначение Логическое И (бинарный) || (or) Логическое ИЛИ (бинарный) ! (not) Логическое НЕ (унарный) Оператор && Оператор || Оператор ! Операнд 1 Операнд 2 Результат Операнд Результат true true false true false true false false Шевченко А. В. Тема 6. Операторы 12

Информационные технологии Логические операторы Пример программы bool a = true, b = false; bool Информационные технологии Логические операторы Пример программы bool a = true, b = false; bool c = a&&b; bool d = a||b; bool e = a and b; bool f = a or b; bool i = !a or b; bool j = !(a and b); Шевченко А. В. Тема 6. Операторы 13

Информационные технологии Побитовые операторы Оператор & Назначение Побитовое И | Побитовое ИЛИ ^ Побитовое Информационные технологии Побитовые операторы Оператор & Назначение Побитовое И | Побитовое ИЛИ ^ Побитовое исключающее ИЛИ ~ Побитовое НЕ (инвертирование битов) >> Сдвиг вправо на n разрядов << Сдвиг влево на n разрядов Оператор & Оператор | Оператор ^ Оператор ~ 0 1 1 0 0 1 1 1 0 0 0 1 0 1 1 0 0 1 1 1 1 1 1 1 0 0 1 1 1 1 1 0 0 0 0 1 1 1 1 0 Шевченко А. В. Тема 6. Операторы 14

Информационные технологии Побитовые операторы Пример программы unsigned char a = 1, b = 2; Информационные технологии Побитовые операторы Пример программы unsigned char a = 1, b = 2; unsigned char c = a&b; unsigned char d = a|b; unsigned char e = a^b; unsigned char f = ~a; unsigned char i = b<<3; unsigned char j = 7>>1; Шевченко А. В. Тема 6. Операторы 15

Информационные технологии Операторы инкремента и декремента Оператор Назначение L-значение++ Инкрементация (увеличение на 1), постфиксная Информационные технологии Операторы инкремента и декремента Оператор Назначение L-значение++ Инкрементация (увеличение на 1), постфиксная форма ++L-значение Инкрементация (увеличение на 1), префиксная форма L-значение-- Декрементация (уменьшение на 1), постфиксная форма --L-значение Декрементация (уменьшение на 1), префиксная форма Позиция операторов инкремента и декремента определяет, какое действие будет выполнено сначала: присваивание значения операнда или его изменение. В префиксной форме операнд изменяется до приваивания. В постфиксной форме в качестве значения выражения используется значение операнда до его изменения. Операции инкремента и декремента могут применяться к указателям, в этом случае значение указателя меняется на размер соответствующего типа данных. Шевченко А. В. Тема 6. Операторы 16

Информационные технологии Операторы инкремента и декремента Пример программы short a = 20; short b Информационные технологии Операторы инкремента и декремента Пример программы short a = 20; short b = a++; short c = ++a; short d = --a; short e = a--; int f[] = {5, 7, 9, 11}; int *p = &f[1]; int g = *p++; Шевченко А. В. Тема 6. Операторы 17

Информационные технологии Оператор запятая Если символ запятой используется не в списке элементов, то он Информационные технологии Оператор запятая Если символ запятой используется не в списке элементов, то он определяет последовательность вычислений. В этом случае два выражения, разделенные запятой, вычисляются слева направо и значение левого выражения отбрасывается. Данный оператор применяется для обработки нескольких выражений там, где разрешено использование только одного выражения. Пример программы int i = 0; float a = 5. 25; float b = (i++, a*2); Шевченко А. В. Тема 6. Операторы 18

Информационные технологии Приоритет и ассоциативность операторов Оператор Ассоциативность []. -> ~ ! *(разадресация) &(адрес) Информационные технологии Приоритет и ассоциативность операторов Оператор Ассоциативность []. -> ~ ! *(разадресация) &(адрес) ++ -- Слева направо sizeof() Справа налево *(умножение) / % Слева направо + >> << Слева направо &(И) Слева направо ^ Слева направо | Слева направо && Слева направо || Слева направо = += -= *= /= %= <<= >>= &= |= ^= Справа налево , Слева направо Шевченко А. В. Тема 6. Операторы 19