ممکن است در طول برنامه شرایطی ایجاد شود که لازم باشد یک دستور را چندین بار اجرا کنید. به طور کلی دستورها پشت هم اجرا می شوند و اجرای دستورات از اولین دستور تابع آغاز می شود و سپس دوم، سوم و الی آخر.
زبان برنامه نویسی ساختارهای کنترلی مختلفی را فراهم می کند تا به کمک آن بتوان دستور های پیچیده را به راحتی اجرا کرد.
حلقه ها در برنامه نویسی به ما اجازه می دهند تا یک دستور و یا گروهی از آنها را چندین بار اجرا کنیم. فرم کلی یک حلقه به صورت زیر است:
زبان c++ انواع مختلفی از حلقه ها را برای تکرار دستورات شرطی ارائه می دهد:
ردیف | نوع حلقه و توضیحات |
---|---|
1 | حلقه while تا زمانی که شرط حلقه درست باشد یک یا چند دستور را تکرار می کند. شرط حلقه در ابتدای حلقه بررسی می شود. |
2 | حلقه for دستورات موجود در حلقه را تا زمانی که شرط حلقه true شود انجام می دهد. |
3 | حلقه do…while عملکرد آن همانند حلقه while است با این تفاوت که شرط حلقه در آخر بررسی می شود. |
4 | حلقه های تودرتو می توانید انواع حلقه ها را با هم ترکیب کنید و از آن ها استفاده کنید. فرقی نمی کند که حلقه از نوع while،for و یا do while باشد. |
یک دستور حلقه while تا زمانی که شرط داده شده درست باشد، دستوراتی را که مشخص شده است را به طور مکرر اجرا میکند.
نحوه نگارش یک حلقه while در C++ همانند زیر است:
while(condition) { statement(s); }
C++
Copy
در اینجا دستورات ممکن است یک جمله و یا مجموعه ای از دستورات باشد و شرط حلقه هر عبارتی می تواند باشد به شرط آن که true بودن آن هر مقداری غیر از صفر باشد. حلقه تا زمانی که شرط true باشد اجرا می شود.
زمانی که شرط حلقه false شود، برنامه به خط بعدی حلقه منتقل می شود.
نکته مهم و اصلی حلقه while این است که ممکن است حلقه هیچگاه اجرا نشود. زمانی که شرط حلقه بررسی می شود و نتیجه آن false باشد، دستورات درون حلقه نادیده گرفته شده و دستور بعد از حلقه اجرا می شود.
#includeusing namespace std; int main () { // Local variable declaration: int a = 10; // while loop execution while( a < 20 ) { cout << "value of a: " << a << endl; a++; } return 0; }
C++
Copy
پس از کامپایل و اجرای کد بالا نتیجه زیر نمایش داده می شود:
value of a: 10 value of a: 11 value of a: 12 value of a: 13 value of a: 14 value of a: 15 value of a: 16 value of a: 17 value of a: value of a: 19
دستور حلقه for یک دستور کنترل تکرار است که شما را قادر میسازد تا دستوراتی را که نیاز دارید چند بار اجرا شوند را به طور موثرتری بنویسید.
نحوه نگارش دستور حلقه for در C++ به صورت زیر است:
for ( init; condition; increment ) { statement(s); }
توضیح نگارش حلقه for در بالا به صورت زیر است:
جریان حلقه
مثال
#includeusing namespace std; int main () { // for loop execution for( int a = 10; a < 20; a = a + 1 ) { cout << "value of a: " << a << endl; } return 0; }
C++
Copy
پس از کامپایل و اجرای کد بالا نتیجه زیر نمایش داده می شود:
value of a: 10 value of a: 11 value of a: 12 value of a: 13 value of a: 14 value of a: 15 value of a: 16 value of a: 17 value of a: value of a: 19
برخلاف حلقه های for و while که ابتدا شرط حلقه را بررسی می کنند، دستور حلقه do. While شرط حلقه را در انتهای دستورات بررسی میکند.
حلقه do. while شبیه حلقه while است با این تفاوت که دستورات حلقه do. while حداقل یکبار اجرا می شوند.
نحوه نگارش دستورات do. While به شرح زیر است:
do { statement(s); } while( condition );
توجه داشته باشید که عبارت شرطی در انتهای حلقه ظاهر می شود، بنابراین دستورات در حلقه یکبار قبل از بررسی شرط اجرا می شود.
اگر شرط حلقه true باشد، جریان حلقه دوباره به دستور do منتقل می شود و این فرایند تا زمانی که شرط حلقه false شود ادامه دارد.
#includeusing namespace std; int main () { // Local variable declaration: int a = 10; // do loop execution do { cout << "value of a: " << a << endl; a = a + 1; } while( a < 20 ); return 0; }
C++
Copy
پس از کامپایل و اجرای کد بالا نتیجه زیر نمایش داده می شود:
value of a: 10 value of a: 11 value of a: 12 value of a: 13 value of a: 14 value of a: 15 value of a: 16 value of a: 17 value of a: value of a: 19
منظور از ایجاد حلقه های تودرتو این است که یک حلقه را می توان در حلقه دیگری قرار داد. در برنامه نویسی C++ می توان تا 265 سطح حلقه تو در تو ایجاد کرد.
نحوه نگارش حلقه تو در تو for در C++ به شکل زیر است:
for ( init; condition; increment ) { for ( init; condition; increment ) { statement(s); } statement(s); // you can put more statements. }
نحوه نگارش حلقه تو در تو while در C++ به شکل زیر است:
do { statement(s); // you can put more statements. do { statement(s); } while( condition ); } while( condition );
مثال
نمونه کد زیر از حلقه تو در تو for برای پیدا کردن اعداد اول بین 2 تا 100 استفاده می کند:
#includeusing namespace std; int main () { int i, j; for(i = 2; i<100; i++) { for(j = 2; j <= (i/j); j++) if(!(i%j)) break; // if factor found, not prime if(j > (i/j)) cout << i << " is prime\n"; } return 0; }
C++
Copy
نتیجه کد بالا به شکل زیر است:
2 is prime 3 is prime 5 is prime 7 is prime 11 is prime 13 is prime 17 is prime 19 is prime 23 is prime 29 is prime 31 is prime 37 is prime 41 is prime 43 is prime 47 is prime 53 is prime 59 is prime 61 is prime 67 is prime 71 is prime 73 is prime 79 is prime 83 is prime 89 is prime 97 is prime
دستورات کنترل حلقه مراحل اجرا را از حالت نرمال آن تغییر می دهد. وقتی اجرای یک حلقه به پایان می رسد، تمام اشیا و متغیرهایی که در آن محدوده ساخته شده بودند به طور خودکار از بین می روند.
دستورات کنترلی زیر در C++ پشتیبانی می شود:
ردیف | دستور کنترلی و توضیح آن |
---|---|
1 | دستور break دستور حلقه و یا switch را متوقف می کند و بلافاصله دستور بعد از آن را اجرا می کند. |
2 | دستور continue به حلقه می گوید که باقی دستورات را نادیده بگیرد و دستور بعدی حلقه را اجرا کند. |
3 | دستور goto کنترل اجرای برنامه را به بخش مشخص شده با label منتقل می کند و البته با این حال توصیه شده از این دستور در برنامه استفاده نشود. |
حلقه بی نهایت
اگر یک شرط هیچگاه نادرست (false) نشود، حلقه بی نهایت می شود. از آنجایی که هیچ کدام از سه عبارتی که برای حلقه for وجود دارد ضروری نیست، میتوانید یک حلقه بی نهایت را با خالی گذاشتن عبارت شرطی ایجاد کنید.
#includeusing namespace std; int main () { for( ; ; ) { printf("This loop will run forever.\n"); } return 0; }
C++
Copy
وقتی عبارات شرطی وجود نداشته باشند، تصور می شود که شرط درست است. برنامه نویسان C++ از دستور'for (;;)' برای ایجاد یک حلقه بی نهایت استفاده می کنند.
نکته: با استفاده از کلید ترکیبی Ctrl+ C می توانید حلقه بی نهایت را به پایان برسانید.
از اینکه سایت برنامه نویسان را انتخاب کردید متشکریم با تشکر از سایت ilikephp
آموزش برنامه نویسی قسمت چهاردهم
آموزش برنامه نویسی قسمت سیزدهم
آموزش برنامه نویسی قسمت دوازدهم
حلقه ,شرط ,دستور ,زمانی ,یک ,while ,می شود ,که شرط ,شرط حلقه ,زمانی که ,ممکن است
درباره این سایت