Опубликован: 10.12.2015 | Уровень: для всех | Доступ: платный
Лекция 4:

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

< Лекция 3 || Лекция 4 || Лекция 5 >

Операторы цикла задают многократное исполнение операторов тела цикла. Выделяют три оператора цикла: цикл с предусловием, цикл с постусловием и итерационный цикл. Первые два цикла отличаются от итерационного цикла тем, что заранее не известно количество выполняемых внутри тела цикла действий. Поэтому, анализ разработанных программ говорит о том, что примерно в восьмидесяти случаев программисты предпочитают использовать цикл for (или итерационный цикл). Рассмотрим описанные выше циклы поподробнее.

Оператор while

Синтаксис его следующий.

while (тестовое выражение)
{
	оператор_1;
	оператор_2;
	……………
	оператор_n;
}

Программа вычисляет тестовое выражение до начала выполнения тела цикла. Если его значение истинно, то выполняются операторы, составляющие тело цикла. Затем вычисление тестового выражения и операторов тела цикла повторяется последовательно, пока значение тестового выражения не станет ложным (если этого не произойдет, имеет место так называемый бесконечный цикл).

Оператором while удобно пользоваться для просмотра всевозможных последовательностей, если в конце каждой из них находится заранее известный признак. Например, по определению, строка есть последовательность символов типа char, в конце которой находится нулевой символ (‘\0’). Следующая программа будет печатать фразу по букве в каждой строке до тех пор, пока не встретится нулевой символ.

//==========================================================
// Name        : while_loop.cpp
// Author      : Marat
// Version     :
// Copyright   : Your copyright notice
// Description : Hello World in C++, Ansi-style
//==========================================================
#include <iostream>
using namespace std;

int main() {
	char name[]="Via est vita!";//Движение - жизнь!

	/*
	Цикл работает, пока не будет встречен символ конца строки
	*/
	int i=0;
	while (name[i]!='\0')
	{
	cout<<"\n"<<name[i];
	i++;
	}

	cout<<"\n"<<endl;
	return 0;
}

Результат:

V
i
a
 
e
s
t
 
v
i
t
a
!

В следующем примере рассчитываются сумма и сумма квадратов первых десяти натуральных чисел.

//==========================================================
// Name        : while_loop_1.cpp
// Author      : Marat
// Version     :
// Copyright   : Your copyright notice
// Description : Hello World in C++, Ansi-style
//==========================================================

#include <iostream>
using namespace std;

int main() {
	int i=0;
	int s=0;
	int s1=0;
	while (i<=10)
	{
	s+=i;
	s1+=i*i;
	i++;
	}

	cout<<"\nsum of first 10 numbers is "<<s;
	cout<<"\nsum of squares of first 10 numbers is "<<s1;
	cout<<"\n"<<endl;
	return 0;
}

Результат:

sum of first 10 numbers is 55
sum of squares of first 10 numbers is 385
< Лекция 3 || Лекция 4 || Лекция 5 >
Зося Ковалева
Зося Ковалева

Хочу получить удостоверение. Сколько стоит оплата?

Aleksey Aplaev
Aleksey Aplaev
Россия, Chelybinsk
Александр Сидоров
Александр Сидоров
Россия, Самара