Операторы языка С++ Лекция 3

Скачать презентацию Операторы языка С++   Лекция 3 Скачать презентацию Операторы языка С++ Лекция 3

Операторы.ppt

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

>Операторы языка С++   Лекция 3 Операторы языка С++ Лекция 3

>  Понятие оператора p Оператором в языках программирования  называется синтаксическая конструкция, с Понятие оператора p Оператором в языках программирования называется синтаксическая конструкция, с помощью которой описывается алгоритмически значимое действие над данными p Под алгоритмической значимостью понимается возможность представить с помощью оператора отдельный шаг алгоритма 1/22/2018 Операторы 2

>  Операторы языка C++ p  Язык С++ включает следующие операторы:  n Операторы языка C++ p Язык С++ включает следующие операторы: n оператор-выражение, n пустой оператор, n составной оператор, n условный оператор, n операторы цикла (с предусловием, с постусловием, с параметром), n операторы передачи управления (безусловной, выхода из цикла, перехода к следующей итерации цикла, возврата из функции), n оператор выбора 1/22/2018 Операторы 3

> Операторы языка C++ p Перечисленные операторы относятся к  управляющей части структуры программы Операторы языка C++ p Перечисленные операторы относятся к управляющей части структуры программы и обеспечивают организацию процесса вычислений p Кроме того, имеются операторы информационной части структуры программы – операторы описания (констант, переменных, пользовательских типов)

>  Общий синтаксис операторов p Любой оператор, кроме составного, имеет в  качестве Общий синтаксис операторов p Любой оператор, кроме составного, имеет в качестве завершающего символ «точка с запятой» p Любой оператор может быть снабжен меткой (помечен) p Метка – это уникальный идентификатор, отделяемый от оператора двоеточием p Метки могут использоваться для улучшения читабельности программы, а также для изменения порядка ее выполнения с помощью оператора перехода 1/22/2018 Операторы 5

>   Оператор-выражение p  Синтаксис оператора:  n любое выражение, после которого Оператор-выражение p Синтаксис оператора: n любое выражение, после которого поставлен символ «точка с запятой» , воспринимается компилятором как отдельный оператор p Семантика оператора: n производится вычисление значения выражения, после чего полученное значение удаляется p При вычислении выражения могут возникать побочные эффекты в виде изменения значений некоторых переменных 1/22/2018 Операторы 6

>  Побочные эффекты p Именно эти побочные эффекты и являются целью  использования Побочные эффекты p Именно эти побочные эффекты и являются целью использования оператора-выражения p Например: x = y + 6; x ++ < -- y; a && b <= (x *= 4); x * x + 8; p В последнем примере побочный эффект отсутствует 1/22/2018 Операторы 7

>   Пустой оператор p  Синтаксис оператора:  n изображается символом «точка Пустой оператор p Синтаксис оператора: n изображается символом «точка с запятой» p Семантика оператора: n не предусматривает выполнения каких-либо действий p Используется в ситуациях, когда синтаксис языка требует присутствия оператора, а по смыслу программы никакие действия не должны выполняться 1/22/2018 Операторы 8

>  Составной оператор p  Синтаксис оператора: n  представляется последовательностью операторов, Составной оператор p Синтаксис оператора: n представляется последовательностью операторов, заключенных в фигурные скобки { <оператор 1> <оператор 2> . . . <оператор n>} n единственный оператор, не заканчивающийся символом «точка с запятой» n допускается вложенность составных операторов 1/22/2018 Операторы 9

>    Составной оператор p  Семантика оператора:  n объединяет последовательность Составной оператор p Семантика оператора: n объединяет последовательность операторов в один оператор; n позволяет преодолеть ограничения синтаксиса ряда структурных операторов, требующих использования в качестве своего составного элемента только одного единственного оператора p Если внутри составного оператора имеется объявление, то составной оператор становится блоком 1/22/2018 Операторы 10

>      Блок p Переменные, объявленные внутри блока, имеют Блок p Переменные, объявленные внутри блока, имеют область видимости от точки объявления до конца блока p Например: { int x = 1; cout << “x = “ << x << endl; int y; y = ++x; cout << “y = “ << y << endl; } 1/22/2018 Операторы 11

>   Условный оператор p  Синтаксис оператора:   if (<выражение>) <оператор Условный оператор p Синтаксис оператора: if (<выражение>) <оператор 1> [else <оператор 2>] Часть оператора, заключенная в квадратные скобки, является необязательной. При ее наличии условный оператор имеет полную форму, а при отсутствии – сокращенную форму. В качестве <оператор 1> и <оператор 2> могут использоваться любые операторы 1/22/2018 Операторы 12

>    Условный оператор p  Семантика оператора:  n Вычисляется значение Условный оператор p Семантика оператора: n Вычисляется значение выражения. n Если получается значение true, то затем выполняется <оператор 1>. n Если получается значение false, то: в условном операторе, имеющем полную форму, выполняется <оператор 2>; в условном операторе, имеющем сокращенную форму, не выполняется больше никаких действий 1/22/2018 Операторы 13

>  Условный оператор p Отметим, что синтаксис условного оператора  требует записи одного Условный оператор p Отметим, что синтаксис условного оператора требует записи одного единственного оператора до и после ключевого слова else p Если по смыслу алгоритма в той или иной ветви требуется выполнение большего числа операторов, их надо оформить как составной оператор p При вложениях условных операторов каждое else соответствует ближайшему к нему предшествующему if 1/22/2018 Операторы 14

>   Циклы p Циклом называется часть программного кода,  обеспечивающая многократное повторение Циклы p Циклом называется часть программного кода, обеспечивающая многократное повторение какой- либо последовательности действий над данными p Повторяющаяся последовательность действий называется телом цикла p Количество повторений определяется условием цикла, которое должно обеспечивать его завершение после конечного числа повторений (итераций) 1/22/2018 Операторы 15

>   Циклы p Перед началом цикла должна быть выполнена  инициализация переменных, Циклы p Перед началом цикла должна быть выполнена инициализация переменных, изменяющихся в теле цикла p В зависимости от того, выполняется проверка условия цикла до или после выполнения тела цикла, различают циклы с пред- и постусловием 1/22/2018 Операторы 16

>      Циклы   инициализация   переменных цикла Циклы инициализация переменных цикла проверка условия выполнение тела цикла выполнение тела проверка условия цикла Цикл с предусловием Цикл с постусловием 1/22/2018 Операторы 17

>   Оператор цикла с    предусловием p  Синтаксис оператора: Оператор цикла с предусловием p Синтаксис оператора: n while (<условие цикла>) <тело цикла> n <тело цикла> – простой (возможно, пустой) или составной оператор n <условие цикла> – выражение целого типа p Семантика оператора: n вычисляется значение выражения n если оно не равно 0, то выполняется тело цикла n в противном случае выполнение оператора цикла завершается 1/22/2018 Операторы 18

>  Оператор цикла с   предусловием p Условие цикла является условием продолжения Оператор цикла с предусловием p Условие цикла является условием продолжения p Условие цикла может иметь значение 0 уже на первом шаге – тогда цикл сразу завершится, и тело цикла не будет выполнено ни разу p Тело оператора цикла с предусловием может быть выполнено ноль или более раз 1/22/2018 Операторы 19

>  Свойства оператора цикла с  предусловием p Число шагов для цикла с Свойства оператора цикла с предусловием p Число шагов для цикла с предусловием заранее не определено p Для завершения цикла после конечного числа шагов необходимо, чтобы выражение, являющееся условием продолжения изменялось на каждой итерации цикла 1/22/2018 Операторы 20

>Пример цикла с предусловием p Программа «Синус» p Листинг программы  Выполняет вычисление значения Пример цикла с предусловием p Программа «Синус» p Листинг программы Выполняет вычисление значения синуса угла, заданного в радианах. Значение синуса находится с точностью до 0. 000001. Для вычисления используется формула 1/22/2018 Операторы 21

>   Оператор цикла с    постусловием p  Синтаксис оператора: Оператор цикла с постусловием p Синтаксис оператора: n do <тело цикла> while (<условие цикла>) n <тело цикла> – простой (возможно, пустой) или составной оператор n <условие цикла> – выражение целого типа p Семантика оператора: n выполняются оператор тела цикла, затем вычисляется значение выражения n если оно не равно 0, то снова выполняется тело цикла, в противном случае выполнение оператора цикла завершается 1/22/2018 Операторы 22

> Свойства оператора цикла с   постусловием p Условие этого цикла также является Свойства оператора цикла с постусловием p Условие этого цикла также является условием продолжения p Для завершения цикла после конечного числа шагов необходимо, чтобы условие продолжения содержало хотя бы одну переменную, значение которой меняется в теле цикла p Тело оператора цикла с постусловием может быть выполнено один или более раз 1/22/2018 Операторы 23

>  Применение операторов    цикла p Программа «Квадратный корень» p Листинг Применение операторов цикла p Программа «Квадратный корень» p Листинг программы p Цикл с неопределенным числом шагов можно реализовать с помощью любого из двух операторов цикла. p Выбор между ними зависит от того, должно ли тело цикла выполняться хотя бы один раз 1/22/2018 Операторы 24

>  Пустое тело цикла p Тело цикла может быть пустым оператором, если Пустое тело цикла p Тело цикла может быть пустым оператором, если побочный эффект при вычислении выражения- условия обеспечивает получение нужного результата p Например: long double y=n; while ((y *= --n) && n>1); p Результатом выполнения этого цикла является вычисление n! 1/22/2018 Операторы 25

> Оператор итерационного    цикла p Обобщением цикла с предусловием является Оператор итерационного цикла p Обобщением цикла с предусловием является оператор итерационного цикла (оператор for) p В этом операторе инициализация цикла и проверка его условия размещаются в заголовке цикла p Кроме того, заголовок цикла может содержать выражение, вычисляемое после завершения каждой итерации 1/22/2018 Операторы 26

> Оператор итерационного    цикла p Синтаксис оператора:  n for ([<инициализация Оператор итерационного цикла p Синтаксис оператора: n for ([<инициализация цикла>]; [<условие цикла>]; [<выражение>]) <тело цикла> n <инициализация цикла> – список (возможно пустой) определений и выражений, разделенных запятыми n <условие цикла > – выражение, имеющее смысл условия продолжения; при его отсутствии оно считается равным 1 n <выражение> – выражение, вычисляемое после завершения каждой итерации n <тело цикла> – простой или составной оператор 1/22/2018 Операторы 27

>      Примеры p  Оператор с пустым списком инициализации, Примеры p Оператор с пустым списком инициализации, использующий внешние переменные: int i=1; int f=1; for (; i<=n; ++i) f = f * i; p Оператор с переменными i, f, объявленными внутри цикла: for (int i = 1, f=1; i<=n; ++i) f = f * i; p Оператор с переменными i, f, объявленными вне цикла и с пустым телом цикла: for (i = 1, f=1; i<=n; f = f * i++); 1/22/2018 Операторы 28

> Оператор итерационного    цикла p Семантика оператора:  1. вычисляются значения Оператор итерационного цикла p Семантика оператора: 1. вычисляются значения инициализирующих выражений 2. вычисляется значение выражения-условия 3. если значение выражения-условия отлично от нуля, то выполняется оператор тела цикла; иначе выполнение цикла завершается 4. вычисляется значение выражения, выполняемого после завершения итерации 5. переход к п. 2 1/22/2018 Операторы 29

>  Области видимости p Переменные, объявленные в инициализирующей  части цикла, являются локальными Области видимости p Переменные, объявленные в инициализирующей части цикла, являются локальными переменными цикла, т. е. областью их действия является цикл p Во вложенных циклах можно объявлять переменные с теми же именами, что и в охватывающих циклах p Программа «Факториал» p Исходный текст программы 1/22/2018 Операторы 30

>   Оператор выбора p  Синтаксис оператора:  switch (<выражение выбора>) Оператор выбора p Синтаксис оператора: switch (<выражение выбора>) { case < константное выражение 1>: операторы 1 case < константное выражение 2>: операторы 2 . . . case < константное выражение n>: операторы n default <операторы> } 1/22/2018 Операторы 31

>   Оператор выбора p  Семантика оператора:  n Вычисляется выражения выбора Оператор выбора p Семантика оператора: n Вычисляется выражения выбора и полученное значение последовательно сравнивается с константами в списках констант (значения констант не должны повторяться). n При обнаружении совпадения выполняется соответствующий оператор. n Если совпадения не обнаруживается, то выполняются операторы default – части p Оператор выбора называют также переключателем 1/22/2018 Операторы 32

>  Пример использования    оператора выбора p  Программа «Калькулятор» Пример использования оператора выбора p Программа «Калькулятор» n Считывает два вещественных значения и символ арифметической операции. Выполняет соответствующую операцию и выводит на экран полученное значение. n При вводе недопустимого символа операции выводит на экран предупреждение. p Исходный текст программы 1/22/2018 Операторы 33

>  Операторы передачи   управления p По умолчанию операторы программы  выполняются Операторы передачи управления p По умолчанию операторы программы выполняются последовательно в порядке их записи p При необходимости изменить этот порядок используют один из операторов передачи управления 1/22/2018 Операторы 34

>   Операторы передачи    управления p  В эту группу Операторы передачи управления p В эту группу операторов входят: n оператор безусловной передачи управления (goto), n оператор выхода из цикла или переключателя (break), n оператор перехода к следующей итерации цикла (continue), n оператор возврата из функции (return) 1/22/2018 Операторы 35

>    Оператор goto p Синтаксис оператора:   goto <идентификатор>, Оператор goto p Синтаксис оператора: goto <идентификатор>, где <идентификатор> – имя метки некоторого оператора p Семантика оператора: n управление получает соответствующий помеченный оператор, расположенный в той же функции, что и данный оператор безусловного перехода p Использование оператора goto усложняет чтение и понимание программ 1/22/2018 Операторы 36

>  Оператор break p Служит для принудительного выхода из цикла  или переключателя Оператор break p Служит для принудительного выхода из цикла или переключателя с передачей управления оператору, следующему за оператором цикла или выбора, соответственно p Для вложенных циклов и/или переключателей выход происходит на предыдущий уровень вложения 1/22/2018 Операторы 37

>  Оператор continue p Используется в операторах цикла для досрочного  завершения текущей Оператор continue p Используется в операторах цикла для досрочного завершения текущей итерации и перехода к проверке условия продолжения и следующей итерации p Обычно используется при наличии в теле цикла завершающей части, которая может не выполняться при некоторых условиях 1/22/2018 Операторы 38

>    Оператор return p Синтаксис оператора:  return [<выражение>] p Семантика Оператор return p Синтаксис оператора: return [<выражение>] p Семантика оператора: n Возвращает управление вызывающей функции или операционной системе (если используется в функции main) n Выражение, входящее в состав этого оператора, должно иметь тип, совместимый с типом содержащей его функции n Этот оператор может отсутствовать в функциях с типом void 1/22/2018 Операторы 39

>  Правила оформления   программ p Используемые имена должны носить  содержательный Правила оформления программ p Используемые имена должны носить содержательный характер, т. е. быть осмысленными p Структура программы должна быть отражена в структуре текста: текст записывается с отступами p Для удобства чтения текста программы он должен быть снабжен комментариями 1/22/2018 Операторы 40

>  Конец лекции 1/22/2018  Операторы  41 Конец лекции 1/22/2018 Операторы 41