Операторы С++

Содержание

Слайд 2

Определение и классификация Оператор – предложение, описывающее одно действие по обработке

Определение и классификация

Оператор – предложение, описывающее одно действие по

обработке данных (один шаг алгоритма).
Назначение операторов:
1) преобразование данных;
2) управление ходом выполнения программы (программное управление).
Классификация операторов
1. Операторы преобразования данных.
2. Операторы управления.
3. Вызовы функций (операторы-функции и операторы- выражения).
Слайд 3

Операторы преобразования данных Выражение-оператор. Пустой оператор. Составной оператор (блок).

Операторы преобразования данных

Выражение-оператор.
Пустой оператор.
Составной оператор (блок).

Слайд 4

Выражение–оператор Оператора присваивания в С нет. Выражение-оператор, это выражение, в составе

Выражение–оператор

Оператора присваивания в С нет.
Выражение-оператор, это выражение, в составе которого

есть операция присваивания (и ее клоны) или операции изменения данных (++ –– и другие).
Примеры:
x = y + 4;
y += 4; // Выражение
x ++; // Выражение-оператор.
Операция присваивания правоассоциативна, поэтому возможна цепочка присваиваний:
x = y = z = 1;
3 ← 2 ←1
Слайд 5

Выражение присваивания Назначение: преобразование данных в соответствии с выражением правой части.

Выражение присваивания

Назначение: преобразование данных в соответствии с выражением правой части.
Синтаксис:
Имя_переменной =

выражение;
Имя_переменной = (тип) выражение;
Семантика:
1) вычисляется выражение правой части (определен тип);
2) присваивается переменной левой части.
При этом происходит неявное или явное преобразование и приведение типов.
Слайд 6

Пустой оператор Имеет вид ; ; for (int i=0; i S += i; // пустой оператор

Пустой оператор

Имеет вид
; ;
for (int i=0; i<5;i++) ; // 5

раз выполняется
S += i; // пустой оператор
Слайд 7

Составной оператор (блок) Составной оператор { // Только исполнимые операторы }

Составной оператор (блок)

Составной оператор
{
// Только исполнимые операторы
}
Блок

{
// Объявления объектов
// и выполнимые операторы
}
Назначение – объединение группы операторов в один.
Объявленные объекты существуют только внутри блока.
Пример блока – тело любой функции, в т.ч. main.
Слайд 8

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

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

Операторы программы выполняются в том порядке, в котором записаны.
Каждый оператор

выполняет один шаг алгоритма, тем самым управляя работой компьютера (принцип программного управления).
Поэтому порядок выполнения выражений называют потоком управления.
Слайд 9

Операторы управления Операторы управления позволяют изменить направление потока управления. Условный оператор

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

Операторы управления позволяют изменить направление потока управления.
Условный оператор if
Оператор цикла

while
Оператор цикла do {...} while
Оператор цикла типа прогрессия for
Оператор прерывания (цикла) break
Оператор продолжения (цикла) continue
Оператор переключатель switch
Оператор выхода из функции return
Слайд 10

Операторы вызова функции Назначение – передача управления (и данных) функции, получение

Операторы вызова функции

Назначение – передача управления (и данных) функции, получение результата.
Пример.
printf("x=%d",x); //

Вызов функции
scanf("%d%f",&x,&y); //
pow(x,a); //.
Синтаксис:
Имя_функции (фактические_параметры)
// a + b или sin(x)
Операнды – имя функции и параметры.
Слайд 11

Схема изложения сведений об операторах 1. Назначение. 2. Синтаксис. 3. Механизм

Схема изложения сведений об операторах

1. Назначение.
2. Синтаксис.
3. Механизм исполнения (семантика).
4. Примеры.
5.

Особенности.
Слайд 12

Условный оператор – первая форма Назначение – выбор одного из двух

Условный оператор – первая форма

Назначение – выбор одного из двух возможных

путей исполнения алгоритма (программы) в зависимости от условий, сложившихся при ее выполнении.

Синтаксис:
if (Логическое_выражение)
Оператор;
//

Слайд 13

Условный оператор – вторая форма if (Логическое_выражение) Оператор1; else //Альтернативная часть Оператор2;

Условный оператор – вторая форма

if (Логическое_выражение)
Оператор1;
else //Альтернативная часть
Оператор2;

Слайд 14

Семантика Логическое_выражение – любое типа int. Оператор – совокупность действий, один

Семантика

Логическое_выражение – любое типа int.
Оператор – совокупность действий, один или несколько

операторов. Если несколько операторов входят в ветвь if, то это блок:
{
Оператор;
}
Семантика
1. Вычисляется логическое выражение.
2. Если оно ! = 0 (истина), то выполняется Оператор1.
3. Если оно == 0 (ложь), то выполняется Оператор2 (или ничего в первой форме).
Слайд 15

Замечания по синтаксису 1. Логическое_выражение записывается в скобках, это сколь угодно

Замечания по синтаксису

1. Логическое_выражение записывается в скобках, это сколь угодно сложное

выражение, вычисляющее целочисленное значение. Для записи используются все знаки логических операций.
2. В общем случае, «Оператор», это блок:
if (выражение)
{ }
else
{ }
В блоке могут быть объявлены переменные, они известны только в этом блоке.
3. Структура условного оператора подчеркивается отступами.
Слайд 16

Вложенный условный оператор Правила организации: любой внутренний уровень полностью принадлежит одной из ветвей внешнего уровня.

Вложенный условный оператор

Правила организации: любой внутренний уровень полностью принадлежит одной из

ветвей внешнего уровня.
Слайд 17

Примеры Примеры

Примеры

Примеры

Слайд 18

Запись логических выражений Простые логические выражения используют отношения: x +3 >

Запись логических выражений

Простые логические выражения используют отношения:
x +3 > 0
x <

0.5*y
Angle==90
Операция отношения выполняется корректно, когда сравниваются значения одинаковых типов. Если операнды разного типа, то перед выполнением сравнения компилятор выполнит приведение типов. Результат операции может быть отличным от ожидаемого.
Например,
My_float >= My_Int //
В этом случае необходимо применять явное преобразование типа.
Слайд 19

Запись логических выражений Сложные логические выражения используют знаки логических операций: &&

Запись логических выражений

Сложные логические выражения используют знаки логических операций:
&& −

логическое И;
|| − логическое ИЛИ;
! − логическое отрицание НЕ.
Age >= 12 && Age <=17 // Подростковый − от 12 до 17 лет.
Логическое выражение истинно, когда оба условия выполняются одновременно.
Age < 12 || Age > 17 // Не подросток.
Логическое выражение истинно, когда хотя бы одно или оба условия выполнены.
! (Age>=12 && Age<=17)// То же самое.
Слайд 20

Приоритеты логических операций 1. ! // Правоассоциативна 2. / % *

Приоритеты логических операций

1. ! // Правоассоциативна
2. / % *

3. + −
4. < <= > >=
5. == != // Меньший приоритет
6. &&
7. ||
8. =
Слайд 21

Ошибки записи логических выражений 1. Знаки логических операций && и ||

Ошибки записи логических выражений

1. Знаки логических операций && и || похожи

на знаки операций поразрядного сравнения & и |.
a || b (0 или 1)
a | b (001 | 010 = 3)
Слайд 22

Ошибки записи логических выражений 2. Знак операции = отличен от знака

Ошибки записи логических выражений

2. Знак операции = отличен от знака ==
Key

= getch();

if ( Key = 27) // 27 = код Esc,
{
printf ("Завершение работы.\n");
return;
}
else
printf ("Продолжение работы.\n");
Независимо от первоначального значения Key, будет выполнено присваивание Key = 27, и значение выражения равно 1.
Слайд 23

Ошибки записи логических выражений 3. Пропуск знаков логических операций. Абстрактная математическая

Ошибки записи логических выражений

3. Пропуск знаков логических операций.
Абстрактная математическая запись:
-

3 < x < 6
Запись на С++:
-3В противном случае
-3 < x < 6
Схема вычисления выражения:
1) (-3 2) (0 или 1) <6 = True
Слайд 24

Ошибки записи логических выражений 4. Операции сравнения для вещественных типов не

Ошибки записи логических выражений

4. Операции сравнения для вещественных типов не выполняются

точно в силу особенностей представления данных с плавающей точкой. Поэтому проверку на точное равенство == выполняют приближенно.
float x=1./3.;
float y;
y = x+x+x;
if (y==3*x)
printf("Равны\n");
else
printf("Не равны\n");
Проверка на приближенное равенство выполняется так:
(fabs (y-3*x)<0.001)
Слайд 25

Выводы Примеры в Primer_If

Выводы

Примеры в Primer_If

Слайд 26

Стиль записи программ Из элементов стиля можно выделить на начальном этапе:

Стиль записи программ

Из элементов стиля можно выделить на начальном этапе:
1) система

именования программных объектов;
2) наличие комментариев;
3) структурирование текста программы.
Система именования программных объектов требует, содержательного именования переменных и других объектов, например,
float x1, y1; // Координаты точки.
FILE *My_file_1; // Файл данных.
Имена define определенных констант – большими.
#define SIZE 100
#define
Слайд 27

Структура текста программы 1. Каждый оператор пишется в одной строке. 2.

Структура текста программы

1. Каждый оператор пишется в одной строке.
2. Пустые строки

разделяют однородные группы операторов или логические фрагменты.
3. Пробелы в тексте улучшают читабельность кода.
4. Отступы подчеркивают структуру программы, особенно вложения для циклов, условий.
Операторы высшего уровня записываются с левого края.
Отступ на 3 позиции для зависимых операторов.
Фигурные скобки располагаются на уровне блока, который они охватывают, одна под другой.