آمار سایت

آمار سایت


آمار سایت آمار سایت
» افراد آنلاین: 2
» بازدید امروز: 58
» بازدید دیروز: 700
» بازدید هفته: 758
» بازدید ماه: 13610
» بازدید سال: 122230
» بازدید کل: 421928


27 آذر 19:44آموزشی / آموزش برنامه نویسی | بازدید: 465

خارج شدن از یک حلقه نامحدود در زبان برنامه نویسی C

خارج شدن از یک حلقه نامحدود در زبان برنامه نویسی C


a class=
وقتی که شروع به استفاده از حلقه ها در زبان برنامه نویسی C می کنید، لذت برنامه نویسی را تجربه می کنید و همچنین ترس از حلقه های بی پایان و نامحدود. این حلقه ها تا ابد ادامه پیدا می کنند برای اینکه برنامه نویس آن فراموش کرده است که راه خروجی برای حلقه بگذارد یا هنوز برنامه با شرط خروجی روبرو نشده است. در هر دو صورت حلقه بی پایان یک مشکل است.

بعضی اوقات یک زبان برنامه نویسی C شامل یک حلقه نامحدود به عمد است. این نوع الگو شاید عجیب به نظر بیاید ولی مبنای بسیاری از برنامه های مدرن است که برای چیزی یا گرفتن ورودی خاصی انتظار می کشند. به یک حلقه از این دست حلقه ها نگاه کنید :





for(;;)
}
 
{


دقت کنید که شرایط داخل پرانتزها بعد از کلیدواژه جا مانده اند که مشکلی ندارد. نتیجه یک حلقه نامحدود است که در آن دستورات بارها تکرار می شوند. یکی بعد از دیگری. اینجور برنامه ها دنبال کاری در جایی هستند و وقتی آن کار را انجام دهند، پایان می یابند. بیشتر اوقات، برنامه منتظر می ماند تا اتفاق خاصی رخ دهد. (برای مثال یک پردازنده کلمه مانند MS Word ممکن است هزاران حلقه از این نوع را وقتی منتظر است شما چیزی را تایپ کنید، انجام دهد)

این سورس کد را روی دیسک ذخیره کنید و آنرا کامپایل و اجرا کنید :


#include <stdio.h>
int main()
}
char ch;
 puts("Barname Type Kardan");
 puts("Chizi Type Konid:");
for(;;)
}
ch=getchar();
{
return(0);
{

خب حالا می توانید تایپ کنید و متن خود را روی صفحه نمایش ببینید. ولی چگونه آنرا متوقف کنید؟
برای متوقف کردن، باید که یک حلقه بی پایان را بشکنید. البته این کار را با فشردن Ctrl+C هم می توانید انجام دهید. ولی این شیوه ای نیست که شما دوست دارید برنامه کار کند. بجای آن، یک شرط خروجی می بایستی که برای حلقه تعریف شود. شرطی که حلقه را تمام کند.

برنامه نویسان زبان برنامه نویسی سی می دانند که یک حلقه می بایستی که بر اساس شرایطی که قابل پیشبینی نیست و در درون دستورات است نیز شکسته شوند. در نتیجه خردمندی آنها، آنها را به سمت کلیدواژه break هدایت می کند.

چیزی که break انجام می دهد این است که سریعا از یک حلقه خارج می شود (هر حلقه زبان C و نه فقط حلقه for) وقتی کامپیوتر break را می بیند، فرض می کند که حلقه تمام شده است و آنرا جوری می بیند که انگار به شرط خروج از حلقه رسیده است :

incloud<stdio.h>
int main()
}
char ch;
"puts("barname type kardan);
puts("chizi type konid;'~' ra baraye khoroj bezanid");
for(;;)
}
ch=getchar();
if(char='~')
}
breake;
{
{
return(0);
{


حالا یک شرط خروج نیز تعریف شده است. مقایسه if در این کد چک می کند که آیا کاراکتر ~ وارد شده است یا نه. اگر وارد شده باشد، حلقه توسط break تمام می شود. حالا این یکی سورس کد C را ذخیره، کامپایل و اجرا کنید. حالا در مقایسه با کد قبلی می توانید با فشردن کلید ~ برنامه را تمام کنید.
افزودن نظر
Name:
E-Mail Address:
پررنگ کج خط دار خط دار در وسط | سمت چپ وسط سمت راست | قرار دادن شکلک | قرار دادن شکلک انتخاب رنگ | پنهان کردن متن قراردادن نقل قول تبدیل نوشته ها به زبان روسی قراردادن Spoiler
Code:
عکس خوانده نمی شود
Enter Code:
پنل کاربری
آخرین نظرات
  • 75
    admin
    75/89

    MBG Installer 6 - final...
    نقل قول: مصرح
    سلام
    من نتونستم نرم افزار را روی ویندوز 8 اجرا کنم
    برای کپی کردن فایلهای نصب در programfiles وwindows مشکل داره
    ممنون میشم بهم خبرش را بدید

    البته ورژن 4 خوب کار میکرد
    اما این ورژن نصب نشد
    (ویندوز بنده 64بیتی است. ممکنه اشکال از سیستم بنده باشه)

    سلام
    نرم افزار نصاب را Run as administrator اجرا کنید
    2017-01-06 02:36:32

  • 0
    مصرح

    MBG Installer 6 - final...
    سلام
    من نتونستم نرم افزار را روی ویندوز 8 اجرا کنم
    برای کپی کردن فایلهای نصب در programfiles وwindows مشکل داره
    ممنون میشم بهم خبرش را بدید

    البته ورژن 4 خوب کار میکرد
    اما این ورژن نصب نشد
    (ویندوز بنده 64بیتی است. ممکنه اشکال از سیستم بنده باشه)
    2016-12-22 16:44:47

  • 0
    ahmad

    دانلود ترینر بازی Devil...
    سلام من ترینرو دانلود کردم اما وقتی میرم تو بازی و یکی از دکمه هارو میزنم ارور میده و از بازی خترج میشه...لطفا اگه کسی میدونه که باید چیکار کنم بهم بگه ممنون میشم sad
    2016-12-22 14:53:07

برترین ها
تلگرام مدیر کلوب ابزار
از طریق تلگرام در ارتباط باشید
Click G+1

Google+