Лекция 3

20
Лекция 3 Основные операции Базовые управляющие конструкции

description

Лекция 3. Основные операции Базовые управляющие конструкции. Приоритет выполнения операций. Унарные операции Бинарные и тернарная операции Арифметические операции Операции сравнения Побитовые операции Логические операции Условная операция Операции присваивания - PowerPoint PPT Presentation

Transcript of Лекция 3

Page 1: Лекция 3

Лекция 3

Основные операции

Базовые управляющие конструкции

Page 2: Лекция 3

Приоритет выполнения операций Унарные операции Бинарные и тернарная операции

Арифметические операции Операции сравнения Побитовые операции Логические операции Условная операция Операции присваивания Последовательное вычисление

Page 3: Лекция 3

Унарные операции++ увеличение на 1– – уменьшение на 1sizeof размер~ поразрядное отрицание! логическое отрицание– унарный минус+ унарный плюс& взятие адреса* разадресацияnew выделение памятиdelete освобождение памяти(<тип>) преобразование типа

Page 4: Лекция 3

Арифметические операции Мультипликативные операции

* умножение/ деление% остаток от деления

Аддитивные операции+ сложение– вычитание

Операции сдвига>> сдвиг вправо<< сдвиг влево

Page 5: Лекция 3

Операции сравнения Сравнение на «больше-меньше»

>>=<<=

Сравнение на «равенство-неравенство»== //равно!= //не равно

Page 6: Лекция 3

Побитовые операции Поразрядная конъюнкция (И)

& Поразрядное исключающее ИЛИ

^ Поразрядная дизъюнкция (ИЛИ)

|

Page 7: Лекция 3

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

Логическое И&&

Логическое ИЛИ||

Page 8: Лекция 3

Условная операция (тернарная)

<условие> ? <выр.1> : <выр.2>

Page 9: Лекция 3

Операции присваивания=*=/=%=+=–=<<=>>=&=^=|=

Page 10: Лекция 3

Последовательное вычисление

,

Page 11: Лекция 3

Как выполнять операции одинакового приоритета?

Слева направо () все операции кроме…

Справа налево () Унарные операции

Тернарная операция

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

Page 12: Лекция 3

Задача: поменять местами значения переменных a и b

Используем дополнительную переменную (tmp).

tmp = a;a = b;b = tmp;

Без использования дополнительной переменной.

a = a + b;b = a – b;a = a – b;

Page 13: Лекция 3

Вычислить min(a,b)

if (a<b) min=a; else min=b;

min = a<b ? a : b;

min = (a < b)*a + (a >= b)*b;

Еще способы ???

Page 14: Лекция 3

Математические функции#include <math.h>

|x| fabs(x)sin x sin(x)cos x cos(x)tg x tan(x)ex

exp(x)ln x log(x)xy 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

x

Page 15: Лекция 3

Каков тип результата при вычислении выражения? Если все аргументы одного типа, то и

результат будет того же типа.

Если аргументы имеют разные типы, то происходит преобразование типов: более короткие типы преобразовываются в более длинные.

Page 16: Лекция 3

Базовые конструкции структурного программирования

Page 17: Лекция 3

Оператор ветвления if

if (<условие>)

<оператор1>;

else

<оператор2>;

Page 18: Лекция 3

Задача

Даны три целых числа различных между собой: a,b и с.

Перераспределить их значения таким образом, чтобы в переменной а оказалось самое маленькое из значений, в с – самое большое, в переменную b поместить оставшееся.

Разрешается использовать только одну дополнительную переменную.

Page 19: Лекция 3

Оператор switchswitch (<выражение>) { case конст.выр.1: [<список операторов 1>] case конст.выр.2: [<список операторов 2>] … case конст.выр.n: [<список операторов n>] [default: <операторы>] }

Page 20: Лекция 3