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

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

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

Завершується виконання функції і повертає елемент керування для викликає функції (або до операційної системи якщо елемент управління перемикання з main функція). Виконання поновлюється і викликає функції на кроці відразу після виклику expression пропозицію, якщо він є, перетвориться до типу, зазначеному в оголошенні функції, якщо ініціалізація виконувалася. Перетворення з типу виразу до return… Читати ще >

Обґрунтуйте застосування оператора безумовного переходу goto (реферат, курсова, диплом, контрольна)

Виписка перехід безумовно переміщує елемент управління в інструкцію з міткою заданих ідентифікатором.

goto identifier;

Оператор з ідентифікатором має identifier повинен знаходитися в поточної функції. Всі імена членів identifier внутрішнього простору імен і тому не перетинаються з іншими ідентифікаторами.

Мітка виписки значима тільки в інструкцію перехід; в іншому випадку мітки виписки ігноруються. Повторне оголошення мітки не можна [1].

Добре программіруючи стиль для використання break, continue і виписок виписки return замість перехід, коли це можливо. Однак оскільки виписка break виявляться тільки з одного рівня циклу, можна використовувати оператора перехід, щоб відключити глибоко вкладений цикл [15].

Приклад:

У цьому прикладі, управління переносів виписки перехід до моменту, коли мітка stop дорівнює 3. i.

// goto_statement.cpp.

#include.

int main ().

{.

int i, j;

for (i = 0; i < 10; i++).

{.

printf_s («Outer loop executing. i = %d «, i);

for (j = 0; j < 2; j++).

{.

printf_s («Inner loop executing. j = %d «, j);

if (i == 3).

goto stop;

}.

}.

// This message does not print:

printf_s («Loop exited. i = %d «, i);

stop:

printf_s («Jumped to stop. i = %d «, i);

}.

Виконання зовнішнього циклу. i = 0.

Виконання внутрішнього циклу. 0 = j.

Виконання внутрішнього циклу. 1 = j.

Виконання зовнішнього циклу. i = 1.

Виконання внутрішнього циклу. 0 = j.

Виконання внутрішнього циклу. 1 = j.

Виконання зовнішнього циклу. i = 2.

Виконання внутрішнього циклу. 0 = j.

Виконання внутрішнього циклу. 1 = j.

Виконання зовнішнього циклу. i = 3.

Виконання внутрішнього циклу. 0 = j.

Перестрибнути для зупинки. i = 3.

Завершується виконання функції і повертає елемент керування для викликає функції (або до операційної системи якщо елемент управління перемикання з main функція). Виконання поновлюється і викликає функції на кроці відразу після виклику expression пропозицію, якщо він є, перетвориться до типу, зазначеному в оголошенні функції, якщо ініціалізація виконувалася. Перетворення з типу виразу до return тип функції може створити тимчасові об'єкти. Додаткові відомості про те, як і коли temporaries створюються див тимчасові об'єкти.

Значення expression пропозицію повертається викликає функції. Якщо вираз не вказано, то повертається значення функції не визначено. Конструктори і деструктори і функції типу void" неможливо вказати вираження в return виписка. Функції всіх інших типів необхідно вказати вираз у return виписка.

Коли потік покидає блок елемента управління, що включає визначення функції, результат збігається з результатом, якщо він був би a return оператор не має вираження виконана. Це неприпустимо для функцій, які оголошені як повернення значення [1].

Функція може мати будь-яку кількість return виписки.

У наступному прикладі використовується вираз with a return виписка для отримання найбільшого 2 цілих чисел.

Приклад:

#include.

int max (int a, int b).

{.

return (a > b? a: b);

}.

int main ().

{.

int nOne = 5;

int nTwo = 7;

printf_s («%d is bigger «, max (nOne, nTwo));

}.

У операторі switch оператор break змушує програму виконати оператор, наступний за оператором switch. Без виписки break буде виконана кожна виписка з, відповідні мітки case в кінець виписки switch, включаючи пропозицію default.

У циклі, виписка break завершити виконання тісно зовнішньої do, for або while виписки. Елемент управління передається оператору, який слідує за завершальним оператором, якщо такий є.

Всередині, який вкладені виписки, виписка break для виконання лише значення do, for, switch або безпосередньо виписка while, щоб встановити її. Можна використовувати виписка return або перехід для передачі елемента з глибоко вкладених структур [9].

У наступному прикладі показано використання виписки break у циклі for.

Приклад:

// break_statement.cpp.

#include.

int main ().

{.

int i;

for (i = 1; i < 10; i++).

{.

printf_s («%d «, i);

if (i == 4).

break;

}.

} // Loop exits after printing 1 through 4.

Забезпечує передачу елемента управління на управління висловом найменший укладати do" для або поки цикл.

Не виконуються усі інші виписки у поточній ітерації. У наступній ітерації циклу визначається наступним чином:

  • -у вираженні do OR while цикл, у наступній ітерації з переоцінкою управління выраження do OR while виписка;
  • -у вираженні for цикл (з використаням синтаксиса for (init-expr; cond-expr; loop-expr))" loop-expr пропозиція виповнюється. І в залежності від результату завершення циклу або другої ітерації [15].

У наступному прикладі демонструється continue виписка ії можна використовувати для обходу розділу Коли і початку наступної інтеграції циклу.

Приклад:

// continue_statement.cpp.

#include.

int main ().

{.

int i = 0;

do.

{.

i++;

printf_s («before the continue «);

continue;

printf («after the continue, should never print «);

}.

while (i < 3);

printf_s («after the do loop «);

}.

перш ніж продовжити перш ніж продовжити перш ніж продовжити після закріпити циклу Реалізація програми за допомогою блок-схеми знаходиться у додатку В.

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