زبان برنامه نویسی سی/دستور continue: تفاوت میان نسخه‌ها

محتوای حذف‌شده محتوای افزوده‌شده
جزبدون خلاصۀ ویرایش
جزبدون خلاصۀ ویرایش
خط ۵:
دستور '''continue''' که با یک سمی کالُن « ; » ( نقطه ویرگول ) پایان می‌یابد و تنها به صورت « ;continue » نوشته می‌شود که به پارسی می‌شود « ادامه بده » در زبان C این معنا و کاربرد را دارد که اجرای حلقه را یک بار از قلم میاندازد و اجرای حلقه را ادامه می‌دهد . بنابراین دستور continue فقط داخل حلقه‌ها قابل استفاده است و البته فقط داخل حلقه خود عمل می‌کند ؛ یعنی اگر ۳ حلقه تو در تو تعریف کنید و در سومین حلقه که داخلی‌ترین حلقه می‌باشد از دستور continue استفاده کنید فقط بر روی همان حلقه ، یعنی حلقه سوم و داخلی‌ترین حلقه ، عمل می‌کند
 
در حلقه‌های while و do while دستور continue از جایی که نوشته شده تا انتهای حلقه را نادیده می‌گیرد شرط while را ( جه در حلقه while و چه در حلقه do while ) بررسی می‌کند که اگر همچنان شرط حلقه برقرار بود ، اجرا و تکرار حلقه را ادامه می‌دهد و اگر نه ، حلقه شکسته می‌شود . در حلقه for با دستور continue یک بار عبارت تغییر دهنده اجرا می‌شود و سپس عبارت شرطی حلقه بررسی می‌شود و اگر صدق کرد اجرای حلقه ادامه یافته و تکرار می‌شود و اگر نه حلقه for ما متوقف خواهد شد . '''دقت کنید :'''ولی اگر در حلقه‌های while و do while عبارت شرطی شما وابسته به متغیر یا متغیرهایی باشد و در داخل حلقه تغییراتی را بر روی متغیر ایجاد کنید ( که متداول‌ترین روش در استفاده از حلقه است ) ، آن تغییر یا تغییرات به عنوان مرحله در نظر گرفته می‌شوند و دستور continue عبارتی را که متغیر شرط ، تغییر کرده به اجرا می‌گذارد ( مرحله را یک بار دیگر تکرار می‌کند و حلقه را به اجرا می‌گذارد ) و سپس حلقه را متوقف می‌کند . در حلقه for با دستور continue یک بار عبارت تغییر دهنده اجرا می‌شود و سپس عبارت شرطی حلقه بررسی می‌شود و اگر صدق کرد اجرای حلقه ادامه یافته و تکرار می‌شود و اگر نه حلقه for ما متوقف خواهد شد
 
دقت کنید که شما می‌توانید با دستورهای if ( دستور if و else if و else ) دستور continue را شرطی کنید تا در صورتی که شرط یا شرط‌هایی برقرار بودند حلقه نادیده گرفته شود و ادامه کدهایی که داخل حلقه نوشته شده‌اند از قلم بیافتند و حلقه ادامه پیدا کند که این متداول‌ترین روش استفاده از دستور continue می‌باشد . بنابراین به جای استفاده از دستور break ( که حلقه را می‌شکند ) و ایجاد حلقه‌های دیگر برای نوشتن برنامه خود می‌توانیم در زبان C و خانواده آن و بسیاری از زبان‌هایی که از C الگو گرفته‌اند داخل حلقه خود با دستور continue در صورتی که شرط یا شرط‌هایی برقرار بودند از اجرای حلقه جلوگیری کنیم و حلقه از جایی که continue را نوشته‌ایم تا انتهای حلقه را نادیده بگیرد . پس در واقع ، ما با دستور continue استثناء یا استثناء‌هایی را برای حلقه خود ایجاد می‌کنیم
خط ۳۱:
{{پایان چپ‌چین}}
 
در مثال بالا اعداد فرد ، اسثناء شده‌اند تا در خروجی خط‌دستوری چاپ نشوند . در فایل برنامه خود ابتدا با دستور مستقیم include فایل سرآیند stdio را ضمیمه برنامه نموده‌ایم . تابع اصلی برنامه را یعنی main که کنترل تمام برنامه را بر عهده دارد را نوشته‌ایم ( که البته تنها تابع برنامه ماست ) و داخل تابع main یک متغیر از نوع صحیح با مقدار 0 تعریف کرده‌ایم ( که البته محلی است اما در تمام تابع قابل دسترسی می‌باشد ) یک حلقه for ایجاد کرده‌ایم که از 0 تا 10 می‌شمارد و بدنه خود را اجرا و تکرار می‌کند اما داخل حلقه با دستور شرطی if نوشته‌ایم اگر باقی‌مانده تقسیم عدد ذخیره‌شده در i بر 2 مساوی با 0 نبود ( که یعنی یک عدد فرد است ) بقیه حلقه نادیده گرفته شود و در غیر این صورت در خروجی خط‌دستوری مقدار متغیر i چاپ شود و خط شکسته شود که از 0 شروع کرده‌ایم و چون تقسیم بر 2 باقی‌مانده‌ای ندارد حلقه اجرا می‌شود و یکی یکی به مقدار iآن اضافهچاپ می‌شود (و کهخط اگرشکسته شرط برقرار نمی‌شد i یک واخد افزایش پیدا می‌کردشده و مرحلهسپس stepیکی یایکی همانبه عبارتمقدار تغییرi دهندهاضافه modifier-expression به اجرا گذاشته می‌شدمی‌شود ). اما اعدادی که فرد هستند با دستور continue از قلم میافتند و حلقه نادیده گرفته می‌شود و برنامه کامپایل شده اعداد 0 , 2 , 4 , 6 , 8 , 10 را در خروجی خط‌دستوری در خطوط جداگانه نمایش خواهد داد . بنابراین همان طور که گفتیم اعداد فرد را اسثثناء کردیم
 
مثال :