Главная
Регистрация
Вход
Пятница
19.04.2024
21:58
Приветствую Вас, Гость | RSS

Меню сайта

Друзья сайта

Категории раздела
1. Основы работы в среде C++ Builder.Основы языка Си++ [9]
2. Операторы ветвления и операторы передачи управления [4]
3. Операторы цикла и операторы передачи управления [5]
4. Одномерные массивы [3]
5. Многомерные массивы [3]
6. Указатели.Динамическое распределение памяти [6]
7. Отладка программы [3]
8. Функции [8]
9. Строки [5]
10. Функция Main [2]
11. Типы данных,определяемые пользователем [5]
12. Потоки ввода/вывода [7]
13. Основы объектно-ориентированного программирования [5]
Приложения [11]

Форма входа

Наш опрос
Оцените мой сайт
Всего ответов: 446

Пользователи

Онлайн всего: 1
Гостей: 1
Пользователей: 0

 Каталог статей 
Главная » Статьи » Лекции по C++ » 2. Операторы ветвления и операторы передачи управления

PDA-версия страницы

3. Операторы передачи управления

Оператор goto

Оператор безусловного перехода goto имеет формат:

goto metka;
 
В теле той же функции должна присутствовать ровно одна конструкция вида:

metka: оператор;

Оператор goto передает управление оператору с меткой metka. Метка –это обычный идентификатор. Оператор goto может передать управление на метку, обязательно расположенную в одном с ним теле функции.
Операторы if и goto могли бы заменить все операторы ветвления, передачи управления и цикла, но такой подход оказался не очень удобен. Применение goto может нарушить принципы структурного и модульного программирования, по которым все блоки, из которых состоит программа, должны иметь только один вход и один выход. Кроме того, операторы выбора и цикла выглядят более изящно и позволяют ускорить выполнение программы.
Использование оператора безусловного перехода оправдано в двух случаях:
-   принудительный выход вниз по тексту программы из нескольких вложенных циклов или переключателей;
-    переход из нескольких мест функции в одно (например, если перед выходом из функции необходимо всегда выполнять какие-либо одни и те же действия).
В остальных случаях для записи любого алгоритма существуют более подходящие средства, а использование goto приводит только к усложнению структуры программы и затруднению отладки. В любом случае не следует с помощью goto передавать управление внутрь операторов if, switch и циклов. Нельзя переходить внутрь блоков, содержащих инициализацию переменных, на операторы, расположенные после нее, поскольку в этом случае инициализация не будет выполнена:
int k; ...
 goto metka; ...
 {int a = 3. b = 4;
 k = a + b;
metka: int m = k + 1; ... }

После выполнения этого фрагмента программы значение переменной m не определено.

Оператор break

Оператор прерывает выполнение оператора switch. Управление передается следующему за ним оператору. Об этом было уже сказано выше. Здесь следует лишь подчеркнуть, что break относится к операторам передачи управления.

Тестирование программ

Тестирование выполняется после отладки программы и заключается в проверке правильности ее функционирования при всех вариантах исходных данных, значений переменных, условий и т.п. Это означает, что нужно проверить проход программы по всем «путям» блок-схемы. Сколько путей – столько раз нужно выполнить программу с разными значениями переменных. Следует также проверять какие значения нельзя присваивать переменным в ходе выполнения программы по причине их несоответствия типу переменных или недопустимости этого значения в каком-либо выражении программы (например, нулевое значение переменной может вызвать ошибку деления на 0).
Результат тестирования – примеры выполнения программы при разных исходных данных и инструкция пользователя, запрещающая вводить неверные исходные данные (например, вместо цифр буквы или цифры, но не те, что надо). В инструкции следует пояснить, почему вводится то или иное запрещение, рекомендация или требование.

Категория: 2. Операторы ветвления и операторы передачи управления | Добавил: Admin (10.09.2011)
Просмотров: 9132 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]

Помочь сайту!
рублей WMR
WebMoney на кошелек R407507742179

Партнёры сайта

Закладки

Поиск по сайту

Copyright H-L-L.RU © 2024
Сделать бесплатный сайт с uCoz