Добавил:
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
2
Добавлен:
31.01.2021
Размер:
7.48 Кб
Скачать

Інформатика — Теорія — Оператор безумовного переходу goto    Автори

|

Контакти

|

Підсистема допомоги

|

Методичні вказівки

|

Анотація

|

Назад

   ІнформатикаОператори передачі управління : Оператор безумовного переходу gotoЗміст курсу

Вступ

Теорія

Оператор розриву break

Оператор продовження continue

Оператор безумовного переходу goto

Оператор повернення з функціїї return

Поточна перевірка знань

Оператори передачі управління

Версія для друку

  Оператор безумовного переходу goto      Синтаксис : goto <мітка>;/* ... */<мітка> : <оператор>;.     Оператор безумовного переходу goto передає управління безпосередньо на <оператор>, перед яким розташована <мітка>. Область дії мітки обмежена функцією, в якій вона визначена. Тому, кожна мітка повинна бути відмінною від інших в одній і тій самій функції. Також, неможливо передати управління оператором goto в іншу функцію.      Оператор, перед яким розташована <мітка>, виконується зразу після виконання оператора goto. Якщо оператор з міткою відсутній, то компілятор видасть повідомлення про помилку.      В свою чергу при появі концепції структурного програмування оператор goto піддався критиці, і його використання стало розглядатися як ознака поганого стилю програмування. Дійсно, надмірно широке використання goto робить структуру програми надмірно заплутаною, тому без особливої необхідності намагайтесь обходитися без оператора goto. Рекомендується або взагалі відмовитися від goto, або звести його використання до мінімума та дотримуватися наступного:

- не входити усередину блоку зовні;

- не входити усередину умовного оператора if;

- не входити усередину переключателю switch;

- не передавати управління усередину цикла.

Приклад 3. Використання оператора goto. Обчислення добутку від 2 до 3.

void main()

{

     int n=3, f=1, i=2;

     start:

          if (i>n) goto end;

          f *= i;

          i++;

          goto start;

     end: ;

     cout<<"\n f= "<<f;

}

Використання оператора goto в програмі аналогічно використанню цикла. Обчислення продовжується, якщо і меншеабо дорівнює 3. В результаті отримаємо 6.

 © 2008 ХНУРЭ, Інформатики, Сінельнікова Т.Ф., informatika@kture.Kharkov.uaРозроблено за допомогою LERSUS

Соседние файлы в папке content