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

Лекция. Операторы цикла.

Содержание лекции.

  1. Определение цикла.

  2. Оператор цикла while.

  3. Оператор do while

  4. Оператор break

  5. Оператор continue.

  6. Вопросы для самопроверки.

1. Определение цикла.

Последовательность инструкций, предназначенная для многократного исполнения, назы-вается телом цикла. Единичное выполнение тела цикла называется итерацией. Выражение определяющее, будет в очередной раз выполняться итерация, или цикл завершится, называ-ется условием выхода или условием окончания цикла (либо условием продолжения в зави-симости от того, как интерпретируется его истинность — как признак необходимости завер-шения или продолжения цикла). Переменная, хранящая текущий номер итерации, называется счётчиком итераций цикла или просто счётчиком цикла. Цикл не обязательно содержит счёт-чик, счётчик не обязан быть один — условие выхода из цикла может зависеть от нескольких изменяемых в цикле переменных, а может определяться внешними условиями (например, наступлением определённого времени), в последнем случае счётчик может вообще не понадобиться.

Исполнение любого цикла включает первоначальную инициализацию переменных цикла, проверку условия выхода, исполнение тела цикла и обновление переменной цикла на каждой итерации. Кроме того, большинство языков программирования предоставляют средства для досрочного управления циклом, например, операторы завершения цикла, то есть выхода из цикла независимо от истинности условия выхода (в языке Си — break) и операторы пропуска итерации (в языке Си — continue).

            1. Оператор цикла while.

Оператор цикла while называется циклом с предусловием и имеет следующий формат: while (выражение) тело ; В качестве выражения допускается использовать любое выражение языка Си, а в качестве тела любой оператор, в том числе пустой или составной. Схема выполнения оператора while следующая: 1. Вычисляется выражение. 2. Если выражение ложно, то выполнение оператора while заканчивается и выполняется следующий по порядку оператор. Если выражение истинно, то выполняется тело оператора while. 3. Процесс повторяется с пункта 1. Оператор цикла вида for (выражение-1; выражение-2; выражение-3) тело ; может быть заменен оператором while следующим образом: выражение-1; while (выражение-2) {  тело выражение-3; } Так же как и при выполнении оператора for, в операторе while вначале происходит проверка условия. Поэтому оператор while удобно использовать в ситуациях, когда тело оператора не всегда нужно выполнять. Внутри операторов for и while можно использовать локальные переменные, которые должны быть объявлены с определением соответствующих типов.

Схема цикла с предусловием.

//Написать программу вычисления суммы ряда S= 1+1/2+1/4+1/6+1/8+

#include <stdio.h>

#include <stdlib.h>

main ()

{

int k;

float a,s,eps=0.001;

a=1.0;

k=2;

s=1;

while (a>eps) {

a=1.0/k;

s+=a;

k+=2;

printf("a= %f s= %f \n",a,s);}

system("pause");

return 0;

            1. Оператор do while

Оператор цикла do while называется оператором цикла с постусловием и используется в тех случаях, когда необходимо выполнить тело цикла хотя бы один раз. Формат оператора имеет следующий вид: do тело while (выражение); Схема выполнения оператора do while : 1. Выполняется тело цикла (которое может быть составным оператором). 2. Вычисляется выражение. 3. Если выражение ложно, то выполнение оператора do while заканчивается и выполняется следующий по порядку оператор. Если выражение истинно, то выполнение оператора продолжается с пункта 1. Чтобы прервать выполнение цикла до того, как условие станет ложным, можно использовать оператор break. Операторы while и do while могут быть вложенными. Пример: int i,j,k; ... i=0;  j=0;  k=0; do { i++; j--; while (a[k] < i)  k++; }

while (i<30 && j<-30);

Схема цикла с постусловием.

//Написать программу суммы ряда S= 1+1/2!+1/4!+1/6!+1/8!+

//с помощью do while

#include <stdio.h>

#include <stdlib.h>

main ()

{

int k;

float a,s,eps=0.001;

a=1.0;

k=1;

s=1;

do {

a= a/k/(k+1);

s+=a;

k+=2;

printf("a= %f s= %f \n",a,s);}

while(a>eps);

system("pause");

return 0;

}

                1. Оператор break

Оператор break дает возможность выйти из операторов цикла for, while, do/while,

а также из переключателя switch без проверки условия. Оператор break приводит к

немедленному выходу из самого внутреннего охватывающего его цикла или из

переключателя.

Оператор break может использоваться для выхода из цикла в тех случаях, когда

заданы два разных условия прекращения его работы.

//Написать программу c выходом из цикла

//с помощью break

#include <stdio.h>

#include <stdlib.h>

main ()

{

int x=1,y,z;

printf("Вычислим значение функции y= 2*x+z\n");

printf("Ввести значение z\n");

scanf("%i",&z);

while(x<1000) {

y=2*x+z;x++; if (y=100) printf("y=100\n");

break;}

if (y=100) printf("Цикл закончен\n");

else printf("Цикл закончен ! но Y<>100");

system("pause");

return 0;

}

5. Оператор continue.

Оператор continue служит для передачи управления в конец цикла. Действие

Цикла не прекращается а продолжается выполнения операторов.

  1. Вопросы для самопроверки.

  1. Определение цикла.

  2. Цикл с предусловием.

  3. Цикл с постусловием.

  4. Оператор break.

  5. Оператор continue.

Соседние файлы в папке Л№8.Оператор цикла.АрхПВМ