Оператори сиклии while хело содда аст. Сохтори ин оператор чунин аст:

while(condition) 
оператор;

Дар рафти кори барнома, ҳангоми навбат ба while расидан:

1) барнома ба санҷидани қисми condition мегузарад. Дар қисми condition ягон ифодаи мантиқӣ меистад;

2) ҳангоми FALSE будани қимати қисми condition иҷрои оператори while қатъ мегардад ва барнома ба иҷрои қисми баъди оператори while шурӯъ мекунад. Ҳангоми TRUE будани қимати қисми condition барнома ба иҷрои қисми оператор оғоз мекунад. Қисми оператор - тани сикл низ номида мешавад (body);

3) баъди иҷрои қисми оператор барнома боз ба пункти 2) мегузарад.

Тасвири сохтори идоракунандаи while:

Мисоли истифодаи оператори while:

//namuna10.cpp 
using namespace std;
#include <iostream>
int main()
{
int n=1;
while(n<=10)
{
cout<<"Kadami "<<n<<"-um."<<endl;
n++;
}
return 0;
}

Мисоли истифодаи оператори while:

//namuna11.cpp 
using namespace std;
#include <iostream>
int main()
{
char t='y';
float x,y;
while(t=='y')
{
cout<<"Adadi yakum: ";
cin>>x;
cout<<"Adadi duyum: ";
cin>>y;
cout<<x<<"+"<<y<<"="<<x+y;
cout<<x<<"-"<<y<<"="<<x-y;
cout<<x<<"*"<<y<<"="<x*y;
cout<<x<<"/"<<y<<"="<<x/y;
cout<<"Boz hisob kardan mekhohed?(y - ha, n - ne) ";
cin>>t;
cin.ignore();
}
cout<<"Rahmat baroi istifodai hisobkunaki mo."<<endl;
return 0;
}

САВОЛҲО БАРОИ МУСТАҲКАМКУНӢ
1. Оператори сиклии while аз for чӣ фарқ дорад?
2. Фаҳмонед, ки операторҳои n++ ва ++n аз ҳамдигар чӣ фарқ доранд?
3. Мисолеро дар тартиб диҳед, ки дар он сохтори идоракунандаи while бо амали мантиқии OR истифода шуда бошад.
4. Мисолеро дар тартиб диҳед, ки дар он сохтори идоракунандаи while бо амали мантиқии AND истифода шуда бошад.