Оператор цикла с предусловием ( while)

Оператор цикла while называется циклом с предусловием.

Форма записи:

while (выражение) ТелоЦикла;

Выражение всегда заключено в скобки. В качестве выражения допускается использовать любое выражение языка С++, а в качестве тела любой оператор, в том числе пустой или составной. Схема выполнения оператора while следующая:

1. Вычисляется выражение.

2. Если выражение ложно, то выполнение оператора while заканчивается и выполняется следующий по порядку оператор. Если выражение истинно, то выполняется тело оператора while.

3. Процесс повторяется с пункта 1.

Если повторяемая часть оператора содержит более одного оператора, то повторяемая группа операторов должна быть заключена в фигурные скобки скобки, например:

while(условие)
{
оператор_1;
оператор_2;
....
оператор
}

Оператор цикла вида

for (выражение-1; выражение-2; выражение-3) тело;

может быть заменен оператором while следующим образом:

выражение-1; while (выражение-2) { тело выражение-3; }

Так же как и при выполнении оператора for, в операторе while вначале происходит проверка условия. Поэтому оператор while удобно использовать в ситуациях, когда тело оператора не всегда нужно выполнять.

Внутри операторов for и while можно использовать локальные переменные, которые должны быть объявлены с определением соответствующих типов.

Примеры:

1) Вычислить значение функции у=2*х+3 для х={0;3} с шагом h=0.5.

#include <stdio.h>

void main()

{

float x,y,h;

x=0;

h=0.5;

while ((x>=0)&&(x<=3))

{ y=2*x+3;

printf("x=%.3f y=%.3f\n",x,y);

x+=h;

}

}

2) Найти максимальное из N чисел.

#include<stdio.h>

#include<conio.h>

void main()

{

const N=10;

int I;

float A, MAX;

printf("Введите 1-ое из %d чисел\n",N);

scanf("%f",&A);

MAX=A;

I=2;

printf("Введите остальные числа\n",N);

while (I<=N)

{

scanf("%f",&A);

if (MAX<A) MAX=A;

I++;

}

printf("MAX= %f",MAX);

getch();

}

Структуры со вложенными друг в друга операторами повторения называются вложенными циклами.

Следующая программа простая, хотя и содержит вложенные циклы. Она выводит на экран заполненный символом * треугольник, высота которого равна N.
Во внешнем цикле устанавливается очередная строка вывода (параметр i), а во внутреннем (параметр j) в очередную строку вводится ровно i символов " * " Вызов функции printf("\n") обеспечивает в нужный момент переход на новую строку.

#include <stdio.h>
voidmain()

{
int i,j,N;
printf("ВВЕДИ N \n");
scanf("%d",&N);
i=1;
while(i <=N)
{j=1;
while(j <=i)
{printf("%c",'*');
j=j+1;
}

i=i+1;
printf("\n");
}
}


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: