گاهی وضعیتی بوجود میآید که مجبور هستیم یک بلوک کد را چندین بار اجرا کنیم. در حالت کلی، دستورات به ترتیب اجرا میشوند: دستور اول در یک تابع پیش از بقیه دستورات اجرا میشود، سپس دستور دوم و الی آخر.
زبانهای برنامهنویسی ساختارهای کنترلی برای ما فراهم آوردهاند تا مسیرهای اجرایی پیچیدهتری را پدید بیاوریم.
دستورات حلقه، به ما امکان میدهند تا یک یا چند دستور را چندین بار اجرا کنیم. شکل عمومی دستور حلقه در بیشتر زبانهای برنامهنویسی به صورت زیر است.
زبان برنامه نویسی ++C حلقههای زیر را برای شرایط مقتضی گردآوری کرده است:
ردیف |
نوع حلقه و توضیح آن |
1 |
حلقه while یک یا چند دستور را، تا زمانی که شرط برقرار باشد تکرار میکند. این حلقه شرط را قبل از اجرای بدنه حلقه بررسی میکند. |
2 |
حلقه for یک سلسله از دستورات را به تعداد مشخص اجرا میکند. این ساختار قطعه کد مدیریت حلقه را خلاصه میکند. |
3 |
حلقه do…while شبیه به دستور while است، با این تفاوت که شرط در انتهای بدنه حلقه بررسی میشود. |
4 |
حلقههای تودرتو میتوان یک یا چند حلقه را درون یک حلقه دیگر مانند ‘while’ ، ‘for’ یا ‘do…while’ قرار داد. |
دستورات کنترل حلقه
دستورات کنترل حلقه زنجیره معمول اجرای برنامه را تغییر میدهد. وقتی که اجرای برنامه از یک دامنه (اسکوپ) خارج میشود، همه اشیا اتوماتیکی که در آن دامنه ساخته شده بود از بین میروند.
++C دستورات کنترلی زیر را پشتیبانی میکند.
ردیف |
دستور کنترلی و توصیف آن |
1 |
دستور break حلقه یا دستور switch را پایان داده و اجرای برنامه را به دستوری که فوراً بعد از حلقه یا switch میآید منتقل میکند. |
2 |
دستور continue سبب میشود که حلقه مابقی بدنه خود را رها کرده و مجدداً شرط را برای اجراهای بعدی بدنه بررسی کند. |
3 |
دستور goto کنترل اجرای برنامه را به یک خط برچسبدار منتقل میکند. هرچند استفاده از آن در برنامه اصلاً توصیه نمیشود. |
حلقه بی نهایت
اگر شرط حلقه هیچگاه false نشود، آن حلقه به حلقه بینهایت تبدیل میشود. به صورت سنتی از حلقه for برای این منظور استفاده شده است. از آنجایی که هیچکدام از سه عبارت حلقه for اجباری نیستند، با خالی نگه داشتن این عبارات میتوان یک حلقه بی پایان ایجاد کرد.
#include <iostream> using namespace std; int main () { for( ; ; ) { printf("This loop will run forever.\n"); } return 0; }
زمانی که عبارت شرطی خالی باشد، فرض بر true بودن آن لحاظ میشود. میتوانید یک عبارت آغازین و عبارت افزاینده داشته باشید، اما برنامهنویسان ++C معمولاً برای ساختن یک حلقه بینهایت از «(;;) for» استفاده میکنند.
نکته: میتوان اجرای یک حلقه بینهایت را با فشردن کلیدهای Ctrl+C متوقف کرد.
منبع: ترجمه از سایت tutorialspoint.com
در جلسه بعدی آموش برنامه نویسی ++C با ما همراه باشید. همچنین اگر علاقمند بودید آموزش حلقه ها در پایتون – حلقههای for و While را هم مطالعه و مقایسه کنید.
اگر این نوشته برایتان مفید بود لطفا کامنت بنویسید.