Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
konspekt_1_semestr.doc
Скачиваний:
12
Добавлен:
02.08.2019
Размер:
654.34 Кб
Скачать

Оператор continue

Работа оператора continue чем-то похожа на работу оператора break. Но вместо форсирования окончания цикла continue переходит к следующей итерации цикла, пропуская оставшийся код тела цикла. Например, следующая процедура выводит только положительные числа:

do {

scanf(“%d”, &x);

if(x<0) continue;

printf(“%d “, x);

} while(x!=100);

В циклах while и do/while оператор continue вызывает переход к проверке условия и затем продолжает работу цикла. В случае цикла for выполняется часть увеличения, затем проверяется условие и, наконец, выполняется само тело цикла.

Испоьзование операторов continue и break м.представить в виде рис:

Оператор return

Оператор возврата из функции return завершает выполнение функции и передает управление в точку ее вызова. Вид оператора:

return [ выражение ];

Выражение должно иметь скалярный тип. Если тип возвращаемого функцией значения описан как void. выражение должно отсутствовать.

Функция exit()

Функция exit(), находящаяся в стандартной библиотеке, вызывает немедленное окончание работы программы. Поскольку функция exit() останавливает выполнение программы и форсирует возврат в операционную систему, она используется для управления устройствами, и ее используют подавляющее большинство программ. Функция exit() имеет следующий вид:

void exit(int статус);

Она использует заголовочный файл stdlib.h. Значение статуса возвращается в операционную систему.

Для индикации корректности завершения работы exit() традиционно вызывается с аргументом 0. Другие аргументы используются для индикации различного рода ошибок. Можно также использовать предопределенные макросы EXIT_SUCCESS (успешное завершение) и EXIT_FAILURE (завершение с ошибками) в качестве значений для статуса.

exit() используется, когда условия выполнения программы неудовлетворительны.

В примере exit() используется для выхода из программы и возврата в операционную систему:

void main(void)

{

char ch;

printf(“1. Проверка орфографии\n”);

printf(“2. Корректировка ошибок орфографии\n”);

printf(“3. Вывод ошибок на экран\n”);

printf(“4. Выход из программы\n”);

printf(“Выбери режим: “);

do {

ch = getche(); /* чтение клавиатуры */

switch(ch) {

case ‘1’: … break;

case ‘2’:… break;

case ‘3’:… break;

case ‘4’:exit(0); /* возврат в ОС */

}

} while(ch!=’1’ && ch!=’2’ && ch!=’3’);

}

Оператор goto

Хотя оператор goto уже давно не рекомендуют использовать, он по-прежнему используется в программах., т.к. бывают моменты, когда goto не только не усложняет программу, но даже ее упрощает.

Синттаксис:

goto метка;

метка: опратор;

Оператор goto требует для своей работы наличие меток. Метка – это корректный идентификатор языка С, завершаемый двоеточием. Метка должна находиться в той же функции, что и goto. Например, цикл от 1 до 100 может быть записан с использованием goto и меток следующим образом:

x = 1;

loop1:

x++;

if(x < 100) goto loop1;

Одним из наиболее целесообразных способов использования оператора goto является выход из нескольких уровней вложения. Например:

for(...) {

for(...) {

while(…) {

if(...) goto stop;

.

.

.

}

}

}

stop:

printf(“Ошибка в программе\n”);

Уничтожение goto приведет к необходимости выполнения дополнительных проверок. Простой оператор break здесь не работает, поскольку он может обеспечить выход из самого внутреннего цикла.

Следует использовать оператор goto как можно реже. Но если без него код трудно читать или критична скорость работы программы, то использование goto может быть наилучшим выходом.

Тема 4. Язык программирования С/С++. Организация данных. Массивы и указатели.

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