دور زدن با حلقهها: آموزش کامل حلقه for در برنامهنویسی C مدیر ارشد رایشمند / ﺳﻪشنبه, 03 اسفند,1395 / دستهها: آموزش برنامه نویسی, آموزش زبان برنامه نویسی سی C تو این آموزش قراره با هم به کمک مثالهای مختلف، با حلقه for در برنامهنویسی C آشنا بشیم و ببینیم چطور میتونیم کارهامون رو به صورت تکراری انجام بدیم. به طور کلی، تو برنامهنویسی از حلقهها برای تکرار یک بلوک کد استفاده میشه تا زمانی که شرط خاصی که ما تعیین کردیم، برقرار باشه. توی زبان برنامهنویسی C، سه نوع حلقه اصلی داریم: ۱- حلقه for ۲- حلقه while ۳- حلقه do…while این آموزش مخصوص حلقه for هست و قول میدیم تو آموزشهای بعدی، حلقههای while و do…while رو هم با جزئیات کامل بررسی کنیم. حلقه for ساختار حلقه for خیلی مشخصه: for (مقداردهی اولیه; عبارت شرطی; به روزرسانی) { // دستورات بدنه حلقه } حلقه for چگونه کار می کند؟ اول از همه، دستورات مربوط به «مقداردهی اولیه» فقط یک بار، درست در شروع حلقه، اجرا میشن. بعدش، نوبت به ارزیابی «عبارت شرطی» میرسه. اگه این عبارت نادرست (false) باشه، اجرای حلقه for همینجا تموم میشه. اما اگه «عبارت شرطی» درست (true) باشه، برنامهمون وارد بدنه حلقه میشه و کدهایی که داخلش نوشتیم رو اجرا میکنه. بعد از اجرای بدنه، دستورات «به روزرسانی» (مثلاً افزایش یک متغیر) اجرا میشن و دوباره برمیگردیم سر بررسی «عبارت شرطی». این روند ادامه پیدا میکنه و مدام تکرار میشه تا زمانی که عبارت شرطی حلقه نادرست بشه. به محض اینکه شرط برقرار نباشه، حلقه به کارش پایان میده. اگه دوست دارید درباره عبارتهای شرطی و اینکه چطور درست یا نادرست ارزیابی میشن (مقدار غیر صفر برای درست و صفر برای نادرست) بیشتر بدونید، پیشنهاد میکنم به مقاله عملگرها در برنامهنویسی C، قسمت عملگرهای رابطهای و منطقی مراجعه کنید. فلوچارت حلقه for مثال ۱: حلقه for بیاید با یک مثال ساده شروع کنیم. این برنامه اعداد 1 تا 10 رو برامون چاپ میکنه: // چاپ اعداد 1 تا 10 #include <stdio.h> int main() { int counter; // یک متغیر برای شمارش for (counter = 1; counter < 11; ++counter) { printf("%d ", counter); } printf("\n"); // برای رفتن به خط جدید بعد از چاپ اعداد return 0; } خروجی: 1 2 3 4 5 6 7 8 9 10 حالا ببینیم چطور کار میکنه: ۱- در شروع حلقه، مقدار اولیه متغیر counter برابر با 1 تعیین میشه. ۲- بعدش، عبارت شرطی counter < 11 بررسی میشه. چون 1 کمتر از 11 هست، این شرط درست ارزیابی میشه و بدنه حلقه for اجرا میشه. عدد 1 (مقدار متغیر counter) روی صفحه چاپ میشه. ۳- در ادامه، عبارت به روزرسانی ++counter اجرا میشه. مقدار counter به 2 افزایش پیدا میکنه و دوباره عبارت شرطی درست باقی میمونه، پس بدنه حلقه اجرا میشه. با این کار عدد 2 (مقدار counter) روی صفحه چاپ میشه. ۴- این روند ادامه داره و همینطور اعداد رو چاپ میکنه تا زمانی که مقدار متغیر counter به 11 برسه. ۵- وقتی counter به 11 میرسه، عبارت شرطی counter < 11 نادرست میشه و حلقه for به پایان میرسه. مثال ۲: حلقه for برای محاسبه مجموع اعداد بیاید برنامهای بنویسیم که مجموع اعداد طبیعی تا یک عدد خاص n رو برامون حساب کنه. (یادآوری: اعداد طبیعی همون 1, 2, 3 و... هستند) // برنامه محاسبه مجموع اعداد طبیعی تا n #include <stdio.h> int main() { int limitNumber, currentCount, totalSum = 0; // متغیرها: عدد نهایی، شمارنده، و مجموع printf("یه عدد صحیح مثبت وارد کن: "); scanf("%d", &limitNumber); // حلقه تا زمانی ادامه پیدا میکنه که currentCount از limitNumber بزرگتر بشه for(currentCount = 1; currentCount <= limitNumber; ++currentCount) { totalSum += currentCount; // به مجموع اضافه میشه } printf("مجموع اعداد = %d\n", totalSum); return 0; } خروجی: یه عدد صحیح مثبت وارد کن: 10 مجموع اعداد = 55 حالا ببینیم اینجا چه اتفاقی میفته: مقدار وارد شده توسط کاربر در متغیر limitNumber ذخیره میشه. فرض کنید کاربر عدد 10 رو وارد کرده باشه. در شروع حلقه for، مقدار متغیر currentCount برابر با 1 تعیین میشه. در ادامه، عبارت شرطی بررسی میشه. چون currentCount <= limitNumber (که 1 کوچکتر از 10 هست) درست ارزیابی میشه، بدنه حلقه اجرا میشه و در این مرحله، مقدار متغیر totalSum برابر با 1 میشه. (یادتون باشه که متغیر totalSum وظیفه نگهداری مجموع اعداد رو داره.) سپس، دستور به روزرسانی ++currentCount اجرا میشه و مقدار متغیر currentCount به 2 افزایش پیدا میکنه. دوباره عبارت شرطی بررسی میشه و چون 2 هم هنوز کمتر از 10 هست، باز هم بدنه حلقه اجرا میشه. تو این تکرار، مقدار totalSum برابر با 3 خواهد بود (1 + 2 = 3). این روند همینطور ادامه پیدا میکنه و مجموع اعداد محاسبه میشه تا زمانی که مقدار متغیر currentCount به 11 برسه. وقتی currentCount به 11 میرسه، عبارت شرطی نادرست میشه و مقدار 0 رو برمیگردونه، در نهایت حلقه به پایان میرسه. در پایان برنامه و بعد از اتمام حلقه، مقدار نهایی مجموع که در متغیر totalSum ذخیره شده، روی صفحه چاپ میشه. در آموزشهای بعدی، با حلقههای while و do…while هم آشنا خواهید شد. امیدواریم این آموزش براتون مفید بوده باشه! این مقاله توسط سایت علمی رایشمند برای شما آماده شده است. دستورات شرطی if و if…else در برنامهنویسی C: راهنمای کامل با مثال حلقههای while و do…while در برنامهنویسی C: دور زدن هوشمندانه کد! پرینت 48 رتبه بندی این مطلب: بدون رتبه کلمات کلیدی: آموزش زبان برنامه نویسی سی مدیر ارشد رایشمندمدیر ارشد رایشمند سایر نوشته ها توسط مدیر ارشد رایشمند تماس با نویسنده مطالب مرتبط کلاسهای حافظه در C — چهار سبک نگهداری متغیرها با مثالهای واضح توابع بازگشتی در C — چطور تابع خودش را صدا میزند؟ چهار روش تعریف تابع در C برای بررسی عدد اول — با مثالهای مرحلهبهمرحله توابع تعریفشده توسط کاربر در زبان C به همراه آموزش و مثال تابع در برنامهنویسی C آموزش کامل به همراه مثال نوشتن یک نظر نام: لطفا نام خود را وارد نمایید. ایمیل: لطفا یک آدرس ایمیل وارد نمایید لطفا یک آدرس ایمیل معتبر وارد نمایید نظر: لطفا یک نظر وارد نمایید موافقم این فرم نام، ایمیل، آدرس IP و محتوای شما را جمعآوری میکند تا بتوانیم نظرات درج شده در وبسایت را پیگیری کنیم. برای اطلاعات بیشتر خطمشی رازداری و شرایط استفاده< /a> که در آن اطلاعات بیشتری در مورد مکان، چگونگی و چرایی ذخیره داده های شما دریافت خواهید کرد. شما باید این قوانین را بخوانید و قبول کنید. افزودن نظر
تو این آموزش قراره با هم به کمک مثالهای مختلف، با حلقه for در برنامهنویسی C آشنا بشیم و ببینیم چطور میتونیم کارهامون رو به صورت تکراری انجام بدیم. به طور کلی، تو برنامهنویسی از حلقهها برای تکرار یک بلوک کد استفاده میشه تا زمانی که شرط خاصی که ما تعیین کردیم، برقرار باشه. توی زبان برنامهنویسی C، سه نوع حلقه اصلی داریم: ۱- حلقه for ۲- حلقه while ۳- حلقه do…while این آموزش مخصوص حلقه for هست و قول میدیم تو آموزشهای بعدی، حلقههای while و do…while رو هم با جزئیات کامل بررسی کنیم. حلقه for ساختار حلقه for خیلی مشخصه: for (مقداردهی اولیه; عبارت شرطی; به روزرسانی) { // دستورات بدنه حلقه } حلقه for چگونه کار می کند؟ اول از همه، دستورات مربوط به «مقداردهی اولیه» فقط یک بار، درست در شروع حلقه، اجرا میشن. بعدش، نوبت به ارزیابی «عبارت شرطی» میرسه. اگه این عبارت نادرست (false) باشه، اجرای حلقه for همینجا تموم میشه. اما اگه «عبارت شرطی» درست (true) باشه، برنامهمون وارد بدنه حلقه میشه و کدهایی که داخلش نوشتیم رو اجرا میکنه. بعد از اجرای بدنه، دستورات «به روزرسانی» (مثلاً افزایش یک متغیر) اجرا میشن و دوباره برمیگردیم سر بررسی «عبارت شرطی». این روند ادامه پیدا میکنه و مدام تکرار میشه تا زمانی که عبارت شرطی حلقه نادرست بشه. به محض اینکه شرط برقرار نباشه، حلقه به کارش پایان میده. اگه دوست دارید درباره عبارتهای شرطی و اینکه چطور درست یا نادرست ارزیابی میشن (مقدار غیر صفر برای درست و صفر برای نادرست) بیشتر بدونید، پیشنهاد میکنم به مقاله عملگرها در برنامهنویسی C، قسمت عملگرهای رابطهای و منطقی مراجعه کنید. فلوچارت حلقه for مثال ۱: حلقه for بیاید با یک مثال ساده شروع کنیم. این برنامه اعداد 1 تا 10 رو برامون چاپ میکنه: // چاپ اعداد 1 تا 10 #include <stdio.h> int main() { int counter; // یک متغیر برای شمارش for (counter = 1; counter < 11; ++counter) { printf("%d ", counter); } printf("\n"); // برای رفتن به خط جدید بعد از چاپ اعداد return 0; } خروجی: 1 2 3 4 5 6 7 8 9 10 حالا ببینیم چطور کار میکنه: ۱- در شروع حلقه، مقدار اولیه متغیر counter برابر با 1 تعیین میشه. ۲- بعدش، عبارت شرطی counter < 11 بررسی میشه. چون 1 کمتر از 11 هست، این شرط درست ارزیابی میشه و بدنه حلقه for اجرا میشه. عدد 1 (مقدار متغیر counter) روی صفحه چاپ میشه. ۳- در ادامه، عبارت به روزرسانی ++counter اجرا میشه. مقدار counter به 2 افزایش پیدا میکنه و دوباره عبارت شرطی درست باقی میمونه، پس بدنه حلقه اجرا میشه. با این کار عدد 2 (مقدار counter) روی صفحه چاپ میشه. ۴- این روند ادامه داره و همینطور اعداد رو چاپ میکنه تا زمانی که مقدار متغیر counter به 11 برسه. ۵- وقتی counter به 11 میرسه، عبارت شرطی counter < 11 نادرست میشه و حلقه for به پایان میرسه. مثال ۲: حلقه for برای محاسبه مجموع اعداد بیاید برنامهای بنویسیم که مجموع اعداد طبیعی تا یک عدد خاص n رو برامون حساب کنه. (یادآوری: اعداد طبیعی همون 1, 2, 3 و... هستند) // برنامه محاسبه مجموع اعداد طبیعی تا n #include <stdio.h> int main() { int limitNumber, currentCount, totalSum = 0; // متغیرها: عدد نهایی، شمارنده، و مجموع printf("یه عدد صحیح مثبت وارد کن: "); scanf("%d", &limitNumber); // حلقه تا زمانی ادامه پیدا میکنه که currentCount از limitNumber بزرگتر بشه for(currentCount = 1; currentCount <= limitNumber; ++currentCount) { totalSum += currentCount; // به مجموع اضافه میشه } printf("مجموع اعداد = %d\n", totalSum); return 0; } خروجی: یه عدد صحیح مثبت وارد کن: 10 مجموع اعداد = 55 حالا ببینیم اینجا چه اتفاقی میفته: مقدار وارد شده توسط کاربر در متغیر limitNumber ذخیره میشه. فرض کنید کاربر عدد 10 رو وارد کرده باشه. در شروع حلقه for، مقدار متغیر currentCount برابر با 1 تعیین میشه. در ادامه، عبارت شرطی بررسی میشه. چون currentCount <= limitNumber (که 1 کوچکتر از 10 هست) درست ارزیابی میشه، بدنه حلقه اجرا میشه و در این مرحله، مقدار متغیر totalSum برابر با 1 میشه. (یادتون باشه که متغیر totalSum وظیفه نگهداری مجموع اعداد رو داره.) سپس، دستور به روزرسانی ++currentCount اجرا میشه و مقدار متغیر currentCount به 2 افزایش پیدا میکنه. دوباره عبارت شرطی بررسی میشه و چون 2 هم هنوز کمتر از 10 هست، باز هم بدنه حلقه اجرا میشه. تو این تکرار، مقدار totalSum برابر با 3 خواهد بود (1 + 2 = 3). این روند همینطور ادامه پیدا میکنه و مجموع اعداد محاسبه میشه تا زمانی که مقدار متغیر currentCount به 11 برسه. وقتی currentCount به 11 میرسه، عبارت شرطی نادرست میشه و مقدار 0 رو برمیگردونه، در نهایت حلقه به پایان میرسه. در پایان برنامه و بعد از اتمام حلقه، مقدار نهایی مجموع که در متغیر totalSum ذخیره شده، روی صفحه چاپ میشه. در آموزشهای بعدی، با حلقههای while و do…while هم آشنا خواهید شد. امیدواریم این آموزش براتون مفید بوده باشه! این مقاله توسط سایت علمی رایشمند برای شما آماده شده است.