Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб_практикум_ч1_2007.DOC
Скачиваний:
15
Добавлен:
10.11.2019
Размер:
379.9 Кб
Скачать

Вложенные циклы

Когда один цикл находится внутри другого, то говорят, что это вло­женные циклы. Часто встречаются вложенные циклы, например, при за­полнении таблиц. В качестве примера рассмотрим программу печати таб­лицы умножения целых чисел.

Пример:

#include <stdio.h>

#include <conio.h>

main()

{

int i,j;

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

{ for (j=1;j<5;j++)

printf("%d*%d=%d \n ",i,j,i*j);

getch(); }

getch(); }

Использование оператора break в циклах

Оператор break имеет два применения. Первое - окончание саsе в опе­раторе switch. Второе применение - немедленное окончание цикла, не связанное с про­веркой обычного условия окончания цикла. Когда оператор break встреча­ется внутри оператора цикла, то происходит немедленный выход из цикла и переход к выполнению оператора, следующего за оператором цикла.

Пример:

main()

{

int i;

for (i=0;i<1000;i++)

{ printf("%d %d\n ",i,i*i*i);

if (i*i*i>=1000) break;

}…

Оператор continue

Если оператор continue встретился в операторе цикла, то он передает управление па начало следующей итерации цикла. В циклах while и do while - на проверку усло­вия, в цикле for- на приращение. Этот оператор необходим, если вы хотите закончить текущую итерацию цикла и не выполнять оставшиеся операторы, а сразу перейти к следующей итерации цикла. Например, его можно использо­вать в программе, печатающей натуральные числа кратные семи.

Пример:

int i;

for (i=1;i<1000;i++)

{ if (i%7) continue;

printf("%d \n ",i); }

Оператор goto

Язык С обладает всеми возможностями для написания хорошо струк­турированных программ. Сторонники структурного программирования счи­тают дурным тоном использование оператора goto. Тем не менее, оператор goto в языке С есть и иногда он может быть полезен. С использованием оператора goto тесно связано понятие метки (label).

Метка - это идентификатор, за которым следует двоеточие. Метка должна находить­ся в той же функции, что и оператор goto. Одно из полезных применений оператора goto - это выход из вложенных циклов.

Пример:

for () {

while () {

goto m;

} }

m: printf(”Выход из вложенных циклов”);

Оператор return

Оператор return завершает выполнение функции, в которой он задан, и возвращает управление в вызывающую функцию, в точку, непосредственно следующую за вызовом. Функция main передает управление операционной системе.

Формат оператора:

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

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

Если в какой-либо функции отсутствует оператор return, то передача управления в вызывающую функцию происходит после выполнения последнего оператора вызываемой функции. При этом возвращаемое значение не определено. Если функция не должна иметь возвращаемого значения, то ее нужно объявлять с типом void. Таким образом, использование оператора return необходимо либо для немедленного выхода из функции, либо для передачи возвращаемого значения.

Пример:

int sum (int a, int b)

{

renurn (a+b);

}

В данном фрагменте программы реализована функция с именем sum, которая имеет два формальных параметра a и b типа int, и возвращает значение типа int, о чем говорит описатель, стоящий перед именем функции. Возвращаемое оператором return значение равно сумме фактических параметров.