حلقه for:
در حالت عادی دستورالعمل های برنامه ه به ترتیب یک بار اجرا میشوند و برنامه خاتمه می یابد. اما در برخی موارد تعدادی از دستورات باید بیش از یک بار اجرا شوند. برای تکرار اجرای دستورالعمل ها از ساختارهای تکرار استفاده میشوند.همچنین در برخی موارد برنامه با توجه به شرایط خاصی مسیر های متفاوتی خواهد داشت.یعنی اجرای تعدادی از دستورالعمل های برنامه وابسته به شرایط مختلف متفاوت خواهد بود.برای بررسی این شرایط و انتخاب دستورالعمل های مناسب از ساختارهای تصمیم استفاده میشود.
ساختار تکرار for:
در این ساختار برای تکرار اجرای دستورات حلقه ای ایجاد میشود و یک یا چند دستور در داخل حلقه قرار میگیرند.معمولا در مواردی که تعداد تکرار حلقه مشخص باشد از for استفاده میشود. در این ساختار از متغیری برای کنترل تعداد حلقه استفاده میشود که آن را شمارنده یا اندیس حلقه تکرار مینامیم.اندیس حلقه دارای یک مقدار اولیه است و در هر بار تکرار حلقه (اجرای دستورات حلقه) مقداری به آن اضافه میشود. این مقدار را پس از هر بار اجرای دستورات حلقه به اندیس حلقه افزوده میشود گام حرکت می گوییم.گام حرکت میتواند عددی صحیح و اعشاری , مثبت یا منفی و کاراکتری باشد.
همچنین هر حلقه دارای شرطی است که تعیین میکند حلقه تا چه زمانی باید ادامه داشته باشد که به آن شرط حلقه می گوییم.اگر شرط حلقه دارای ارزش درست باشد حلقه تکرار میشود , اما اگر ارزش شرط حلقه نادرست باشد حلقه به پایان خواهد رسید.
نکته۱:اگر حلقه فقط یک دستور داشته باشد نیازی به } و { نمی باشد.نکته۲: ( ; ; )for برای ایجاد حلقه بی نهایت مورد استفاده قرار میگیرد. حلقه بی نهایت فاقد شرط پایان است پس هیچ وقت متوقف نخواهد شد. در چنین مواقعی توقف اجرای برنامه از کلید هایBreak + Ctrl مورد استفاده قرار می گیرند
حلقه های تکرار تودرتو:
اگر حلقه تکراری داخل حلقه تکرار دیگری قرار بگیرد, اصطلاحا حلقه های تودرتو گفته می شود.به ازای هر بار تکرار حلقه خارجی , حلقه داخلی به طور کامل اجرا میشود.
عملگر کاما , :
نکته:عملگر کاما انعطاف پذیری بیشتری به حلقه ی for می بخشد.با استفاده از این عملگر می توان در قسمت های مقدار اولیه و گام حرکت , دو یا چند عبارت را با هم ترکیب کرد.مثال:
for(i=0 , m+=i ; i<10 ; i++ , m++)
ممنون از شما همچنان به گذاشتن مطالب سازنده یتان در مورد زبان c ادامه دهید من از سورس های شما استفاده بسیار کردم بسیار از شما متشکرم
واقعا قسمت آموزش c خیلی خوب و کاربردی هست سورسها هم که مکمل فوق العاده ای هست. خدا خیرتون بده…
با سپاس فراوان از اموزش خوبتون
میشه لطفا مثال اخری حلقه for که خروجی ۶۴ امد بیرون رو ی بار دیگه توضیح بدین
اخه من متوجه نشدم چطوری ۶۴ میاد بیرون
اگر خوب تریس کنید متوجه این میشید که در واقع ۲ به توان ۶ رسیده ولی چون از ۴ شروع میشه با ۵ بار تکرار به ۶۴ میرسه
با سلام
فکر میکنم مثال
for (i=’A’ ; i<= 'F' ; i+=2)
; printf("i=%c \n",i)
خروجی
A
C
E
میده.
شما خروجی
A
C
D
F
گرفتین
ممنون عالی بود
من تا حلقه ها وتکرار خوندم ولی نمیدونم توتمرین باید چیکار کنم تو مسئله خیلی سخت میشع برام باید چیکار کنم ؟
کسی بلده چجوری برنامه ای بنویسیم که یک عدد صحیح از ورودی دریافت کنه بعد مشخص کنه که عدد،عدد اول هست یا نه؟
متشکر از توضیحتون …
ولی این مثال ها همه یک عبارت مشخصو چاپ میکنن
چطور میشه یک متغیر اول از وردی گرفت و بعد روی اون تغیرات و حلقه انجام داد؟؟؟؟
سلام
به جای حلقه بینهایت for میشه از while استفاده کرد ؟