Лекция 3 Основные операции Базовые управляющие конструкции
Приоритет выполнения операций Унарные операции Бинарные и тернарная операции Арифметические операции Операции сравнения Побитовые операции Логические операции Условная операция Операции присваивания Последовательное вычисление
Унарные операции ++увеличение на 1 – –уменьшение на 1 sizeofразмер ~поразрядное отрицание !логическое отрицание – унарный минус +унарный плюс &взятие адреса *раз адресация newвыделение памяти deleteосвобождение памяти ( )преобразование типа
Арифметические операции Мультипликативные операции *умножение /деление %остаток от деления Аддитивные операции +сложение –вычитание Операции сдвига >>сдвиг вправо
Операции сравнения Сравнение на «больше-меньше» > >= <
Побитовые операции Поразрядная конъюнкция (И) & Поразрядное исключающее ИЛИ ^ Поразрядная дизъюнкция (ИЛИ) |
Логические операции Логическое И && Логическое ИЛИ ||
Условная операция (тернарная) ? :
Операции присваивания = *= /= %= += –= = &= ^= |=
Последовательное вычисление,
Как выполнять операции одинакового приоритета? Слева направо ( ) все операции кроме… Справа налево ( ) Унарные операции Тернарная операция Операции присваивания
Задача: поменять местами значения переменных a и b Используем дополнительную переменную (tmp). tmp = a; a = b; b = tmp; Без использования дополнительной переменной. a = a + b; b = a – b; a = a – b;
Вычислить min(a,b) if (a
Математические функции #include |x| fabs(x) sin xsin(x) cos xcos(x) tg xtan(x) e x exp(x) ln xlog(x) x y pow(x,y) sqrt(x) Возможности округления: ceil(x) округление вверх (ceil(4.3) =5, ceil(- 4.3)=-4) floor(x) округление вниз (floor(4.9) =4, floor(- 4.9) = -5) (int)x приведение к типу int, дробная часть отбрасывается (int)4.7 = 4, int(-4.7) = -4
Каков тип результата при вычислении выражения? Если все аргументы одного типа, то и результат будет того же типа. Если аргументы имеют разные типы, то происходит преобразование типов: более короткие типы преобразовываются в более длинные.
Базовые конструкции структурного программирования
Оператор ветвления if if ( ) ; else ;
Задача Даны три целых числа различных между собой: a,b и с. Перераспределить их значения таким образом, чтобы в переменной а оказалось самое маленькое из значений, в с – самое большое, в переменную b поместить оставшееся. Разрешается использовать только одну дополнительную переменную.
Оператор switch switch ( ) { case конст.выр.1: [ ] case конст.выр.2: [ ] … case конст.выр.n: [ ] [default: ] }