Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OPORNUY_TSPIS.doc
Скачиваний:
9
Добавлен:
12.11.2018
Размер:
4.78 Mб
Скачать

1. Умовні оператори Оператор if

Є дві форми умовних операторів if:

if (вираз) оператор

if (вираз) оператор else оператор

У обох випадках обчислюється вираз і, якщо воно відмінне від нуля, то виконується перший підоператор. У другому випадку якщо вираз рівний нулю, виконується другий підоператор. Як завжди, двозначність else вирішується скріпленням else з останнім if, що зустрічається, у якого немає else.

Оператор while

Оператор while має форму

while (вираз) оператор

Підоператор виконується повторно до тих пір, поки значення вирази залишається відмінним від нуля. Перевірка проводиться перед кожним виконанням оператора.

Оператор do

Оператор do має форму

do оператор while (вираз)

Оператор виконується повторно до тих пір, поки значення вирази не стане рівним нулю. Перевірка проводиться після кожного виконання оператора.

2. Оператор циклу

Оператор for

Оператор for має форму

(вираз1;вираз2;вираз3)оператор

необ необ необ

Оператор for еквівалентний наступному:

выражение1;

while (выражение2) {

оператор

выражение3;

}

Таким чином, перший вираз визначає ініціалізацію циклу; друге специфікує перевірку, що виконується перед кожною ітерацією, так що вихід з циклу відбувається тоді коли значення виразу стає нулем; третій вираз часто задає приріст параметра, який обчислюється після кожній ітерації.

Будь-який вираз або всі вони можуть бути опущені. Якщо відсутній другий вираз, та пропозиція з while вважається еквівалентним while(1); інші відсутні вирази просто опускаються з приведеного вище розширення.

  1. Оператори вибору

Оператор switch

Оператор switch (перемикач), викликає передачу управління до одного з декількох операторів, в залежності від значення виразу. Оператор має форму

switch (вираз) оператор

У виразі проводяться звичайні арифметичні перетворення, результат повинен мати тип int. Оператор зазвичай є складеним. Будь-який оператор усередині цього оператора може бути помічений одним або більш варіантним префіксом case, що має форму:

case константний вираз:

Де константний вираз повинен мати тип int. Ніякі дві варіантні константи в одному і тому ж перемикачі не можуть мати однакове значення. Точне визначення константного вирази приводиться нижче.

Крім того, може бути присутнім один операторний префікс вигляду

default:

При виконанні оператора switch обчислюється те, що входить в його вираз і порівнюється з кожною варіантною константою. Якщо одна з варіантних констант виявляється рівною значенню цього виразу, те управління передається операторові, який слідує за співпадаючим варіантним префіксом.

Якщо жодна з варіантних констант не співпадає з значенням виразу і якщо при цьому присутній префікс default, те управління передається операторові, поміченому цим префіксом. Якщо жоден з варіантів не підходить і префікс default відсутній, то жоден з операторів в перемикачі не виконується.

Самі по собі префікси case і default не змінюють виконання програми, програма виконується послідовно, поки не зустрінеться явна передача управління. Для виходу з перемикача є оператор break (п.0.8).

Зазвичай оператор, який входить в перемикач, є складеним. Описи можуть з'являтися на початку цього оператора, але ініціалізації автоматичних і регістрових змінних будуть неефективними.

Приклад:

switch (regim) {

case 'x': regx++;

case 'X': case 'Y': regY++; break;

case '-': regx = 0; break;

default: err("Помилка"); goto next;

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]