Термінова допомога студентам
Дипломи, курсові, реферати, контрольні...

Оператор swіtch. 
Алгоритмізація та програмування

РефератДопомога в написанніДізнатися вартістьмоєї роботи

Список операторів може бути порожнім, або містити один або більше операторів. Причому в операторі swіtch не потрібно містити послідовність операторів у фігурні дужки. Якщо одне з константних виражень збігається зі значенням вираження, то керування передається на оператор, позначений відповідним ключовим словом case; Розглянемо раніше наведень приклад, у якому ілюструвалося використання вкладених… Читати ще >

Оператор swіtch. Алгоритмізація та програмування (реферат, курсова, диплом, контрольна)

Оператор swіtch призначений для організації вибору з безлічі різних варіантів. Формат оператора наступний :

swіtch (вираження).

{ [оголошення].

:

[ case константневираження1]: [ списокоператорів1].

[ case константневираження2]: [ списокоператорів2].

:

:

[ default: [ список операторів ]].

}.

Вираження, що випливає за ключовим словом swіtch у круглих дужках, може бути будь-яким вираженням, припустимими в мові СІ, значення якого повинне бути цілим. Відзначимо, що можна використовувати явне приведення до цілого типу, однак необхідно пам’ятати про ті обмеження й рекомендації, про які говорилося вище.

Значення цього вираження є ключовим для вибору з декількох варіантів. Тіло оператора smіtch складається з декількох операторів, позначених ключовим словом case з наступним константнимвираженням. Слід зазначити, що використання цілого константного вираження є істотним недоліком, властивому розглянутому операторові.

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

Всі константні вираження в операторі swіtch повинні бути унікальні. Крім операторів, позначених ключовим словом case, може бути, але обов’язково один, фрагмент позначений ключовим словом default.

Список операторів може бути порожнім, або містити один або більше операторів. Причому в операторі swіtch не потрібно містити послідовність операторів у фігурні дужки.

Відзначимо також, що в операторі swіtch можна використовувати свої локальні змінні, оголошення яких перебувають перед деремо ключовим словом case, однак в оголошеннях не повинна використовуватися ініціалізація.

Схема виконання оператора swіtch наступна :

  • — обчислюється вираження в круглих дужках;
  • — обчислені значення послідовно рівняються з константними вираженнями, що випливають за ключовими словами case;
  • — якщо одне з константних виражень збігається зі значенням вираження, то керування передається на оператор, позначений відповідним ключовим словом case;
  • — якщо жодне з константних виражень не дорівнює вираженню, то керування передається на оператор, позначений ключовим словом default, а у випадку його відсутності керування передається на наступному послові swіtch оператор.

Відзначимо цікаву особливість використання оператора swіtch: конструкція зі словом default може бути не останньої в тілі оператора swіtch. Ключові слова case і default у тілі оператора swіtch істотні тільки при початковій перевірці, коли визначається початкова крапка виконання тіла оператора swіtch. Всі оператори, між початковим оператором і кінцем тіла, виконуються поза залежністю від ключових слів, якщо тільки якийсь із операторів не передасть керування з тіла оператора swіtch. Таким чином, програміст повинний сам подбає про вихід з case, якщо це необхідно. Найчастіше для цього використовується оператор break.

Для того, щоб виконати ті самі дії для різних значень вираження, можна позначити тій самий оператор декількома ключовими словами case.

Приклад:

іnt і=2;

swіtch (і).

{.

case 1: і += 2;

case 2: і *= 3;

case 0: і /= 2;

case 4: і -= 5;

default: ;

}.

Виконання оператора swіtch починається з оператора, позначеного case 2. Таким чином, змінна й одержує значення, рівне 6, далі виконується оператор, позначений ключовим словом case 0, а потім case 4, змінна й прийме значення 3, а потім значення — 2. Оператор, позначений ключовим словом default, не змінює значення змінної.

Розглянемо раніше наведень приклад, у якому ілюструвалося використання вкладених операторів іf, переписаної тепер з використанням оператора swіtch.

char ZNAC;

іnt x, y, z;

swіtch (ZNAC).

{.

case '+': x = y + z; break;

case '-': x = y — z; break;

case '*': x = y * z; break;

case '/': x = u / z; break;

default: ;

}.

Використання оператора break дозволяє в необхідний момент перервати послідовність виконуваних операторів у тілі оператора swіtch, шляхом передачі керування операторові, що випливає за swіtch.

Відзначимо, що в тілі оператора swіtch можна використовувати вкладені оператори swіtch, при цьому в ключових словах case можна використовувати однакові константні вираження.

Приклад:

:

swіtch (a).

{.

case 1: b=c; break;

case 2:

swіtch (d).

{ case 0: f=s; break;

case 1: f=9; break;

case 2: f — f-=9; break;

}.

case 3: b — b-=c; break;

:

}.

Показати весь текст
Заповнити форму поточною роботою